[U-Boot] PCI on mpc832x?

Kumar Gala galak at kernel.crashing.org
Wed Apr 29 14:35:19 CEST 2009


> I think I got the mapping of memory space now, thanks.
>
> A few questions though. I have noted that some boards map the PCI IO  
> space
> to 0x0 and some use the same address space as the CPU. If I use
> the CPU address space as PCI IO space I get(in linux):
>  PCI 0000:00 Cannot reserve Legacy IO [0x00-0xfff]
> I don't understand what is best to do here, stay on 0x0 or move to CPU
> address space?

PCI IO should normally be at 0 in the "PCI address space" and can be  
at any CPU physical address.

> with  CONFIG_PCI_QUIRKS=y Linux prints:
> PCI: Bus scan for 0000:00 returning with max=00
> pci_bus 0000:00: resource 0 io:  [0x00-0xfffff]
> pci_bus 0000:00: resource 1 mem: [0x80000000-0x8fffffff]
> pci_bus 0000:00: resource 2 mem: [0x90000000-0x9fffffff]
>
> But if I turn off CONFIG_PCI_QUIRKS I get:
> PCI: Bus scan for 0000:00 returning with max=00
> PCI: Cannot allocate resource region 0 of device 0000:00:00.0, will  
> remap
> PCI: Cannot allocate resource region 2 of device 0000:00:00.0, will  
> remap
> pci 0000:00:00.0: BAR 2: got res [0x80000000-0x87ffffff] bus
> [0x80000000-0x87ffffff] flags 0x2002120c
> pci 0000:00:00.0: BAR 2: moved to bus [0x80000000-0x87ffffff] flags
> 0x2120c
> pci 0000:00:00.0: BAR 0: got res [0x90000000-0x901fffff] bus
> [0x90000000-0x901fffff] flags 0x20020200
> pci 0000:00:00.0: BAR 0: moved to bus [0x90000000-0x901fffff] flags
> 0x20200
> pci_bus 0000:00: resource 0 io:  [0x00-0xfffff]
> pci_bus 0000:00: resource 1 mem: [0x80000000-0x8fffffff]
> pci_bus 0000:00: resource 2 mem: [0x90000000-0x9fffffff]
>
> The BAR ... printout feels a bit off. Why do I need quirks on for
> a clean boot?

Quirks are required for FSL based PCI controllers.  I know I've got a  
change in current kernels to do:

config FSL_PCI
         bool
         select PPC_INDIRECT_PCI
         select PCI_QUIRKS

- k


More information about the U-Boot mailing list