[patch] TI1450 cardbus bridge and card voltage

From: Jan Kasprzak (kas@informatics.muni.cz)
Date: Thu May 04 2000 - 08:36:21 EST


        Hello,

        I have a Compaq Armada M700 with TI1450 cardbus bridge.
I am trying to make it working under 2.3 (with 2.2.x it works
correctly). One of my problems is that when the bridge is
initialized, it reports an incorrect voltage of the card
(verified using "cardctl status"). This causes timeouts
during socket reset, etc. I don't know whether this is a bridge-specific
behavior. I tried to put the correct fix to the specific
ti1450_ops structure. The patch relative to 2.3.99pre7 follows.

        I am interested in reports from other ti1450 users.

-Yenya

--- linux/drivers/pcmcia/ti113x.h.orig Thu May 4 14:54:37 2000
+++ linux/drivers/pcmcia/ti113x.h Thu May 4 15:03:08 2000
@@ -192,6 +192,34 @@
         yenta_proc_setup
 };
 
+/*
+ * The TI1450 on Compaq Armada (I think other TI1450s as well) require
+ * to do a forced power sensing. Otherwise it incorrectly reports the card
+ * inserted before the init time as 5V one.
+ * Jan "Yenya" Kasprzak <kas@fi.muni.cz>
+ */
+static int ti1450_init(pci_socket_t *socket)
+{
+ ti_init(socket);
+ cb_writel(socket, CB_SOCKET_FORCE, CB_CVSTEST);
+ return 0;
+}
+
+static struct pci_socket_ops ti1450_ops = {
+ ti_open,
+ yenta_close,
+ ti1450_init,
+ yenta_suspend,
+ yenta_get_status,
+ yenta_get_socket,
+ yenta_set_socket,
+ yenta_get_io_map,
+ yenta_set_io_map,
+ yenta_get_mem_map,
+ yenta_set_mem_map,
+ yenta_proc_setup
+};
+
 #define ti_sysctl(socket) ((socket)->private[0])
 #define ti_cardctl(socket) ((socket)->private[1])
 #define ti_devctl(socket) ((socket)->private[2])
--- linux/drivers/pcmcia/yenta.c.orig Thu May 4 14:50:08 2000
+++ linux/drivers/pcmcia/yenta.c Thu May 4 15:03:20 2000
@@ -746,7 +747,7 @@
         { PD(TI,1220), &ti_ops },
         { PD(TI,1221), &ti_ops },
         { PD(TI,1210), &ti_ops },
- { PD(TI,1450), &ti_ops },
+ { PD(TI,1450), &ti1450_ops },
         { PD(TI,1225), &ti_ops },
         { PD(TI,1251A), &ti_ops },
         { PD(TI,1211), &ti_ops },

-- 
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\             Czech Linux Homepage:  http://www.linux.cz/              ///
\\\\ I could be wrong, of course. But I'm never wrong.           -Linus ////

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:14 EST