serial: 8250_pci: Add support for Pericom PI7C9X795[1248]
Pericom PI7C9X795[1248] are Uno/Dual/Quad/Octal UART devices, this patch enables them, also defines PCI_VENDOR_ID_PERICOM here. Signed-off-by: Adam Lee <adam.lee@canonical.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
736cd79f48
Коммит
89c043a6cb
|
@ -2082,6 +2082,12 @@ pci_wch_ch38x_setup(struct serial_private *priv,
|
|||
#define PCIE_DEVICE_ID_WCH_CH382_2S1P 0x3250
|
||||
#define PCIE_DEVICE_ID_WCH_CH384_4S 0x3470
|
||||
|
||||
#define PCI_VENDOR_ID_PERICOM 0x12D8
|
||||
#define PCI_DEVICE_ID_PERICOM_PI7C9X7951 0x7951
|
||||
#define PCI_DEVICE_ID_PERICOM_PI7C9X7952 0x7952
|
||||
#define PCI_DEVICE_ID_PERICOM_PI7C9X7954 0x7954
|
||||
#define PCI_DEVICE_ID_PERICOM_PI7C9X7958 0x7958
|
||||
|
||||
/* Unknown vendors/cards - this should not be in linux/pci_ids.h */
|
||||
#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584
|
||||
#define PCI_SUBDEVICE_ID_UNKNOWN_0x1588 0x1588
|
||||
|
@ -2396,27 +2402,12 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
|
|||
* Pericom
|
||||
*/
|
||||
{
|
||||
.vendor = 0x12d8,
|
||||
.device = 0x7952,
|
||||
.subvendor = PCI_ANY_ID,
|
||||
.subdevice = PCI_ANY_ID,
|
||||
.setup = pci_pericom_setup,
|
||||
.vendor = PCI_VENDOR_ID_PERICOM,
|
||||
.device = PCI_ANY_ID,
|
||||
.subvendor = PCI_ANY_ID,
|
||||
.subdevice = PCI_ANY_ID,
|
||||
.setup = pci_pericom_setup,
|
||||
},
|
||||
{
|
||||
.vendor = 0x12d8,
|
||||
.device = 0x7954,
|
||||
.subvendor = PCI_ANY_ID,
|
||||
.subdevice = PCI_ANY_ID,
|
||||
.setup = pci_pericom_setup,
|
||||
},
|
||||
{
|
||||
.vendor = 0x12d8,
|
||||
.device = 0x7958,
|
||||
.subvendor = PCI_ANY_ID,
|
||||
.subdevice = PCI_ANY_ID,
|
||||
.setup = pci_pericom_setup,
|
||||
},
|
||||
|
||||
/*
|
||||
* PLX
|
||||
*/
|
||||
|
@ -3121,6 +3112,10 @@ enum pci_board_num_t {
|
|||
pbn_fintek_8,
|
||||
pbn_fintek_12,
|
||||
pbn_wch384_4,
|
||||
pbn_pericom_PI7C9X7951,
|
||||
pbn_pericom_PI7C9X7952,
|
||||
pbn_pericom_PI7C9X7954,
|
||||
pbn_pericom_PI7C9X7958,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -3946,7 +3941,6 @@ static struct pciserial_board pci_boards[] = {
|
|||
.base_baud = 115200,
|
||||
.first_offset = 0x40,
|
||||
},
|
||||
|
||||
[pbn_wch384_4] = {
|
||||
.flags = FL_BASE0,
|
||||
.num_ports = 4,
|
||||
|
@ -3954,6 +3948,33 @@ static struct pciserial_board pci_boards[] = {
|
|||
.uart_offset = 8,
|
||||
.first_offset = 0xC0,
|
||||
},
|
||||
/*
|
||||
* Pericom PI7C9X795[1248] Uno/Dual/Quad/Octal UART
|
||||
*/
|
||||
[pbn_pericom_PI7C9X7951] = {
|
||||
.flags = FL_BASE0,
|
||||
.num_ports = 1,
|
||||
.base_baud = 921600,
|
||||
.uart_offset = 0x8,
|
||||
},
|
||||
[pbn_pericom_PI7C9X7952] = {
|
||||
.flags = FL_BASE0,
|
||||
.num_ports = 2,
|
||||
.base_baud = 921600,
|
||||
.uart_offset = 0x8,
|
||||
},
|
||||
[pbn_pericom_PI7C9X7954] = {
|
||||
.flags = FL_BASE0,
|
||||
.num_ports = 4,
|
||||
.base_baud = 921600,
|
||||
.uart_offset = 0x8,
|
||||
},
|
||||
[pbn_pericom_PI7C9X7958] = {
|
||||
.flags = FL_BASE0,
|
||||
.num_ports = 8,
|
||||
.base_baud = 921600,
|
||||
.uart_offset = 0x8,
|
||||
},
|
||||
};
|
||||
|
||||
static const struct pci_device_id blacklist[] = {
|
||||
|
@ -5218,6 +5239,25 @@ static struct pci_device_id serial_pci_tbl[] = {
|
|||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
0,
|
||||
0, pbn_exar_XR17V8358 },
|
||||
/*
|
||||
* Pericom PI7C9X795[1248] Uno/Dual/Quad/Octal UART
|
||||
*/
|
||||
{ PCI_VENDOR_ID_PERICOM, PCI_DEVICE_ID_PERICOM_PI7C9X7951,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
0,
|
||||
0, pbn_pericom_PI7C9X7951 },
|
||||
{ PCI_VENDOR_ID_PERICOM, PCI_DEVICE_ID_PERICOM_PI7C9X7952,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
0,
|
||||
0, pbn_pericom_PI7C9X7952 },
|
||||
{ PCI_VENDOR_ID_PERICOM, PCI_DEVICE_ID_PERICOM_PI7C9X7954,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
0,
|
||||
0, pbn_pericom_PI7C9X7954 },
|
||||
{ PCI_VENDOR_ID_PERICOM, PCI_DEVICE_ID_PERICOM_PI7C9X7958,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
0,
|
||||
0, pbn_pericom_PI7C9X7958 },
|
||||
/*
|
||||
* Topic TP560 Data/Fax/Voice 56k modem (reported by Evan Clarke)
|
||||
*/
|
||||
|
|
Загрузка…
Ссылка в новой задаче