This issue turned out to be a PCB design problem. Thank you for your assistance.
David Clark Senior Software Engineer C&H Technologies, Inc Web: http:\\www.chtech.com Phone: 512-733-2621 Fax: 512-733-2629 Email: [EMAIL PROTECTED] -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Clark Sent: Thursday, February 15, 2007 10:04 AM To: [email protected] Subject: 16-bit PCMCIA resource allocation I am having difficulty getting 16-bit PCMCIA cards to work on a custom MPC8245-based board. I am running kernel 2.6.14.2 with pcmciautils-014. I have successfully run the network off a 32-bit PCMCIA network card so I am certain that the interface to the PCMCIA socket is functional. I'm thinking it is just a resource allocation issue but I am having difficulty understanding how it is supposed to work. When I insert the card or call "pccardctl insert" I receive the error "cs: unable to map card memory." >From following the source I can tell that the error occurs when the kernel is trying read the cards CIS and it fails to allocate/map memory to do so. Do I need to tell the kernel to reserve a block of memory for 16-bit PCMCIA cards? I assume this would be from the PCI busses address space. Is this done using the "/etc/pcmcia/config.opts" file? I was under the impression that I didn't need this file for a Yenta socket in a PPC environment. Could is be the way my PCIbus is setup? ... Any hints are greatly appreciated. David Clark Below are a few relevant outputs. ******** pccardctl status ******** Socket 0: 5.0V 16-bit PC Card ******** dmesg ******** dmesg oop registered io scheduler deadline registered RAMDISK driver initialized: 4 RAM disks of 32768K size 1024 blocksize QS6612: Registered new driver Linux Tulip driver version 1.1.13 (May 11, 2002) tulip0: EEPROM default media type Autosense. tulip0: Index #0 - Media 100baseTx (#3) described by a 21143 SYM PHY (4) block. tulip0: Index #1 - Media 100baseTx-FDX (#5) described by a 21143 SYM PHY (4) bl ock. tulip0: Index #2 - Media 10baseT (#0) described by a 21142 Serial PHY (2) block .. tulip0: Index #3 - Media 10baseT-FDX (#4) described by a 21142 Serial PHY (2) b lock. eth0: Digital DS21143 Tulip rev 65 at c9002c00, 00:40:42:07:00:04, IRQ 16. Yenta: CardBus bridge found at 0000:00:14.0 [0000:0000] PCI: Bus 2, cardbus bridge: 0000:00:14.0 IO window: 00000000-000001ff IO window: 00000400-000005ff PREFETCH window: bf8ff000-bfcfefff MEM window: 80000000-803fffff Yenta: Enabling burst memory read transactions Yenta: Using CSCINT to route CSC interrupts to PCI Yenta: Routing CardBus interrupts to PCI Yenta TI: socket 0000:00:14.0, mfunc 0x00101000, devctl 0x66 Yenta TI: socket 0000:00:14.0 probing PCI interrupt failed, trying to fix Yenta TI: socket 0000:00:14.0 falling back to parallel PCI interrupts Yenta TI: socket 0000:00:14.0 parallel PCI interrupts ok Yenta: ISA IRQ mask 0x0000, PCI irq 19 Socket status: 30000410 pcmcia: parent PCI bridge I/O window: 0xfe000000 - 0xfebfffff pcmcia: parent PCI bridge Memory window: 0x80000000 - 0xfcffffff mice: PS/2 mouse device common for all mice NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 3, 32768 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 17 cs: memory probe 0x80000000-0xfcffffff:IP-Config: Complete: device=eth0, addr=192.168.1.228, mask=255.255.255.0, gw=255.255.255.255, host=vx411c, domain=, nis-domain=(none), bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath= RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem). Freeing unused kernel memory: 100k init - nothing to change... - nothing to change... excluding 0x80000000-0xfcffffff cs: unable to map card memory! cs: unable to map card memory! - nothing to change... - data bits = 8 - parity = none - stop bits = 1 - RTS/CTS is disabled - baud rate = 57600<5>***CH DEBUG: s->callback->event() = 0xc0121b54 cs: unable to map card memory! cs: unable to map card memory! ******** lspci -vvv ******** ~ # lspci -vvv 00:00.0 Host bridge: Motorola MPC8245 [Unity] (rev 14) 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: 64, Cache Line Size 08 Interrupt: pin A routed to IRQ 0 Region 0: Memory at <unassigned> (32-bit, prefetchable) Region 2: Memory at <unassigned> (32-bit, prefetchable) 00:10.0 I2O: Anchor Chips Inc. AN3042Q CO-MEM Lite (rev 02) (prog-if 01) 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: 128, Cache Line Size 08 Interrupt: pin ? routed to IRQ 20 Region 0: Memory at 00000000bfff8000 (32-bit, non-prefetchable) [size=32 K] Region 1: I/O ports at bffff8 [size=8] 00:12.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41) Subsystem: Unknown device 0400:0001 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: 128 (5000ns min, 10000ns max), Cache Line Size 08 Interrupt: pin A routed to IRQ 16 Region 0: I/O ports at bfff00 [size=128] Region 1: Memory at 00000000bfff7c00 (32-bit, non-prefetchable) [size=1K ] Expansion ROM at 00000000dfbc0000 [disabled] [size=256K] 00:13.0 PCI bridge: Texas Instruments PCI2250 PCI-to-PCI Bridge (rev 02) (prog-i f 00 [Normal decode]) 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: 128, Cache Line Size 08 Bus: primary=00, secondary=01, subordinate=01, sec-latency=128 I/O behind bridge: 00bfe000-00bfefff Memory behind bridge: bfe00000-bfefffff Prefetchable memory behind bridge: bfd00000-bfdfffff Secondary status: 66Mhz- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort - <MAbort+ <SERR- <PERR- BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B- Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot -,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:14.0 CardBus bridge: Texas Instruments PCI1620 PC Card Controller (rev 01) 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 19 Region 0: Memory at 00000000bfcff000 (32-bit, non-prefetchable) [size=4K ] Bus: primary=00, secondary=02, subordinate=05, sec-latency=176 Memory window 0: bf8ff000-bfcfe000 (prefetchable) Memory window 1: 80000000-803ff000 I/O window 0: 00000000-000001ff I/O window 1: 00000400-000005ff BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001 00:14.2 System peripheral: Texas Instruments PCI1620 Firmware Loading Function ( rev 01) 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: 128 (1750ns min, 1000ns max), Cache Line Size 08 Interrupt: pin ? routed to IRQ 19 Region 0: I/O ports at bf9fc0 [size=64] Capabilities: [44] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot -,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- ******** lspcmcia -vvv ******** ~ # lspcmcia -vvv Socket 0 Bridge: [yenta_cardbus] (bus ID: 0000:00:14.0) Configuration: state: suspended ready: yes Voltage: 5.0V Vcc: 5.0V Vpp: 5.0V Available IRQs: none Available ioports: 0xfe000000 - 0xfebfffff Available iomem: --none-- ******** /proc/iomem ******** ~ # cat /proc/iomem 80000000-fcffffff : PCI host bridge 80000000-803fffff : PCI CardBus #02 bf8ff000-bfcfefff : PCI CardBus #02 bfcff000-bfcfffff : 0000:00:14.0 bfcff000-bfcfffff : yenta_socket bfd00000-bfdfffff : PCI Bus #01 bfe00000-bfefffff : PCI Bus #01 bfff7c00-bfff7fff : 0000:00:12.0 bfff7c00-bfff7fff : tulip bfff8000-bfffffff : 0000:00:10.0 fc004500-fc004507 : serial ******** /proc/ioports ******** ~ # cat /proc/ioports fe000000-febfffff : PCI host bridge fe000000-fe0001ff : PCI CardBus #02 fe000400-fe0005ff : PCI CardBus #02 febf9fc0-febf9fff : 0000:00:14.2 febfe000-febfefff : PCI Bus #01 febfff00-febfff7f : 0000:00:12.0 febfff00-febfff7f : tulip febffff8-febfffff : 0000:00:10.0 ~ # _______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded _______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded
