[PATCHv2 08/10] arm: kirkwood: convert QNAP TS219 to use DT for the PCIe interface

Andrew Lunn andrew at lunn.ch
Sat Apr 13 05:26:29 EDT 2013


On Thu, Apr 11, 2013 at 10:51:58AM -0600, Jason Gunthorpe wrote:
> On Thu, Apr 11, 2013 at 07:24:32AM +0200, Andrew Lunn wrote:
>  
> > I've hacked around with PCI driver on my QNAP TS119P+, which does not
> > have any PCI devices, and never had any problems with the driver
> > enabled and finding two empty PCI busses. PCI does not share any pins
> > with anything else. So i think it is safe to just enable it for all
> > devices.
> 
> In the general case, this is probably only safe if the board has
> configured the PEX to have the PHY clock. Marvell has guidelines for
> unused PEX's that would result in the PHY clock being permanently
> inactive.
> 
> Register 10030 tells what the strap for the PHY clock is. I expect in
> many cases the PEX driver should not be loaded if the PHY clock is not
> internally derived. Maybe checking this register will tell your QNAPs
> apart?
 
Hi Jason

I did a bit of experimentation and reading of documents.

My QNAP, which has nothing on the PCI bus, has bit 14 of register
10030, the Sample At Reset, set. This indicates it should derive the
PCIe clock from the internal clock.

I also played with Topkick. It also has bit 14 set, and is quite happy
having the PCI driver loaded, even though there is nothing on the bus,
and USI website makes no reference to PCIe, so i don't think there is
an hardware support for PCIe devices.

The hardware manual says that this strapping pin has an internal
pullup, so it will default to one, internal clock.

So, to have a problem, it would mean the hardware designed has
deliberately pulled the strapping pin low to indicate external clock,
and not actually applied an external clock. Is this likely? Given my
QNAP board is not designed to have active PCIe, i kind of expect if
QNAP where to do such a thing, it would be so on my board....

So i'm tempted to go with Thomas's patch, once fixed, so enabling
loading of the PCI driver for all QNAP devices. If we get reports of
issues, we can then look at the specific hardware and decide what to
do.

	Andrew



More information about the linux-arm-kernel mailing list