|
43 | 43 | #define PCI_DEVICE_ID_EXAR_XR17V4358 0x4358
|
44 | 44 | #define PCI_DEVICE_ID_EXAR_XR17V8358 0x8358
|
45 | 45 |
|
| 46 | +#define PCI_DEVICE_ID_SEALEVEL_710xC 0x1001 |
| 47 | +#define PCI_DEVICE_ID_SEALEVEL_720xC 0x1002 |
| 48 | +#define PCI_DEVICE_ID_SEALEVEL_740xC 0x1004 |
| 49 | +#define PCI_DEVICE_ID_SEALEVEL_780xC 0x1008 |
| 50 | +#define PCI_DEVICE_ID_SEALEVEL_716xC 0x1010 |
| 51 | + |
46 | 52 | #define UART_EXAR_INT0 0x80
|
47 | 53 | #define UART_EXAR_8XMODE 0x88 /* 8X sampling rate select */
|
48 | 54 | #define UART_EXAR_SLEEP 0x8b /* Sleep mode */
|
@@ -638,6 +644,8 @@ exar_pci_probe(struct pci_dev *pcidev, const struct pci_device_id *ent)
|
638 | 644 | nr_ports = BIT(((pcidev->device & 0x38) >> 3) - 1);
|
639 | 645 | else if (board->num_ports)
|
640 | 646 | nr_ports = board->num_ports;
|
| 647 | + else if (pcidev->vendor == PCI_VENDOR_ID_SEALEVEL) |
| 648 | + nr_ports = pcidev->device & 0xff; |
641 | 649 | else
|
642 | 650 | nr_ports = pcidev->device & 0x0f;
|
643 | 651 |
|
@@ -864,6 +872,12 @@ static const struct pci_device_id exar_pci_tbl[] = {
|
864 | 872 | EXAR_DEVICE(COMMTECH, 4224PCI335, pbn_fastcom335_4),
|
865 | 873 | EXAR_DEVICE(COMMTECH, 2324PCI335, pbn_fastcom335_4),
|
866 | 874 | EXAR_DEVICE(COMMTECH, 2328PCI335, pbn_fastcom335_8),
|
| 875 | + |
| 876 | + EXAR_DEVICE(SEALEVEL, 710xC, pbn_exar_XR17V35x), |
| 877 | + EXAR_DEVICE(SEALEVEL, 720xC, pbn_exar_XR17V35x), |
| 878 | + EXAR_DEVICE(SEALEVEL, 740xC, pbn_exar_XR17V35x), |
| 879 | + EXAR_DEVICE(SEALEVEL, 780xC, pbn_exar_XR17V35x), |
| 880 | + EXAR_DEVICE(SEALEVEL, 716xC, pbn_exar_XR17V35x), |
867 | 881 | { 0, }
|
868 | 882 | };
|
869 | 883 | MODULE_DEVICE_TABLE(pci, exar_pci_tbl);
|
|
0 commit comments