[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:90546] 3.3v PCMCIA cards with ToPIC100


うえのと申します。

Dynabook SS S1/170 で CFE-02 を使おうとして地雷を踏んでしまいました :)

pcmcia-cs-3.1.31 に以下のパッチを当てることで、ToPIC100 塔載の PC で
3.3v なカードを使うことができるようになります。
# というか、こうしないと Vcc には 5v が来るはずだから、かなり
# 危険なのではないかと思う

Libretto L1 とかで AirH" つなぎ放題しようと CFE-02 買って泣いた人も
これで解決するのではないでしょうか。

小さなパッチなので、そのまま添付しています。


Index: pcmcia-cs-3.1.31/modules/i82365.c
--- pcmcia-cs-3.1.31/modules/i82365.c.orig	Tue Jan 15 23:24:15 2002
+++ pcmcia-cs-3.1.31/modules/i82365.c	Wed Jan 16 10:04:19 2002
@@ -1943,6 +1943,15 @@
 	    i365_bflip(s, PD67_MISC_CTL_1, PD67_MC1_VCC_3V, vcc3);
 	if (s->flags & IS_VG_PWR)
 	    i365_bflip(s, VG469_VSELECT, VG469_VSEL_VCC, vcc3);
+	if ((s->flags & IS_TOPIC) && s->type == IS_TOPIC100) {
+	    u_char c, origc;
+	    pci_readb(s, TOPIC_SLOT_CONTROL, &origc);
+	    c = origc & ~TOPIC_SLOT_ID_LOCK;
+	    pci_writeb(s, TOPIC_SLOT_CONTROL, c);
+	    i365_bset(s, TOPIC_FCR, TOPIC_FCR_VS_ENABLE);
+	    i365_bflip(s, TOPIC_FCR, TOPIC_FCR_3V_ENABLE, vcc3);
+	    pci_writeb(s, TOPIC_SLOT_CONTROL, origc);
+	}

 	if (state->Vpp == 120) {
 	    reg |= I365_VPP1_12V | (new ? 0 : I365_VPP2_12V);
Index: pcmcia-cs-3.1.31/modules/ti113x.h
--- pcmcia-cs-3.1.31/modules/ti113x.h.orig	Wed Jan 16 10:00:29 2002
+++ pcmcia-cs-3.1.31/modules/ti113x.h	Wed Jan 16 10:03:09 2002
@@ -202,9 +202,10 @@
 } ti113x_state_t;

 #define TI_PCIC_ID \
-    IS_TI1130, IS_TI1131, IS_TI1250A, IS_TI1220, IS_TI1221,	\
-    IS_TI1210, IS_TI1251A, IS_TI1251B, IS_TI1450, IS_TI1225,	\
-    IS_TI1211, IS_TI1420, IS_TI1031, IS_TI1410, IS_TI4450, IS_TI4451
+    IS_TI1130, IS_TI1131, IS_TI1031, IS_TI1210, IS_TI1211,	\
+    IS_TI1220, IS_TI1221, IS_TI1225, IS_TI1250A, IS_TI1251A,	\
+    IS_TI1251B, IS_TI1410, IS_TI1420, IS_TI1450, IS_TI1451,	\
+    IS_TI4410, IS_TI4450, IS_TI4451

 #define TI_PCIC_INFO \
     { "TI 1130",  IS_TI|IS_CARDBUS, ID(TI, 1130) }, \
Index: pcmcia-cs-3.1.31/modules/topic.h
--- pcmcia-cs-3.1.31/modules/topic.h.orig	Wed Jan 16 09:31:58 2002
+++ pcmcia-cs-3.1.31/modules/topic.h	Wed Jan 16 09:45:35 2002
@@ -96,6 +96,10 @@
 #define  TOPIC97_RCR_CAUDIO_OFF		0x00000002
 #define  TOPIC_RCR_CAUDIO_INVERT	0x00000001

+#define TOPIC_FCR			0x3e  /* ToPIC100: Function Control Register */
+#define TOPIC_FCR_3V_ENABLE		0x01  /* enable 3V card support */
+#define TOPIC_FCR_VS_ENABLE		0x02  /* enable voltage sence */
+
 /* Data structure for tracking vendor-specific state */
 typedef struct topic_state_t {
     u_char		slot;		/* TOPIC_SLOT_CONTROL */


FreeBSD では ToPIC97 でも同じことをやっているっぽいんですが、
これが ToPIC97 でも必要な操作であるのかは、ToPIC97 なマシンを持って
いないので定かではありません。

なお、同じパッチを pcmcia-cs のメンテナの David Hinds さんにも
送ってあります。
# どこに投げるのが適切か分からなかったので…


 
 --  ----  -     - - -- -
うえの かつひろ <unnie _at_ blue.sky.or.jp>

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: