Hi Shriram, We faced a similar issue on PCI2/MPC8541 with linux 2.6.13. This version (and probably older ones) have a bug related to PCI2 ressource allocation inside the kernel (in particular due to wrong 'mpc85xx_pci1_last_busno' variable initialisation). Upgrading to the last stable kernel release (2.6.19 for sure) may help.
-- Sylvain. > -----Original Message----- > From: > [EMAIL PROTECTED] g [mailto:linuxppc-embedded-> [EMAIL PROTECTED] On Behalf Of > Shriram Janardhan > Sent: mercredi 7 février 2007 20:23 > To: linuxppc-embedded@ozlabs.org > Subject: PCI2 issue on MPC8541 > > Hello everybody, > > I'm having an issue w.r.t PCI2 on MPC8541 and would > appreciate if anybody could share their thoughts on what > could be wrong. > > We're running the 2.6.11 version of the linux kernel on > MPC8541 and having trouble getting the cardmgr to initialize > a compact flash connected to PCI2 through a TI1510 bridge. > > We have two CFs connected through two TI1510 bridges to the > two PCI controllers. When cardmgr is invoked to intialize > the two sockets, the PCI1/ide0 initialization goes on fine > but the PCI2/ide-cs initialization fails. > > The bridges are on slot 11 of the respective controllers and > the interrupts from the two bridges are multiplexed onto the > same external interrupt pin(EXT2) of the 8541. > > For the second CF, we are able to read the CIS and correctly > identify the CF, but the cardmgr fails while trying to > execute the IOCTL DS_GET_DEVICE_INFO. > > ------------------------------------------------------------ > (none)# > (none)# lspci -vv > 00:00.0 Class 0b20: 1057:000c (rev 11) > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- > VGASnoop- ParErr- Step > ping- SERR+ FastB2B- > Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast > >TAbort- <TAbort- > <MAbort+ >SERR- <PERR- > Latency: 128 > Interrupt: pin A routed to IRQ 0 > Region 0: Memory at 9ff00000 (32-bit, > non-prefetchable) [size=1M] > Region 1: Memory at <unassigned> (32-bit, > prefetchable) [size=80000000] > Region 2: Memory at <unassigned> (64-bit, non-prefetchable) > Region 4: Memory at <unassigned> (64-bit, non-prefetchable) > > 00:0b.0 Class 0607: 104c:ac56 > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- > VGASnoop- ParErr- Step > ping- SERR- FastB2B- > Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- > DEVSEL=medium >TAbort- <TAbort > - <MAbort- >SERR- <PERR- > Latency: 168, cache line size 08 > Interrupt: pin A routed to IRQ 98 > Region 0: Memory at 80000000 (32-bit, > non-prefetchable) [size=4K] > Bus: primary=00, secondary=01, subordinate=04, sec-latency=176 > Memory window 0: 80400000-807ff000 (prefetchable) > Memory window 1: 80800000-80bff000 > I/O window 0: 00001000-000010ff > I/O window 1: 00001400-000014ff > BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ > 16bInt+ PostWrite+ > 16-bit legacy interface ports at 0001 > > 02:00.0 Class 0b20: 1057:000c (rev 11) > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- > VGASnoop- ParErr- Step > ping- SERR+ FastB2B- > Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast > >TAbort- <TAbort- > <MAbort+ >SERR- <PERR- > Latency: 128 > Interrupt: pin A routed to IRQ 0 > Region 0: Memory at bff00000 (32-bit, > non-prefetchable) [size=1M] > Region 1: Memory at <unassigned> (32-bit, > prefetchable) [size=80000000] > Region 2: Memory at <unassigned> (64-bit, non-prefetchable) > Region 4: Memory at <unassigned> (64-bit, non-prefetchable) > > 02:0b.0 Class 0607: 104c:ac56 > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- > VGASnoop- ParErr- Step > ping- SERR- FastB2B- > Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- > DEVSEL=medium >TAbort- <TAbort > - <MAbort- >SERR- <PERR- > Latency: 168, cache line size 08 > Interrupt: pin A routed to IRQ 98 > Region 0: Memory at a0000000 (32-bit, > non-prefetchable) [size=4K] > Bus: primary=02, secondary=03, subordinate=06, sec-latency=176 > Memory window 0: a0400000-a07ff000 (prefetchable) > Memory window 1: a0800000-a0bff000 > I/O window 0: 00000000-000000ff > I/O window 1: 00000400-000004ff > BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ > 16bInt+ PostWrite+ > 16-bit legacy interface ports at 0001 > > (none)# > -------------------------------------------------------------------- > (none)# cardmgr -v -o > cardmgr[865]: watching 2 sockets > cardmgr[865]: starting, version is 3.2.8 > cardmgr[865]: initializing socket 0 > cardmgr[86Probing IDE interface ide0... > 5]: socket 0: ATA/IDE Fixed Disk > cardmgr[865]: product info: "Wintec Industries", "CF 256MB" > cardmgr[865]: function: 4 (fixed disk) > hda: CF 256MB, CFA DISK drive > ide0 at 0x000-0x007,0x00e on irq 98 > hda: max request size: 128KiB > hda: 513536 sectors (262 MB) w/0KiB Cache, CHS=1003/16/32 > hda: cache flushes not supported > hda: hda1 > ide-cs: hda: Vcc = 3.3, Vpp = 0.0 > cardmgr[865]: executing: './ide start hda' > cardmgr[865]: + mknod /dev/hda b 3 0 > cardmgr[865]: + mknod /dev/hda1 b 3 1 > cardmgr[865]: + mknocs: memory probe 0x80000000-0x9fffffff:d > /dev/hda2 b 3 excl > uding2 > cardmgr[865] 0x80000000-0x9fffffff: + mknod /dev/h > da3 b 3 3 > cardcs: memory probe 0xa0000000-0xbfffffff:mgr[865]: + mkno > excludingd /dev/hda4 > b 3 0xa0000000-0xa1ffffff4 > cardmgr[865] 0xbe000000-0xbfffffff: + mknod /dev/h > da5 b 3 5 > card1.0: mgr[865]: + mknoGetNextTuple: No more items > d /dev/hda6 b 3 6 > cardmgr[865]: + mknod /dev/hda7 b 3 7 > cardmgr[865]: + mknod /dev/hda8 b 3 8 > cardmgr[865]: + mknod /dev/hda9 b 3 9 > cardmgr[865]: + mknod /dev/hda10 b 3 10 > cardmgr[865]: + mknod /dev/hda11 b 3 11 > cardmgr[865]: + mknod /dev/hda12 b 3 12 > cardmgr[865]: + mknod /dev/hda13 b 3 13 > cardmgr[865]: + mknod /dev/hda14 b 3 14 > cardmgr[865]: + mknod /dev/hda15 b 3 15 > cardmgr[865]: + mknod /dev/hda16 b 3 16 > cardmgr[865]: initializing socket 1 > cardmgr[865]: socket 1: ATA/IDE Fixed Disk > cardmgr[865]: product info: "SILICONSYSTEMS", "VER2.00" > cardmgr[865]: function: 4 (fixed disk) > cardmgr[865]: get dev info on socket 1 failed: No such device > cardmgr[865]: exiting > (none)# > -------------------------------------------------------------- > ------------------------- > (none)# cat /proc/ioports > 00000000-00ffffff : PCI1 host bridge > 00000000-0000000f : pcmcia_socket0 > 00000000-00000007 : ide0 > 0000000e-0000000e : ide0 > 00001000-000010ff : PCI CardBus #01 > 00001400-000014ff : PCI CardBus #01 > 01000000-01ffffff : PCI2 host bridge > 01000000-010000ff : PCI CardBus #03 > 01000400-010004ff : PCI CardBus #03 > -------------------------------------------------------------- > ---------------------------- > (none)# cat /etc/pcmcia/config.opts > # Local PCMCIA Configuration File > # > # System resources available for PCMCIA cards > # > include port 0x1000-0x1fff > include port 0x0000-0x0fff > include memory 0x80000000-0x9fffffff > include memory 0xa0000000-0xbfffffff > (none)# > -------------------------------------------------------------- > ------------------------- > > We use the following definitions - same as that of MPC8555CDS. > /* PCI 1 memory map */ > #define MPC85XX_PCI1_LOWER_IO 0x00000000 > #define MPC85XX_PCI1_UPPER_IO 0x00ffffff > #define MPC85XX_PCI1_LOWER_MEM 0x80000000 > #define MPC85XX_PCI1_UPPER_MEM 0x9fffffff > #define MPC85XX_PCI1_IO_BASE 0xe2000000 > #define MPC85XX_PCI1_MEM_OFFSET 0x00000000 > #define MPC85XX_PCI1_IO_SIZE 0x01000000 > /* PCI 2 memory map */ > /* Note: the standard PPC fixups will cause IO space to get bumped by > * hose->io_base_virt - isa_io_base => MPC85XX_PCI1_IO_SIZE */ > #define MPC85XX_PCI2_LOWER_IO 0x00000000 > #define MPC85XX_PCI2_UPPER_IO 0x00ffffff > #define MPC85XX_PCI2_LOWER_MEM 0xa0000000 > #define MPC85XX_PCI2_UPPER_MEM 0xbfffffff > #define MPC85XX_PCI2_IO_BASE 0xe3000000 > #define MPC85XX_PCI2_MEM_OFFSET 0x00000000 > #define MPC85XX_PCI2_IO_SIZE 0x01000000 > -------------------------------------------------------------- > ---------- > > I am wondering if it is a PCMCIA addressing issue. I am not > sure how to setup pcmcia/config.opts. > > Any thoughts?? > > Thanks, > Shriram. > > ________________________________ > > We won't tell. Get more on shows you hate to love > <http://us.rd.yahoo.com/evt=49980/*http://tv.yahoo.com/collect ions/265> > (and love to hate): Yahoo! TV's Guilty Pleasures list. > <http://us.rd.yahoo.com/evt=49980/*http://tv.yahoo.com/collect ions/265> > _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded