PCMCIA support for S3C2410
Ed Daelli
edaelli at invocon.com
Mon Oct 30 10:18:20 EST 2006
Hello all,
I am working in porting pcmcia support for the s3c2410 processor under
2.6.15. I am working on a SMDK2410 dev kit.
I have pasted a log with some sys info about my system.
I am using a PD6710 controller and modified the i82365.c driver to work with
my specific hardware.
I can recognize card insertions and removal, am able to map memory and io
and get CIS information from the cards.
My problem is when I insmod the drivers for the specific cards, I get some
messages that the socket was attached to the driver with the correct IRQ and
port, but I cannot use the device.
I am using 2 different types of cards:
1. Serial. The serial_cs driver attaches to the socket and uses /dev/ttyS0,
but I cannot communicate with the modem,
2. Ethernet. The 3c589_cs driver attaches to the socket and uses eth1, but I
cant talk to the device.
Hare is some info:
Intel ISA PCIC probe:
Cirrus PD6710 ISA-to-PCMCIA at port 0xe20003e0 ofs 0x00, 1 socket
host opts [0]: [ring] [dyn mode] [freq bypass] [5/20/5] [5/44/5]
statuts change on irq 19
SetIOMap(0, 0, 0x00, 0 ns, 0x0-0x1)
SetIOMap(0, 1, 0x00, 0 ns, 0x0-0x1)
SetMemMap(0, 0, 0x00, 0 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 1, 0x00, 0 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 2, 0x00, 0 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 3, 0x00, 0 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 4, 0x00, 0 ns, 0x0-0x1000, 0x0)
~ # pcmcia-socket-startup
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
pcmcia: registering new device pcmcia0.0
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
~ # pccardctl info
PRODID_1="3Com Corporation"
PRODID_2="3C589D"
PRODID_3="TP/BNC LAN Card Ver. 2a"
PRODID_4="000002"
MANFID=0101,0589
FUNCID=6
~ # insmod 3c589_cs.ko
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x10000)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x10000)
SetIOMap(0, 0, 0x03, 0 ns, 0x300-0x30f)
eth1: 3Com 3c589, io 0xe2000300, irq 52, hw_addr 00:60:97:CC:AA:C8
8K FIFO split 5:3 Rx:Tx, auto xcvr
~ # ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:60:97:CC:AA:C8
inet addr:192.168.34.83 Bcast:192.168.34.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:52 Base address:0x300
~ # eth1: flipped to 10baseT
eth1: interrupt(s) dropped!
Swapping cards...
~ # pccardctl info
PRODID_1="Motorola"
PRODID_2="DELL 33.6 DATA/14.4 FAX MODEM"
PRODID_3="V3.0"
PRODID_4=""
MANFID=0109,0505
FUNCID=2
~ # insmod serial_cs.ko
SetMemMap(0, 0, 0x01, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x01, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetMemMap(0, 0, 0x21, 300 ns, 0x0-0x1000, 0x0)
SetIOMap(0, 0, 0x01, 0 ns, 0x3f8-0x3ff)
0.0: ttyS0 at I/O 0xe20003f8 (irq = 52) is a 16550A
~ # cat /proc/interrupts
CPU0
19: 9 i82365
25: 0 s3c2410-wdt
30: 42375 S3C2410 Timer Tick
53: 102 eth0
70: 213 s3c2410-uart
71: 642 s3c2410-uart
Err: 0
# cat /proc/ioports
e20003e0-e20003e1 : i82365
e20003f8-e20003ff : serial
Thank you in advance for you time and help!
Ed
edaelli at invocon.com
More information about the linux-pcmcia
mailing list