MPC8360 : PCI resource allocate error
Russell McGuire
rmcguire at videopresence.com
Sat Feb 3 03:01:10 EST 2007
Here is the current .dts mapping, though I am beginning to suspect the
hardware or a possible U-boot bug on this.
U-boot can't see the PCI USB card in SLOT 3, but it can see the all of the
other various PCI cards I have <ATI video card, sound card, ATA card,
network card>
All the cards that are seen by U-boot have the IO resource problem. Only
when in Slot 3.
I probably need to direct this at the U-boot crowd, but what about these
defines in U-boot? Would they have any bearing? I forgot to publish these
when I originally had asked the question bout PCI IO space, but they are the
only ALL zero's in the mapping.
-------------STUFF I FORGET TO PUBLISH -------
#define CFG_PCI_SLV_MEM_LOCAL CFG_SDRAM_BASE //= 0x0000_0000
#define CFG_PCI_SLV_MEM_BUS 0x00000000
#define CFG_PCI_SLV_MEM_SIZE 0x80000000 //Should this be 2GB????
----------------------------------------------
-------------------- OTHER U-BOOT DEFINES --------
#define CFG_PCI_MEM_BASE 0x80000000
#define CFG_PCI_MEM_PHYS CFG_PCI_MEM_BASE
#define CFG_PCI_MEM_SIZE 0x10000000 /* 256M */
#define CFG_PCI_MMIO_BASE 0x90000000
#define CFG_PCI_MMIO_PHYS CFG_PCI_MMIO_BASE
#define CFG_PCI_MMIO_SIZE 0x10000000 /* 256M */
#define CFG_PCI_IO_BASE 0xF0300000
#define CFG_PCI_IO_PHYS 0xF0300000
#define CFG_PCI_IO_SIZE 0x00100000 /* 1M */
--------------------------------------------------
Here is the dts section
---------------------
pci at 8500 {
linux,phandle = <8500>;
interrupt-map-mask = <3f800 0 0 7>;
interrupt-map = <
/* IDSEL 0x19 AD25 */
c800 0 0 1 700 14 8
c800 0 0 2 700 15 8
c800 0 0 3 700 16 8
c800 0 0 4 700 17 8
/* IDSEL 0x1B AD27 */
15800 0 0 1 700 14 8
15800 0 0 2 700 15 8
15800 0 0 3 700 16 8
15800 0 0 4 700 17 8
/* IDSEL 0x1E AD30*/
17000 0 0 1 700 14 8
17000 0 0 2 700 15 8
17000 0 0 3 700 16 8
17000 0 0 4 700 17 8
/* IDSEL 0x1B AD27 */
25800 0 0 1 700 14 8
25800 0 0 2 700 15 8
25800 0 0 3 700 16 8
25800 0 0 4 700 17 8
>;
interrupt-parent = <700>;
interrupts = <42 8>;
bus-range = <0 0>;
ranges = <42000000 0 80000000 80000000 0 10000000
02000000 0 90000000 90000000 0 10000000
01000000 0 f0300000 f0300000 0 00100000>;
clock-frequency = <3f940aa>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <8500 100>;
compatible = "83xx";
device_type = "pci";
};
-------------- END DTS --------------
-----Original Message-----
From: Kumar Gala [mailto:galak at kernel.crashing.org]
Sent: Friday, February 02, 2007 7:28 AM
To: rmcguire at videopresence.com
Cc: linuxppc-embedded at ozlabs.org
Subject: Re: MPC8360 : PCI resource allocate error
On Feb 2, 2007, at 9:04 AM, Russell McGuire wrote:
> While trying out various of my PCI slots, I ran into this
> interesting error.
>
>
>
> If I try to put a sounc card, Audigy SE, into SLOT 1 and 2 this
> error doesn't occur.
>
> But when I place it in the 3rd. I get this: <Note the 02:0b is
> SLOT 3>
>
>
>
> <Linux 2.6.20-rc6 compiled for PowerPC / MPC83xx>
>
>
>
> --------------------------------------
>
> PCI: Probing PCI hardware
>
> Try to map irq for 0000:00:19.0...
>
> pci_busdev_to_OF_node(0,0xc8)
>
> parent is /soc8360 at f0000000/pci at 8500
>
> result is <NULL>
>
> Try to map irq for 0000:00:19.1...
>
> pci_busdev_to_OF_node(0,0xc9)
>
> parent is /soc8360 at f0000000/pci at 8500
>
> result is <NULL>
>
> Try to map irq for 0000:02:0b.0...
>
> pci_busdev_to_OF_node(2,0x58)
>
> pci_busdev_to_OF_node(0,0xc9)
>
> parent is /soc8360 at f0000000/pci at 8500
>
> result is <NULL>
>
> -> got one, spec 2 cells (0x00000017...) on /soc8360 at f0000000/pic at 700
>
> PCI: bridge rsrc 0..ffffffff (100), parent c038d184
>
> PCI: bridge rsrc 80000000..8fffffff (1200), parent c038d168
>
> PCI: bridge rsrc 90000000..9fffffff (200), parent c038d168
>
> PCI: bridge rsrc f0302000..f0302fff (101), parent c03da03c
>
> PCI:0000:02:0b.0: Resource 0: 0000000000302000-000000000030201f
> (f=101)
>
> PCI: Cannot allocate resource region 0 of device 0000:02:0b.0
>
> PCI: Error while updating region 0000:02:0b.0/0 (f0302001 != 00302001)
>
> ------------------------------
>
>
>
> What can cause this to not work?
The problem is with the IO resource, for some reason the code things
your PCI IO space is at f03... instead of 000...
Is Slot 3 behind the P2P bridge or directly connected to the 83xx?
Also, what's your .dts look like now.
- k
More information about the Linuxppc-embedded
mailing list