serial: exar: Add support for Sealevel 7xxxC serial cards
[ Upstream commit 14ee78d5932afeb710c8305196a676a715bfdea8 ] Add support for Sealevel 7xxxC serial cards. This patch: * Adds IDs to recognize 7xxxC cards from Sealevel Systems. * Updates exar_pci_probe() to set nr_ports to last two bytes of primary dev ID for these cards. Signed-off-by: Matthew Howell <matthew.howell@sealevel.com> Cc: stable <stable@kernel.org> Link: https://lore.kernel.org/r/alpine.DEB.2.21.2301191440010.22558@tstest-VirtualBox Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Stable-dep-of: 95d698869b40 ("serial: 8250_exar: Add support for USR298x PCI Modems") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
fb3c5714f5
commit
1ffa0b8ba9
@ -43,6 +43,12 @@
|
||||
#define PCI_DEVICE_ID_EXAR_XR17V4358 0x4358
|
||||
#define PCI_DEVICE_ID_EXAR_XR17V8358 0x8358
|
||||
|
||||
#define PCI_DEVICE_ID_SEALEVEL_710xC 0x1001
|
||||
#define PCI_DEVICE_ID_SEALEVEL_720xC 0x1002
|
||||
#define PCI_DEVICE_ID_SEALEVEL_740xC 0x1004
|
||||
#define PCI_DEVICE_ID_SEALEVEL_780xC 0x1008
|
||||
#define PCI_DEVICE_ID_SEALEVEL_716xC 0x1010
|
||||
|
||||
#define UART_EXAR_INT0 0x80
|
||||
#define UART_EXAR_8XMODE 0x88 /* 8X sampling rate select */
|
||||
#define UART_EXAR_SLEEP 0x8b /* Sleep mode */
|
||||
@ -600,6 +606,8 @@ exar_pci_probe(struct pci_dev *pcidev, const struct pci_device_id *ent)
|
||||
nr_ports = BIT(((pcidev->device & 0x38) >> 3) - 1);
|
||||
else if (board->num_ports)
|
||||
nr_ports = board->num_ports;
|
||||
else if (pcidev->vendor == PCI_VENDOR_ID_SEALEVEL)
|
||||
nr_ports = pcidev->device & 0xff;
|
||||
else
|
||||
nr_ports = pcidev->device & 0x0f;
|
||||
|
||||
@ -826,6 +834,12 @@ static const struct pci_device_id exar_pci_tbl[] = {
|
||||
EXAR_DEVICE(COMMTECH, 4224PCI335, pbn_fastcom335_4),
|
||||
EXAR_DEVICE(COMMTECH, 2324PCI335, pbn_fastcom335_4),
|
||||
EXAR_DEVICE(COMMTECH, 2328PCI335, pbn_fastcom335_8),
|
||||
|
||||
EXAR_DEVICE(SEALEVEL, 710xC, pbn_exar_XR17V35x),
|
||||
EXAR_DEVICE(SEALEVEL, 720xC, pbn_exar_XR17V35x),
|
||||
EXAR_DEVICE(SEALEVEL, 740xC, pbn_exar_XR17V35x),
|
||||
EXAR_DEVICE(SEALEVEL, 780xC, pbn_exar_XR17V35x),
|
||||
EXAR_DEVICE(SEALEVEL, 716xC, pbn_exar_XR17V35x),
|
||||
{ 0, }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, exar_pci_tbl);
|
||||
|
Loading…
Reference in New Issue
Block a user