[PATCH] pxa2xx PCMCIA timing issue on iPAQ H5550
From: Milan Plzik
Date: Fri Aug 03 2007 - 16:22:29 EST
Good day,
recently I've been trying to get working PCMCIA interface on H5000
ipaq series, using dual PCMCIA sleeve. So far things work correctly, but
I had to do one modification to drivers/pcmcia/pxa2xx_base.c to get the
interface working with orinoco gold PCMCIA card (wired pcnet_cs ethernet
card worked even without this modification). Patch attached.
The issue has something to do with assert time on PCMCIA bus, but I'm
not really sure what -- I found the working value just by trial&error
approach. I'm not sure how is the assert value in pxa2xx_mcxx_asst
calculated (I know, simple formula, but the reason why is it calculated
that way is not obvious for me), neither that my modification is
correct. It just works with iPAQ.
Please include me in Cc, as I'm not subscribed to neither of mailing
lists.
Best regards,
Milan Plzik
Index: drivers/pcmcia/pxa2xx_base.c
===================================================================
RCS file: /cvs/linux/kernel26/drivers/pcmcia/pxa2xx_base.c,v
retrieving revision 1.12
diff -a -u -r1.12 pxa2xx_base.c
--- drivers/pcmcia/pxa2xx_base.c 10 Mar 2007 11:46:02 -0000 1.12
+++ drivers/pcmcia/pxa2xx_base.c 3 Aug 2007 20:04:10 -0000
@@ -59,7 +59,7 @@
u_int mem_clk_10khz)
{
u_int code = pcmcia_cycle_ns * mem_clk_10khz;
- return (code / 300000) + ((code % 300000) ? 1 : 0) - 1;
+ return (code / 300000) + ((code % 300000) ? 1 : 0) + 1;
}
static inline u_int pxa2xx_mcxx_setup(u_int pcmcia_cycle_ns,