]> git.hungrycats.org Git - linux/commitdiff
[SERIAL] add TP560 data/fax/modem support
authorBjorn Helgaas <bjorn.helgaas@com.rmk.(none)>
Fri, 11 Feb 2005 23:23:06 +0000 (23:23 +0000)
committerRussell King <rmk@flint.arm.linux.org.uk>
Fri, 11 Feb 2005 23:23:06 +0000 (23:23 +0000)
Patch from Bjorn Helgaas

Claim Topic TP560 data/fax/voice modem.  This device reports as class 0x0780,
so we don't claim it by default:

        00:0d.0 Class 0780: 151f:0000
                Subsystem: 151f:0000
                Interrupt: pin A routed to IRQ 11
                Region 0: I/O ports at a400 [size=8]
        00: 1f 15 00 00 01 00 00 02 00 00 80 07 00 00 00 00
        10: 01 a4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        20: 00 00 00 00 00 00 00 00 00 00 00 00 1f 15 00 00
        30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 01 00 00

Some rc.serial scripts extract IRQ and I/O port information from
/proc/pci and stuff it into an unused port using setserial.  That
doesn't work reliably anymore because pci_enable_device() is never
called, so the IRQ may not be enabled.

Thanks to Evan Clarke for reporting and helping debug this problem.

Signed-off-by: Bjorn Helgaas
drivers/serial/8250_pci.c
include/linux/pci_ids.h

index e923a1ab0c549e883ff85687d3d7658bf4e3e630..e99ffdd81cce4de17cb204bf6036b058f1931ac1 100644 (file)
@@ -2211,6 +2211,13 @@ static struct pci_device_id serial_pci_tbl[] = {
                0,
                0, pbn_exar_XR17C158 },
 
+       /*
+        * Topic TP560 Data/Fax/Voice 56k modem (reported by Evan Clarke)
+        */
+       {       PCI_VENDOR_ID_TOPIC, PCI_DEVICE_ID_TOPIC_TP560,
+               PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+               pbn_b0_1_115200 },
+
        /*
         * These entries match devices with class COMMUNICATION_SERIAL,
         * COMMUNICATION_MODEM or COMMUNICATION_MULTISERIAL
index 919fa9768c1934a1e178fd8804469008ca72b432..3dca3b53f74b773e1d71284c99a4e79df324a6b7 100644 (file)
 #define PCI_DEVICE_ID_BCM4401          0x4401
 #define PCI_DEVICE_ID_BCM4401B0                0x4402
 
+#define PCI_VENDOR_ID_TOPIC            0x151f
+#define PCI_DEVICE_ID_TOPIC_TP560      0x0000
+
 #define PCI_VENDOR_ID_ENE              0x1524
 #define PCI_DEVICE_ID_ENE_1211         0x1211
 #define PCI_DEVICE_ID_ENE_1225         0x1225