Hello all, I've written a PCMCIA socket driver for the m8xx family. The driver is written to support one or two sockets, but when compiled for two sockets the resources are limited. See modules/m8xx_pcmcia.c for more info.
You also need to modify your kernel and I don't have a patch for it. I will tell you more below. I hope you find it useful, feedback is welcome! Cheers / Magnus - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The driver needs the pcmcia-cs package written by David Hinds. More information about the pcmcia-cs package can be found at: http://pcmcia.sourceforge.org/ This patch should be applied to pcmcia-cs-3.1.10: ftp://sourceforge.org/pcmcia/pcmcia-cs-3.1.10.tar.gz - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The following hardware is supported: Board Cpu Slot Status RPX CLLF 860DT B OK RPX LITE 823 B OK RPX LITE 850 B OK ADS 860 A OK ADS 821 A untested FADS860T 860T A OK FADSxxx ? A or B untested Some boards with the BMT (Bus monitor timer) enabled might get in trouble with PCMCIA cards that are too slow. The solution is to disable the BMT in SYPCR. Please double-check with your manual that my board-specific code that controls the power to the PCMCIA cards is correct. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Supported and tested PCMCIA cards: ATA-Flash: CompactFlash cards from SanDisk, Mitsubishi and Viking. [ide_cs.o] PCMCIA card from Feiya. Modems: V.34 CreditCard modem from Ericsson. [serial_cs.o] The modem part of a Xircom RealPort REM56G-100 works only on boards with BMT disabled. Ethernet: Xircom CE2-10. [xirc2ps_cs.o] Xircom RealPort REM56G-100 works without BMT. Non-supported and tested PCMCIA cards: Ethernet: 3Com Megahertz 3CCFEM556B Ethernet/Modem. [3c574_cs.o] I tried but I only get 0xff from it.. Non-tested PCMCIA cards: The rest: Please tell me if you have any success! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kernel modification: This is not included in the patch! 1. First of all you need to ioremap 64KByte at _IO_BASE. This is for the emulated ISA-bus. VIRT must be PHYS and I don't know how to do that from a module. 2. All bus operations that are 16 bit or more should be big endian - no swapping. This is the same as APUS in io.h. We need to figure out how this should co-exist with the swapped ISA. 3. My driver needs a bd_t * called mpc8xx_bdinfo to figure. out the busfrequency. A standard with the frequencyvalues in HZ would be good. 4. Kernel drivers that are used by pcmcia-cs. I havn't had any success with module-based ide code. But when I compile-in the ide code I need to pass "ide0=noprobe ide1=noprobe ide2=noprobe ide3=noprobe" to be able to boot. You also might have to play a bit with the ide code in m8xx_setup.c I've added an option to serial.c to avoid probing when the module is inserted. 5. The pcmcia code ioremaps/iounmaps quite much. It would be nice with a working iounmap! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-m8xx-pcmcia-cs-3.1.10.diff.gz Type: application/x-gzip Size: 14261 bytes Desc: not available Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20000215/d5cd3749/attachment.bin
