Thread (9 messages) 9 messages, 5 authors, 2012-12-10

Re: Sharing PCIE driver between Microblaze and Arm zynq

From: Michal Simek <monstr@monstr.eu>
Date: 2012-12-10 07:34:20
Also in: linux-arch, linux-arm-kernel, linux-pci, lkml

2012/12/7 Grant Likely [off-list ref]:
On Fri, 07 Dec 2012 10:45:01 +0100, Michal Simek [off-list ref] wrote:
quoted
On 12/06/2012 10:27 PM, Bjorn Helgaas wrote:
quoted
[+cc linux-pci]

On Thu, Dec 6, 2012 at 7:23 AM, Michal Simek [off-list ref] wrote:
quoted
Hi guys,

I have a question regarding to sharing generic OF pcie driver between
two architectures MB and ARM Zynq.
Is drivers/pci/pcie location good for it?
Make no sense to have the same driver in two locations.
I think you're talking about a PCI host bridge driver.  It would
definitely be nice to move toward a generic, shared driver.  Host
bridge drivers are responsible for enumerating the PCI hierarchy below
the bridge.  Enumeration is not really PCIe-specific, so I wouldn't
put it in drivers/pci/pcie.
Not a PCI expert, just trying to find out the proper location for this shared driver.

quoted
quoted
Is using readl/writel IO functions in this driver the best option
which we can have?
Or is there any other recommendation?
I'm not really a driver person, but if you're writing a new driver,
wouldn't you use the iomap interfaces (ioremap(), ioread32(), etc)
rather than readl()?
That driver exists but it is not in mainline and it is better to directly
add it to proper location with correct io functions.
The question is if ioread/iowrite functions are correct one.
PowerPC io-defs.h suggests that readl/writel should be used for PCI.

quoted
quoted
Also just want to check if it is correct to use pcie device_type.
I don't know what you're asking here.  Can you elaborate or give a
specific example?
If node property device_type pcie should be used.
device_type = "pcie";

For pci it is device_type = "pci";
For network it is device_type = "network"
the same for serial, watchdogs.

Do we have any list of device_types which we should use?
Don't use them unless a binding requires it. PCI address lookup code
uses it, so we put it in those nodes. Otherwise device_type is
deprecated and has been for a long time now. You should not be using it
in .dts files.

Thanks,
Michal


-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help