diff options
author | Catalin(ux) M BOIE <catab@embedromix.ro> | 2008-07-24 00:29:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:29 -0400 |
commit | b76c5a0717094f0a900d9afd8e36f7ad8dbba587 (patch) | |
tree | 455097900805ea7566d0a2f6b978df47e8a4ee4b /drivers/serial/8250_pci.c | |
parent | 7500b1f602aad75901774a67a687ee985d85893f (diff) |
serial: add support for a no-name 4 ports multiserial card
It is a no-name PCI card. I found no reference to a producer so I used
"UNKNOWN_0x1584" as the name.
Full lspci:
01:07.0 0780: 10b5:9050 (rev 01)
Subsystem: 10b5:1584
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- \
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- \
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 10
Region 1: I/O ports at ec00 [size=128]
Region 2: I/O ports at e480 [size=32]
Region 3: I/O ports at e400 [size=8]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA \
PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] #06 [0080]
Capabilities: [4c] Vital Product Data
After:
0000:01:07.0: ttyS4 at I/O 0xe480 (irq = 10) is a 16550A
0000:01:07.0: ttyS5 at I/O 0xe488 (irq = 10) is a 16550A
0000:01:07.0: ttyS6 at I/O 0xe490 (irq = 10) is a 16550A
0000:01:07.0: ttyS7 at I/O 0xe498 (irq = 10) is a 16550A
Signed-off-by: Catalin(ux) M BOIE <catab@embedromix.ro>
Acked-by: Alan Cox <alan@redhat.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/serial/8250_pci.c')
-rw-r--r-- | drivers/serial/8250_pci.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index 1b36087665a2..c2f23933155b 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c | |||
@@ -767,6 +767,9 @@ pci_default_setup(struct serial_private *priv, struct pciserial_board *board, | |||
767 | #define PCI_SUBDEVICE_ID_POCTAL232 0x0308 | 767 | #define PCI_SUBDEVICE_ID_POCTAL232 0x0308 |
768 | #define PCI_SUBDEVICE_ID_POCTAL422 0x0408 | 768 | #define PCI_SUBDEVICE_ID_POCTAL422 0x0408 |
769 | 769 | ||
770 | /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ | ||
771 | #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 | ||
772 | |||
770 | /* | 773 | /* |
771 | * Master list of serial port init/setup/exit quirks. | 774 | * Master list of serial port init/setup/exit quirks. |
772 | * This does not describe the general nature of the port. | 775 | * This does not describe the general nature of the port. |
@@ -882,6 +885,15 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = { | |||
882 | }, | 885 | }, |
883 | { | 886 | { |
884 | .vendor = PCI_VENDOR_ID_PLX, | 887 | .vendor = PCI_VENDOR_ID_PLX, |
888 | .device = PCI_DEVICE_ID_PLX_9050, | ||
889 | .subvendor = PCI_VENDOR_ID_PLX, | ||
890 | .subdevice = PCI_SUBDEVICE_ID_UNKNOWN_0x1584, | ||
891 | .init = pci_plx9050_init, | ||
892 | .setup = pci_default_setup, | ||
893 | .exit = __devexit_p(pci_plx9050_exit), | ||
894 | }, | ||
895 | { | ||
896 | .vendor = PCI_VENDOR_ID_PLX, | ||
885 | .device = PCI_DEVICE_ID_PLX_ROMULUS, | 897 | .device = PCI_DEVICE_ID_PLX_ROMULUS, |
886 | .subvendor = PCI_VENDOR_ID_PLX, | 898 | .subvendor = PCI_VENDOR_ID_PLX, |
887 | .subdevice = PCI_DEVICE_ID_PLX_ROMULUS, | 899 | .subdevice = PCI_DEVICE_ID_PLX_ROMULUS, |
@@ -2197,6 +2209,11 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
2197 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_1077, | 2209 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_1077, |
2198 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2210 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2199 | pbn_b2_4_921600 }, | 2211 | pbn_b2_4_921600 }, |
2212 | /* Unknown card - subdevice 0x1584 */ | ||
2213 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | ||
2214 | PCI_VENDOR_ID_PLX, | ||
2215 | PCI_SUBDEVICE_ID_UNKNOWN_0x1584, 0, 0, | ||
2216 | pbn_b0_4_115200 }, | ||
2200 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2217 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2201 | PCI_SUBVENDOR_ID_KEYSPAN, | 2218 | PCI_SUBVENDOR_ID_KEYSPAN, |
2202 | PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0, | 2219 | PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0, |