How to use compact flash on embedded 2.6.11 system?

Dirk Behme dirk.behme at de.bosch.com
Tue Feb 8 11:31:59 EST 2005


Hello,

for an embedded system I've written a pcmcia driver very similiar to
drivers/pcmcia/hd64465_ss.c (SS_CAP_STATIC_MAP is set). The system uses 
ARM9 based OMAP device with kernel 2.6.11-rc2. Using this driver with a 
CF card and cardctl I get

# cardctl status
Socket 0:
   no card

- insert a 128MB compact flash card -

# cardctl status
Socket 0:
   5V 16-bit PC Card
   function 0: [ready]
# cardctl info
PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255
# cardctl ident
Socket 0:
   no product info available
# cardctl config
Socket 0:
   Vcc 5.0V  Vpp1 5.0V  Vpp2 5.0V
# dump_cis
Socket 0:
   dev_info
     no_info

Because PCMCIA HOWTO tells that most CF cards lack a CIS, I think this 
is OK (?). Now, I'm not sure how to go on:

Do I need additional userspace tools (except pcmcia-cs-3.2.8)?

How do I 'mount' the card? Which /dev entries are necessary for this 
(major/minor)?

Do I need additional drivers? Kernel patches?

Please see below the output of cardmgr. In kernel 2.6.11-rc2 pcmciamtd 
is marked broken

config MTD_PCMCIA
	tristate "PCMCIA MTD driver"
	depends on MTD && PCMCIA && MTD_COMPLEX_MAPPINGS && BROKEN

and I can't find sram_mtd in 2.6.11-rc2?

Output of cardmgr:

# cardmgr
cardmgr[763]: watching 1 socket
cardmgr[763]: could not adjust resource: IO ports 0xc00-0xcff: Function 
not implemented
cardmgr[763]: could not adjust resource: IO ports 0x800-0x8ff: Function 
not implemented
cardmgr[763]: could not adjust resource: IO ports 0x100-0x4ff: Function 
not implemented
cardmgr[763]: could not adjust resource: memory 0xc0000-0xfffff: 
Function not implemented
cardmgr[763]: could not adjust resource: memory 0x60000000-0x60ffffff: 
Function not implemed
cardmgr[763]: could not adjust resource: memory 0xa0000000-0xa0ffffff: 
Function not implemed
cardmgr[763]: could not adjust resource: IO ports 0xa00-0xaff: Function 
not implemented
cardmgr[764]: could not open /var/run/cardmgr.pid: No such file or directory
cardmgr[764]: fopen(stabfile) failed: No such file or directory
cardmgr[764]: socket 0: Anonymous Memory
# 2.6. kernels use pcmciamtd instead of memory_cs.c and do not require 
special MTD handling any more.
cardmgr[764]: executing: 'modprobe sram_mtd 2>&1'
cardmgr[764]: + modprobe: module sram_mtd not found.
cardmgr[764]: + modprobe: failed to load module sram_mtd
cardmgr[764]: modprobe exited with status 1
cardmgr[764]: module /lib/modules/2.6.11-rc2-omap1/pcmcia/sram_mtd.o not 
available
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
cardmgr[764]:   Common memory region at 0xbefff8c2: Generic or SRAM
...
<infinite output>

Regards

Dirk



More information about the linux-pcmcia mailing list