can: sja1000: add support for Elcus CAN200PCI
authorOleg Moroz <oleg.moroz@mcc.vniiem.ru>
Sat, 4 Jan 2014 09:53:14 +0000 (13:53 +0400)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Sat, 11 Jan 2014 18:43:16 +0000 (19:43 +0100)
This patch adds support for Elcus CAN200PCI card.

Signed-off-by: Oleg Moroz <oleg.moroz@mcc.vniiem.ru>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/sja1000/plx_pci.c

index 5df7f98..fbb61a0 100644 (file)
@@ -44,7 +44,8 @@ MODULE_SUPPORTED_DEVICE("Adlink PCI-7841/cPCI-7841, "
                        "esd CAN-PCI/PMC/266, "
                        "esd CAN-PCIe/2000, "
                        "Connect Tech Inc. CANpro/104-Plus Opto (CRG001), "
-                       "IXXAT PC-I 04/PCI")
+                       "IXXAT PC-I 04/PCI, "
+                       "ELCUS CAN-200-PCI")
 MODULE_LICENSE("GPL v2");
 
 #define PLX_PCI_MAX_CHAN 2
@@ -122,6 +123,11 @@ struct plx_pci_card {
 #define ESD_PCI_SUB_SYS_ID_PCIE2000    0x0200
 #define ESD_PCI_SUB_SYS_ID_PCI104200   0x0501
 
+#define CAN200PCI_DEVICE_ID            0x9030
+#define CAN200PCI_VENDOR_ID            0x10b5
+#define CAN200PCI_SUB_DEVICE_ID                0x0301
+#define CAN200PCI_SUB_VENDOR_ID                0xe1c5
+
 #define IXXAT_PCI_VENDOR_ID            0x10b5
 #define IXXAT_PCI_DEVICE_ID            0x9050
 #define IXXAT_PCI_SUB_SYS_ID           0x2540
@@ -233,6 +239,14 @@ static struct plx_pci_card_info plx_pci_card_info_cti = {
        /* based on PLX9030 */
 };
 
+static struct plx_pci_card_info plx_pci_card_info_elcus = {
+       "Eclus CAN-200-PCI", 2,
+       PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
+       {1, 0x00, 0x00}, { {2, 0x00, 0x80}, {3, 0x00, 0x80} },
+       &plx_pci_reset_common
+       /* based on PLX9030 */
+};
+
 static DEFINE_PCI_DEVICE_TABLE(plx_pci_tbl) = {
        {
                /* Adlink PCI-7841/cPCI-7841 */
@@ -318,6 +332,13 @@ static DEFINE_PCI_DEVICE_TABLE(plx_pci_tbl) = {
                0, 0,
                (kernel_ulong_t)&plx_pci_card_info_cti
        },
+       {
+               /* Elcus CAN-200-PCI */
+               CAN200PCI_VENDOR_ID, CAN200PCI_DEVICE_ID,
+               CAN200PCI_SUB_VENDOR_ID, CAN200PCI_SUB_DEVICE_ID,
+               0, 0,
+               (kernel_ulong_t)&plx_pci_card_info_elcus
+       },
        { 0,}
 };
 MODULE_DEVICE_TABLE(pci, plx_pci_tbl);