Commit e4bc6c06 authored by Muhammad Ghias's avatar Muhammad Ghias Committed by Marc Kleine-Budde

can: sja1000: plx_pci: add support for Connect Tech Inc's Canpro/104-Plus Opto CAN board

Patch adds support for CANpro/104-Plus Opto CAN board. Board uses PLX9030
bridge and two NXP SJA1000 CAN controllers. Patch is generated and tested with
kernel 3.6.1.
Signed-off-by: default avatarMuhammad Ghias <mghias@connecttech.com>
Acked-by: default avatarWolfgang Grandegger <wg@grandegger.com>
[mkl: minor adjustments to commit message]
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 702ed3c1
...@@ -93,6 +93,7 @@ config CAN_PLX_PCI ...@@ -93,6 +93,7 @@ config CAN_PLX_PCI
- Marathon CAN-bus-PCI card (http://www.marathon.ru/) - Marathon CAN-bus-PCI card (http://www.marathon.ru/)
- TEWS TECHNOLOGIES TPMC810 card (http://www.tews.com/) - TEWS TECHNOLOGIES TPMC810 card (http://www.tews.com/)
- IXXAT Automation PC-I 04/PCI card (http://www.ixxat.com/) - IXXAT Automation PC-I 04/PCI card (http://www.ixxat.com/)
- Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card (http://www.connecttech.com)
config CAN_TSCAN1 config CAN_TSCAN1
tristate "TS-CAN1 PC104 boards" tristate "TS-CAN1 PC104 boards"
......
...@@ -44,6 +44,7 @@ MODULE_SUPPORTED_DEVICE("Adlink PCI-7841/cPCI-7841, " ...@@ -44,6 +44,7 @@ MODULE_SUPPORTED_DEVICE("Adlink PCI-7841/cPCI-7841, "
"esd CAN-PCI/CPCI/PCI104/200, " "esd CAN-PCI/CPCI/PCI104/200, "
"esd CAN-PCI/PMC/266, " "esd CAN-PCI/PMC/266, "
"esd CAN-PCIe/2000, " "esd CAN-PCIe/2000, "
"Connect Tech Inc. CANpro/104-Plus Opto (CRG001), "
"IXXAT PC-I 04/PCI") "IXXAT PC-I 04/PCI")
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
...@@ -131,6 +132,9 @@ struct plx_pci_card { ...@@ -131,6 +132,9 @@ struct plx_pci_card {
#define TEWS_PCI_VENDOR_ID 0x1498 #define TEWS_PCI_VENDOR_ID 0x1498
#define TEWS_PCI_DEVICE_ID_TMPC810 0x032A #define TEWS_PCI_DEVICE_ID_TMPC810 0x032A
#define CTI_PCI_VENDOR_ID 0x12c4
#define CTI_PCI_DEVICE_ID_CRG001 0x0900
static void plx_pci_reset_common(struct pci_dev *pdev); static void plx_pci_reset_common(struct pci_dev *pdev);
static void plx_pci_reset_marathon(struct pci_dev *pdev); static void plx_pci_reset_marathon(struct pci_dev *pdev);
static void plx9056_pci_reset_common(struct pci_dev *pdev); static void plx9056_pci_reset_common(struct pci_dev *pdev);
...@@ -222,6 +226,14 @@ static struct plx_pci_card_info plx_pci_card_info_tews __devinitdata = { ...@@ -222,6 +226,14 @@ static struct plx_pci_card_info plx_pci_card_info_tews __devinitdata = {
/* based on PLX9030 */ /* based on PLX9030 */
}; };
static struct plx_pci_card_info plx_pci_card_info_cti __devinitdata = {
"Connect Tech Inc. CANpro/104-Plus Opto (CRG001)", 2,
PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
{0, 0x00, 0x00}, { {2, 0x000, 0x80}, {2, 0x100, 0x80} },
&plx_pci_reset_common
/* based on PLX9030 */
};
static DEFINE_PCI_DEVICE_TABLE(plx_pci_tbl) = { static DEFINE_PCI_DEVICE_TABLE(plx_pci_tbl) = {
{ {
/* Adlink PCI-7841/cPCI-7841 */ /* Adlink PCI-7841/cPCI-7841 */
...@@ -300,6 +312,13 @@ static DEFINE_PCI_DEVICE_TABLE(plx_pci_tbl) = { ...@@ -300,6 +312,13 @@ static DEFINE_PCI_DEVICE_TABLE(plx_pci_tbl) = {
0, 0, 0, 0,
(kernel_ulong_t)&plx_pci_card_info_tews (kernel_ulong_t)&plx_pci_card_info_tews
}, },
{
/* Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card */
PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
CTI_PCI_VENDOR_ID, CTI_PCI_DEVICE_ID_CRG001,
0, 0,
(kernel_ulong_t)&plx_pci_card_info_cti
},
{ 0,} { 0,}
}; };
MODULE_DEVICE_TABLE(pci, plx_pci_tbl); MODULE_DEVICE_TABLE(pci, plx_pci_tbl);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment