TuxMobil: Linux with Laptops, PDAs, Mobile Phones and Portable Computers
PRINT version of "TuxMobil - PCMCIA Annotations 8"
    <= Back to SCREEN version <=



<-- Back to Linux PCMCIA Survey.

Following patch to serial.c is needed to make the serial part of the card work with linux-2.4.19-pre5: The patch is a courtesy of Robert Fries <robert_fries_at_partech.com>.

--- drivers/char/serial.c.dist  Thu Apr  4 11:52:32 2002 
+++ drivers/char/serial.c       Wed Nov 13 13:02:05 2002 
@@ -4234,6 +4234,33 @@ 
        return 0; 
 } 
 
+/* 83c175 entry for Ositech and Psion cards */ 
+static int __devinit 
+pci_83c175_fn(struct pci_dev *dev, 
+             struct pci_board *board, 
+             int enable) 
+{ 
+  u_int ioaddr; 
+  if (!enable) return(0); 
+  pci_read_config_dword(dev, PCI_BASE_ADDRESS_0, &ioaddr); 
+  if (!(ioaddr & PCI_BASE_ADDRESS_SPACE_IO)) 
+    pci_read_config_dword(dev, PCI_BASE_ADDRESS_1, &ioaddr); 
+  if (!(ioaddr & PCI_BASE_ADDRESS_SPACE_IO)) { 
+    printk(KERN_NOTICE "pci_83c175: didn't find an IO window\n"); 
+    return(1); 
+  } 
+  ioaddr &= PCI_BASE_ADDRESS_IO_MASK; 
+  mdelay(100); 
+  outl(0x4C00, ioaddr + 0x80); 
+  mdelay(100); 
+  outl(0x4C80, ioaddr + 0x80); 
+  mdelay(100); 
+  return(0); 
+} 
+ 
+ 
+ 
+ 
 /* 
  * This is the configuration table for all of the PCI serial boards 
  * which we support.  It is directly indexed by the pci_board_num_t enum 
@@ -4308,6 +4335,7 @@ 
        pbn_computone_4, 
        pbn_computone_6, 
        pbn_computone_8, 
+       pbn_83c175, 
 }; 
 
 static struct pci_board pci_boards[] __devinitdata = { 
@@ -4412,6 +4440,9 @@ 
                0x40, 2, NULL, 0x200 }, 
        { SPCI_FL_BASE0, 8, 921600, /* IOMEM */            /* pbn_computone_8 */ 
                0x40, 2, NULL, 0x200 }, 
+ 
+         { SPCI_FL_BASE0, 1, 115200,                      /* pbn_83c175 */ 
+           0,0, pci_83c175_fn }, 
 }; 
 
 /* 
@@ -4874,6 +4905,13 @@ 
        {       PCI_VENDOR_ID_SGI, PCI_DEVICE_ID_SGI_IOC3, 
                0xFF00, 0, 0, 0, 
                pbn_sgi_ioc3 }, 
+       /* 83c175 entries for Ositech and Psion cards */ 
+       {       PCI_VENDOR_ID_SMC, PCI_DEVICE_ID_SMC_LANEPIC, 
+               PCI_SUBVENDOR_ID_OSITECH, PCI_SUBDEVICE_ID_OSITECH_JOS,0,0, 
+               pbn_83c175 }, 
+       {       PCI_VENDOR_ID_SMC, PCI_DEVICE_ID_SMC_LANEPIC, 
+               PCI_SUBVENDOR_ID_PSION, PCI_SUBDEVICE_ID_PSION_UNKNOWN,0,0, 
+               pbn_83c175 }, 
 
 #ifdef CONFIG_DDB5074 
        /* 
--- include/linux/pci_ids.h.dist        Thu Apr  4 11:52:40 2002 
+++ include/linux/pci_ids.h     Wed Nov 13 11:34:53 2002 
@@ -789,6 +789,11 @@ 
 
 #define PCI_VENDOR_ID_SMC              0x10b8 
 #define PCI_DEVICE_ID_SMC_EPIC100      0x0005 
+#define PCI_DEVICE_ID_SMC_LANEPIC      0x0006 
+#define PCI_SUBVENDOR_ID_OSITECH       0x13a2 
+#define PCI_SUBDEVICE_ID_OSITECH_JOS   0x8007 
+#define PCI_SUBVENDOR_ID_PSION         0x1420 
+#define PCI_SUBDEVICE_ID_PSION_UNKNOWN 0x8003 
 
 #define PCI_VENDOR_ID_AL               0x10b9 
 #define PCI_DEVICE_ID_AL_M1445         0x1445 

        /* Adv.    Xtops.DE - Laptops and PDAs with pre-installed Linux   Adv. */        

http://tuxmobil.org/pcmcia_linux_db_a8.html, copyright © Werner Heuser, 1997-2008