Subject: Re: [PATCH] powerpc/85xx: do not force PHYS_64BIT on the P1022DS

From: Timur Tabi <[email-masked]>
Date: Mon, 28 Nov 2011 11:41:36 -0600

Kumar Gala wrote:

> If you want me to apply this please also provided a 32-bit .dts for
> p1022ds.  This should be pretty trivial based on my recent .dts
> cleanups.

I think I found another bug in the 36-bit DTS.  Looking at U-Boot, I see this:

#ifdef CONFIG_PHYS_64BIT
#define CONFIG_SYS_PCIE2_MEM_BUS	0xe0000000
#define CONFIG_SYS_PCIE2_MEM_PHYS	0xc20000000ull
#else
#define CONFIG_SYS_PCIE2_MEM_BUS	0xa0000000
#define CONFIG_SYS_PCIE2_MEM_PHYS	0xa0000000
#endif

But the 36-bit DTS has this:

pci0: pcie@ffe09000 {
	reg = <0x0 0xffe09000 0 0x1000>;
	ranges = <0x2000000 0x0 0xa0000000 0xc 0x20000000 0x0 0x20000000
		  0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000>;

I don't think these match.  I think the first 'ranges' line should have 0xe0000000 instead of 0xa0000000.

I see the same problem with the other two PCI busses.  It looks like the physical address is correct, but the BUS address is wrong (it's using the 32-bit bus address instead of the 36-bit bus address).

-- 
Timur Tabi
Linux kernel developer at Freescale