[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:10596] Re: KXL-830AN¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥¹¥¯¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡£



ÌÚ¼¤Ç¤¹¡£

> ¤³¤ó¤Ë¤Á¤Ï¡£Ëö¾¾¤È¤¤¤¤¤Þ¤¹¡£
>  ÀèÆü¡¢VAIO-C1 XG¤òÆþ¼ê¤·¤¿¤Î¤Ç¡¢¤³¤ì¤Ëplamo2.2¤òÆþ¤ì¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
>  ¼ê¸µ¤ËKXL-830AN¤È¤¤¤¦¡¢PC¥«¡¼¥ÉÀܳ¤ÎCD-ROM¥É¥é¥¤¥Ö¤¬Í­¤ë¤Î¤Ç¤³¤ì¤ò»È¤Ã¤Æ
> ¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
>  ¤³¤ÎCD-ROM¥É¥é¥¤¥Ö¤«¤éµ¯Æ°¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£

CD-ROM¥Ö¡¼¥È¥Ç¥Ð¥¤¥¹¤È¤·¤ÆBIOS¤¬¤³¤ÎCD-ROM¥É¥é¥¤¥Ö¤ò»È¤¨¤Ê¤¤¤È¤¹¤ì¤Ð
¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥Ð¥¤¥¹¤Ê¤Î¤Ç¤·¤ç¤¦¡£

>  ¤³¤Î¡¢KXL-830AN¤ò¤Ä¤«¤¦¤³¤È¤Î½ÐÍè¤ë¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥¹¥¯¤ò¤É¤Ê¤¿¤«ºî¤é¤ì¤Æ
> ¤¤¤Ê¤¤¤À¤í¤¦¤«¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

¤¨¡¼¤È¡¢¤³¤ÎCD-ROM¥É¥é¥¤¥Ö¤Ï¸½ºß¤Î¤È¤³¤í¤Û¤È¤ó¤É¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç
¥ó¤Ç¥Ö¥é¥Ã¥¯¥ê¥¹¥È¤ËÆþ¤Ã¤Æ¤¤¤ÆLinux¤«¤é¤Ï»È¤¨¤Ê¤¤¥Ç¥Ð¥¤¥¹¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤¿¤À¡¢¤´¤¯ºÇ¶á¤Ç¤¹¤¬¥Ñ¥Ã¥Á¤¬½Ð¤Æ»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

¡ô ¤À¤«¤éPlamo¤Î¥Ö¡¼¥È¥Ç¥£¥¹¥¯¤Ë¥Ñ¥Ã¥Á¤òÁȤ߹þ¤ó¤À¤é»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤Î
¡ô ¤Ç¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤¤Þ¤»¡ä¤³¤¸¤Þ¤µ¤Þ

¥Ñ¥Ã¥Á¤ò¸«¤¿¤éÎ٤Υݡ¼¥È¤ËÆÃÄê¤Î¿ôÃͤòÁ÷¤ê¹þ¤Þ¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¤è¤¦¤Ê¤Î
¤Ç¥á¡¼¥«¡¼¤Ë¶á¤¤¤È¤³¤í¤«¤é¤¸¤ã¤Ê¤¤¤ÈÀäÂФ˥ѥåÁ¤Ï½Ð¤Þ¤»¤ó¤Í¡£

°Ê²¼¡¢¥Ñ¥Ã¥Á¡£2.4¥«¡¼¥Í¥ëÍѤΤǤ¹¤¬¡¢pcmcia-cs¤Ç¤âide-cs.c¤òide_cs.c¤Ë
Êѹ¹¤¹¤ë¤À¤±¤ÇŬÍѲÄǽ¡£

¤è¤í¤·¤¯¡ä¿ÀÍÍÊ©Íͤ³¤¸¤Þ¤µ¤Þ :-)

¡¿ÌÚ¼


diff -uraN linux.org/drivers/ide/ide-cs.c linux/drivers/ide/ide-cs.c
--- linux.org/drivers/ide/ide-cs.c	Sat Feb 10 04:40:02 2001
+++ linux/drivers/ide/ide-cs.c	Thu Jun 21 18:13:43 2001
@@ -234,6 +234,8 @@
     cistpl_cftable_entry_t *cfg = &parse.cftable_entry;
     cistpl_cftable_entry_t dflt = { 0 };
     int i, pass, last_ret, last_fn, hd=-1, io_base, ctl_base;
+    int KML_KXLC005_00_flag;
+    char KML_KXLC005_00_str[] = {'K','M','E',0,'K','X','L','C','0','0','5',0,'0','0',0};
 
     DEBUG(0, "ide_config(0x%p)\n", link);
     
@@ -250,6 +252,19 @@
     /* Configure card */
     link->state |= DEV_CONFIG;
 
+    /* Read Product Info */
+    tuple.TupleData = (cisdata_t *)buf;
+    tuple.TupleOffset = 0; tuple.TupleDataMax = 255;
+    tuple.Attributes = 0;
+    tuple.DesiredTuple = CISTPL_VERS_1;
+    CS_CHECK(GetFirstTuple, handle, &tuple);
+    CS_CHECK(GetTupleData, handle, &tuple);
+    CS_CHECK(ParseTuple, handle, &tuple, &parse);
+    if (memcmp(parse.version_1.str, KML_KXLC005_00_str, sizeof(KML_KXLC005_00_str)) == 0)
+	KML_KXLC005_00_flag = 1;
+    else
+	KML_KXLC005_00_flag = 0;
+
     /* Not sure if this is right... look up the current Vcc */
     CS_CHECK(GetConfigurationInfo, handle, &conf);
     link->conf.Vcc = conf.Vcc;
@@ -290,7 +305,10 @@
 	    if (io->nwin == 2) {
 		link->io.NumPorts1 = 8;
 		link->io.BasePort2 = io->win[1].base;
-		link->io.NumPorts2 = 1;
+		if (KML_KXLC005_00_flag == 0)
+		    link->io.NumPorts2 = 1;
+		else
+		    link->io.NumPorts2 = 2;
 		CFG_CHECK(RequestIO, link->handle, &link->io);
 		io_base = link->io.BasePort1;
 		ctl_base = link->io.BasePort2;
@@ -323,6 +341,10 @@
     release_region(link->io.BasePort1, link->io.NumPorts1);
     if (link->io.NumPorts2)
 	release_region(link->io.BasePort2, link->io.NumPorts2);
+
+    /* Out buffer enable */
+    if (KML_KXLC005_00_flag)
+	 outb(0x81,link->io.BasePort2+1);
 
     /* retry registration in case device is still spinning up */
     for (i = 0; i < 10; i++) {


--- config.org	Thu Jun 21 18:29:08 2001
+++ config	Thu Jun 21 18:30:43 2001
@@ -1257,6 +1257,10 @@
   version "KME ", "KXLC004"
   bind "qlogic_cs"
 
+card "Panasonic KXLC005"
+  version "KME", "KXLC005", "00"
+  bind "ide-cs"
+
 card "Panasonic KXLC101"
   version "KME", "KXLC101"
   bind "qlogic_cs"

Follow-Ups
[plamo:10599] Re: KXL-830AN¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥¹¥¯¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡£, s.suematsu
References
[plamo:10593] KXL-830AN¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥¹¥¯¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡£, s.suematsu

[¸¡º÷¥Ú¡¼¥¸] [¥á¡¼¥ë°ìÍ÷]
Plamo ML ¸ø³«¥·¥¹¥Æ¥à