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