Yenta Socket work with 32-bit card but not 16-bit

David Clark dlclark at chtech.com
Thu Feb 8 16:08:17 EST 2007


I have a custom embedded board with a single PCMCIA slot.  The PCMCIA
socket controller is a TI PCI1620 (Yenta).  The processor is a Freescale
MPC8245 (PowerPC 603e core).  I am running Linux kernel 2.6.14.2 and
pcmciautils 014.

The PCMCIA slot works with a 32-bit network card that I have been using
during development.  It does not work with a 16-bit card.  When I plug
the 16-bit card into the socket I get the message "cs: unable to map
card memory"

I have searched many user groups, including this one, and I have played
with various settings in the config.opts file, to no avail.  Admittedly
I don't have a good understanding of how pcmcia works in Linux so
hopefully someone here can direct me.

Below are the outputs for (dmesg, config.opts, iomem and ioports).
Please let me know if any further information would be helpful.  Thank
you for your help.

David Clark
Senior Software Engineer
C&H Technologies, Inc
Web: http:\\www.chtech.com
Phone: 512-733-2621
Fax: 512-733-2629
Email: dlclark at chtech.com



*********** dmesg *****************
dmesg
Linux version 2.6.14.2ch1 (pcadmin at localhost.localdomain) (gcc version
3.4.1 200
40714 (TimeSys 3.4.1-7)) #250 PREEMPT Wed Feb 7 12:23:19 CST 2007
Host bridge in Agent mode
C&H VXI Intelligent Carrier Platform
Port by C&H Technologies, Inc.
On node 0 totalpages: 32768
  DMA zone: 32768 pages, LIFO batch:15
  Normal zone: 0 pages, LIFO batch:1
  HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: root=/dev/ram rw console=ttyVXI
ip=192.168.1.228:::255.255.
255.0:vx411c::off
OpenPIC Version 1.2 (1 CPUs and 11 IRQ sources) at fc040000
PID hash table entries: 1024 (order: 10, 16384 bytes)
time_init: decrementer frequency = 100.000000 MHz
Console: colour dummy device 80x25
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 125440k available (1644k kernel code, 496k data, 100k init, 0k
highmem)
Calibrating delay loop... 199.68 BogoMIPS (lpj=399360)
Mount-cache hash table entries: 512
checking if image is initramfs...it isn't (no cpio magic); looks like an
initrd
Freeing initrd memory: 1856k freed
softlockup thread 0 started up.
NET: Registered protocol family 16
PCI: Probing PCI hardware
PCI: Scanning bus 0000:00
PCI: Found 0000:00:00.0 [1057/0006] 000e00 00
PCI: Calling quirk c000c184 for 0000:00:00.0
PCI: Calling quirk c00c0f6c for 0000:00:00.0
PCI: Calling quirk c00c0dec for 0000:00:00.0
PCI: Found 0000:00:10.0 [12be/3042] 000e00 00
PCI: Calling quirk c000c184 for 0000:00:10.0
PCI: Calling quirk c00c0f6c for 0000:00:10.0
PCI: Calling quirk c00c0dec for 0000:00:10.0
PCI: Found 0000:00:13.0 [104c/ac23] 000604 01
PCI: Calling quirk c000c184 for 0000:00:13.0
PCI: Calling quirk c00c0f6c for 0000:00:13.0
PCI: Calling quirk c00c0dec for 0000:00:13.0
PCI: Found 0000:00:14.0 [104c/ac54] 000607 02
PCI: Calling quirk c000c184 for 0000:00:14.0
PCI: Calling quirk c00c0f6c for 0000:00:14.0
PCI: Calling quirk c00c0dec for 0000:00:14.0
PCI: Found 0000:00:14.2 [104c/8201] 000880 00
PCI: Calling quirk c000c184 for 0000:00:14.2
PCI: Calling quirk c00c0f6c for 0000:00:14.2
PCI: Calling quirk c00c0dec for 0000:00:14.2
PCI: Fixups for bus 0000:00
PCI: Scanning behind PCI bridge 0000:00:13.0, config 010100, pass 0
PCI: Scanning bus 0000:01
PCI: Fixups for bus 0000:01
PCI: Bus scan for 0000:01 returning with max=01
PCI: Scanning behind PCI bridge 0000:00:14.0, config 020200, pass 0
PCI: Scanning behind PCI bridge 0000:00:13.0, config 010100, pass 1
PCI: Scanning behind PCI bridge 0000:00:14.0, config 020200, pass 1
PCI: Bus scan for 0000:00 returning with max=05
PCI: fixup irq: (0000:00:00.0) got 0
PCI: fixup irq: (0000:00:10.0) got 20
PCI: fixup irq: (0000:00:13.0) got 0
PCI: fixup irq: (0000:00:14.0) got 19
PCI: fixup irq: (0000:00:14.2) got 19
PCI: Cannot allocate resource region 1 of device 0000:00:00.0
  got res [80000000:80000fff] bus [80000000:80000fff] flags 200 for BAR
1 of 000
0:00:00.0
PCI: moved device 0000:00:00.0 resource 1 (200) to 80000000
fsl-i2c.1: failed to claim resource 0
unable to register device 0
fsl-dma.0: failed to claim resource 0
unable to register device 1
fsl-dma.1: failed to claim resource 0
unable to register device 2
Registering openpic with sysfs...
Generic PHY: Registered new driver
PCI: Calling quirk c00c0cc0 for 0000:00:00.0
PCI: Calling quirk c00c0cc0 for 0000:00:10.0
PCI: Calling quirk c00c0cc0 for 0000:00:13.0
PCI: Calling quirk c00c0cc0 for 0000:00:14.0
PCI: Calling quirk c00c0cc0 for 0000:00:14.2
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing
disabled
ttyS0 at MMIO 0xfc004500 (irq = 25) is a 16550A
io scheduler noop registered
io scheduler deadline registered
RAMDISK driver initialized: 4 RAM disks of 32768K size 1024 blocksize
QS6612: Registered new driver
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: 80400000-807fffff
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
IP-Config: No network devices available.
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 100k init
cs: memory probe 0x80000000-0xfcffffff:<7> - 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<7> - data bits = 7
 - parity = none
 - stop bits = 1
 - RTS/CTS is disabled
 - INBOUND XON/XOFF is enabled, XON = 11, XOFF = 13<7> - OUTBOUND
XON/XOFF is en
abled, XON = 11, XOFF = 13<7> - baud rate = 57600<7> - nothing to
change...
 - nothing to change...
 - nothing to change...
 - nothing to change...

*********** /etc/pcmcia/config.opts *****************
include port 0xFE000000-0xFE0001FF
include port 0xFE000400-0xFE0005FF
include memory 0x80400000-0x807FFFFF
include memory 0xBF8FF000-0xBFCFEFFF


*********** iomem *****************
~ # cat /proc/iomem
80000000-fcffffff : PCI host bridge
  80000000-80000fff : 0000:00:00.0
  80400000-807fffff : 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
  bfff8000-bfffffff : 0000:00:10.0
  fc004500-fc004507 : serial

*********** 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
  febffff8-febfffff : 0000:00:10.0

 







More information about the linux-pcmcia mailing list