Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Oliver Hartkopp | ccb2963 | 2007-11-16 15:56:08 -0800 | [diff] [blame] | 2 | menu "CAN Device Drivers" |
Oliver Hartkopp | ccb2963 | 2007-11-16 15:56:08 -0800 | [diff] [blame] | 3 | |
| 4 | config CAN_VCAN |
| 5 | tristate "Virtual Local CAN Interface (vcan)" |
Oliver Hartkopp | ccb2963 | 2007-11-16 15:56:08 -0800 | [diff] [blame] | 6 | ---help--- |
| 7 | Similar to the network loopback devices, vcan offers a |
| 8 | virtual local CAN interface. |
| 9 | |
| 10 | This driver can also be built as a module. If so, the module |
| 11 | will be called vcan. |
| 12 | |
Oliver Hartkopp | a8f820a3 | 2017-04-25 08:19:44 +0200 | [diff] [blame] | 13 | config CAN_VXCAN |
| 14 | tristate "Virtual CAN Tunnel (vxcan)" |
| 15 | ---help--- |
| 16 | Similar to the virtual ethernet driver veth, vxcan implements a |
| 17 | local CAN traffic tunnel between two virtual CAN network devices. |
| 18 | When creating a vxcan, two vxcan devices are created as pair. |
| 19 | When one end receives the packet it appears on its pair and vice |
| 20 | versa. The vxcan can be used for cross namespace communication. |
| 21 | |
| 22 | In opposite to vcan loopback devices the vxcan only forwards CAN |
| 23 | frames to its pair and does *not* provide a local echo of sent |
| 24 | CAN frames. To disable a potential echo in af_can.c the vxcan driver |
| 25 | announces IFF_ECHO in the interface flags. To have a clean start |
| 26 | in each namespace the CAN GW hop counter is set to zero. |
| 27 | |
| 28 | This driver can also be built as a module. If so, the module |
| 29 | will be called vxcan. |
| 30 | |
Oliver Hartkopp | a1044e3 | 2010-12-02 10:57:59 +0000 | [diff] [blame] | 31 | config CAN_SLCAN |
| 32 | tristate "Serial / USB serial CAN Adaptors (slcan)" |
Linus Torvalds | 21eaab6 | 2013-02-21 13:41:04 -0800 | [diff] [blame] | 33 | depends on TTY |
Oliver Hartkopp | a1044e3 | 2010-12-02 10:57:59 +0000 | [diff] [blame] | 34 | ---help--- |
| 35 | CAN driver for several 'low cost' CAN interfaces that are attached |
| 36 | via serial lines or via USB-to-serial adapters using the LAWICEL |
| 37 | ASCII protocol. The driver implements the tty linediscipline N_SLCAN. |
| 38 | |
| 39 | As only the sending and receiving of CAN frames is implemented, this |
| 40 | driver should work with the (serial/USB) CAN hardware from: |
Oliver Hartkopp | c128df7 | 2011-01-30 01:09:37 -0800 | [diff] [blame] | 41 | www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de |
Oliver Hartkopp | a1044e3 | 2010-12-02 10:57:59 +0000 | [diff] [blame] | 42 | |
| 43 | Userspace tools to attach the SLCAN line discipline (slcan_attach, |
| 44 | slcand) can be found in the can-utils at the SocketCAN SVN, see |
| 45 | http://developer.berlios.de/projects/socketcan for details. |
| 46 | |
| 47 | The slcan driver supports up to 10 CAN netdevices by default which |
| 48 | can be changed by the 'maxdev=xx' module option. This driver can |
| 49 | also be built as a module. If so, the module will be called slcan. |
| 50 | |
Wolfgang Grandegger | 39549ee | 2009-05-15 23:39:29 +0000 | [diff] [blame] | 51 | config CAN_DEV |
| 52 | tristate "Platform CAN drivers with Netlink support" |
Marc Kleine-Budde | a30d515 | 2011-06-26 21:39:51 +0000 | [diff] [blame] | 53 | default y |
Wolfgang Grandegger | 39549ee | 2009-05-15 23:39:29 +0000 | [diff] [blame] | 54 | ---help--- |
| 55 | Enables the common framework for platform CAN drivers with Netlink |
| 56 | support. This is the standard library for CAN drivers. |
| 57 | If unsure, say Y. |
| 58 | |
Marc Kleine-Budde | 6586c5d | 2012-07-20 21:04:13 +0200 | [diff] [blame] | 59 | if CAN_DEV |
| 60 | |
Wolfgang Grandegger | 39549ee | 2009-05-15 23:39:29 +0000 | [diff] [blame] | 61 | config CAN_CALC_BITTIMING |
| 62 | bool "CAN bit-timing calculation" |
Marc Kleine-Budde | a30d515 | 2011-06-26 21:39:51 +0000 | [diff] [blame] | 63 | default y |
Wolfgang Grandegger | 39549ee | 2009-05-15 23:39:29 +0000 | [diff] [blame] | 64 | ---help--- |
| 65 | If enabled, CAN bit-timing parameters will be calculated for the |
| 66 | bit-rate specified via Netlink argument "bitrate" when the device |
| 67 | get started. This works fine for the most common CAN controllers |
| 68 | with standard bit-rates but may fail for exotic bit-rates or CAN |
| 69 | source clock frequencies. Disabling saves some space, but then the |
| 70 | bit-timing parameters must be specified directly using the Netlink |
| 71 | arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw". |
| 72 | If unsure, say Y. |
| 73 | |
Fabio Baltieri | 996a953 | 2012-12-18 18:50:55 +0100 | [diff] [blame] | 74 | config CAN_LEDS |
| 75 | bool "Enable LED triggers for Netlink based drivers" |
| 76 | depends on LEDS_CLASS |
Uwe Kleine-König | 30f3b42 | 2018-06-27 11:20:52 +0200 | [diff] [blame] | 77 | # The netdev trigger (LEDS_TRIGGER_NETDEV) should be able to do |
| 78 | # everything that this driver is doing. This is marked as broken |
| 79 | # because it uses stuff that is intended to be changed or removed. |
| 80 | # Please consider switching to the netdev trigger and confirm it |
| 81 | # fulfills your needs instead of fixing this driver. |
| 82 | depends on BROKEN |
Fabio Baltieri | 996a953 | 2012-12-18 18:50:55 +0100 | [diff] [blame] | 83 | select LEDS_TRIGGERS |
| 84 | ---help--- |
| 85 | This option adds two LED triggers for packet receive and transmit |
| 86 | events on each supported CAN device. |
| 87 | |
| 88 | Say Y here if you are working on a system with led-class supported |
| 89 | LEDs and you want to use them as canbus activity indicators. |
| 90 | |
Marc Kleine-Budde | 68f4015 | 2009-09-22 14:46:57 -0700 | [diff] [blame] | 91 | config CAN_AT91 |
| 92 | tristate "Atmel AT91 onchip CAN controller" |
Chen Gang | 9dc8be2 | 2014-10-02 22:01:42 +0800 | [diff] [blame] | 93 | depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM |
Marc Kleine-Budde | 68f4015 | 2009-09-22 14:46:57 -0700 | [diff] [blame] | 94 | ---help--- |
Uwe Kleine-König | b9e379b | 2011-04-26 15:05:59 +0200 | [diff] [blame] | 95 | This is a driver for the SoC CAN controller in Atmel's AT91SAM9263 |
| 96 | and AT91SAM9X5 processors. |
Marc Kleine-Budde | 68f4015 | 2009-09-22 14:46:57 -0700 | [diff] [blame] | 97 | |
Marc Kleine-Budde | 2682116 | 2016-02-16 09:34:38 +0100 | [diff] [blame] | 98 | config CAN_FLEXCAN |
| 99 | tristate "Support for Freescale FLEXCAN based chips" |
Pankaj Bansal | 0f8af56 | 2018-08-01 19:36:45 +0530 | [diff] [blame] | 100 | depends on OF && HAS_IOMEM |
Marc Kleine-Budde | 2682116 | 2016-02-16 09:34:38 +0100 | [diff] [blame] | 101 | ---help--- |
| 102 | Say Y here if you want to support for Freescale FlexCAN. |
| 103 | |
| 104 | config CAN_GRCAN |
| 105 | tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices" |
| 106 | depends on OF && HAS_DMA |
| 107 | ---help--- |
| 108 | Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN. |
| 109 | Note that the driver supports little endian, even though little |
| 110 | endian syntheses of the cores would need some modifications on |
| 111 | the hardware level to work. |
| 112 | |
Ira W. Snyder | 631eb22 | 2010-03-29 09:58:51 -0700 | [diff] [blame] | 113 | config CAN_JANZ_ICAN3 |
| 114 | tristate "Janz VMOD-ICAN3 Intelligent CAN controller" |
Marc Kleine-Budde | 6586c5d | 2012-07-20 21:04:13 +0200 | [diff] [blame] | 115 | depends on MFD_JANZ_CMODIO |
Ira W. Snyder | 631eb22 | 2010-03-29 09:58:51 -0700 | [diff] [blame] | 116 | ---help--- |
| 117 | Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which |
| 118 | connects to a MODULbus carrier board. |
| 119 | |
| 120 | This driver can also be built as a module. If so, the module will be |
| 121 | called janz-ican3.ko. |
| 122 | |
Henning Colliander | 26ad340 | 2019-05-28 14:48:21 +0200 | [diff] [blame] | 123 | config CAN_KVASER_PCIEFD |
| 124 | depends on PCI |
| 125 | tristate "Kvaser PCIe FD cards" |
| 126 | help |
| 127 | This is a driver for the Kvaser PCI Express CAN FD family. |
| 128 | |
| 129 | Supported devices: |
| 130 | Kvaser PCIEcan 4xHS |
| 131 | Kvaser PCIEcan 2xHS v2 |
| 132 | Kvaser PCIEcan HS v2 |
| 133 | Kvaser Mini PCI Express HS v2 |
| 134 | Kvaser Mini PCI Express 2xHS v2 |
| 135 | |
Gerhard Bertelsmann | 0738eff | 2015-09-16 13:21:22 +0200 | [diff] [blame] | 136 | config CAN_SUN4I |
| 137 | tristate "Allwinner A10 CAN controller" |
| 138 | depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST |
| 139 | ---help--- |
| 140 | Say Y here if you want to use CAN controller found on Allwinner |
| 141 | A10/A20 SoCs. |
| 142 | |
| 143 | To compile this driver as a module, choose M here: the module will |
| 144 | be called sun4i_can. |
| 145 | |
Marc Kleine-Budde | 2682116 | 2016-02-16 09:34:38 +0100 | [diff] [blame] | 146 | config CAN_TI_HECC |
| 147 | depends on ARM |
| 148 | tristate "TI High End CAN Controller" |
| 149 | ---help--- |
| 150 | Driver for TI HECC (High End CAN Controller) module found on many |
| 151 | TI devices. The device specifications are available from www.ti.com |
| 152 | |
Kedareswara rao Appana | b1201e44 | 2014-05-21 12:30:59 +0530 | [diff] [blame] | 153 | config CAN_XILINXCAN |
| 154 | tristate "Xilinx CAN" |
Michal Simek | 963a822 | 2015-03-09 15:03:32 +0100 | [diff] [blame] | 155 | depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST |
Kedareswara rao Appana | b1201e44 | 2014-05-21 12:30:59 +0530 | [diff] [blame] | 156 | depends on COMMON_CLK && HAS_IOMEM |
| 157 | ---help--- |
| 158 | Xilinx CAN driver. This driver supports both soft AXI CAN IP and |
| 159 | Zynq CANPS IP. |
| 160 | |
Marc Kleine-Budde | 2682116 | 2016-02-16 09:34:38 +0100 | [diff] [blame] | 161 | config PCH_CAN |
| 162 | tristate "Intel EG20T PCH CAN controller" |
| 163 | depends on PCI && (X86_32 || COMPILE_TEST) |
| 164 | ---help--- |
| 165 | This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which |
| 166 | is an IOH for x86 embedded processor (Intel Atom E6xx series). |
| 167 | This driver can access CAN bus. |
Oliver Hartkopp | b93cf3f | 2009-11-12 01:35:01 +0000 | [diff] [blame] | 168 | |
Bhupesh Sharma | 881ff67 | 2011-02-13 22:51:44 -0800 | [diff] [blame] | 169 | source "drivers/net/can/c_can/Kconfig" |
Wolfgang Grandegger | 2a367c3 | 2011-11-30 23:41:18 +0000 | [diff] [blame] | 170 | source "drivers/net/can/cc770/Kconfig" |
Marek Vasut | 0c4d9c9 | 2016-01-20 15:33:39 +0100 | [diff] [blame] | 171 | source "drivers/net/can/ifi_canfd/Kconfig" |
Marek Vasut | 83407c7 | 2016-01-11 19:47:59 +0100 | [diff] [blame] | 172 | source "drivers/net/can/m_can/Kconfig" |
| 173 | source "drivers/net/can/mscan/Kconfig" |
Stephane Grosjean | 8ac8321 | 2017-01-19 16:31:07 +0100 | [diff] [blame] | 174 | source "drivers/net/can/peak_canfd/Kconfig" |
Ramesh Shanmugasundaram | dd3bd23 | 2016-06-17 09:20:55 +0100 | [diff] [blame] | 175 | source "drivers/net/can/rcar/Kconfig" |
Marek Vasut | 83407c7 | 2016-01-11 19:47:59 +0100 | [diff] [blame] | 176 | source "drivers/net/can/sja1000/Kconfig" |
Kurt Van Dijck | 03fd3cf | 2011-01-11 04:32:31 +0000 | [diff] [blame] | 177 | source "drivers/net/can/softing/Kconfig" |
Marek Vasut | 83407c7 | 2016-01-11 19:47:59 +0100 | [diff] [blame] | 178 | source "drivers/net/can/spi/Kconfig" |
| 179 | source "drivers/net/can/usb/Kconfig" |
Kurt Van Dijck | 03fd3cf | 2011-01-11 04:32:31 +0000 | [diff] [blame] | 180 | |
Marc Kleine-Budde | 6586c5d | 2012-07-20 21:04:13 +0200 | [diff] [blame] | 181 | endif |
| 182 | |
Oliver Hartkopp | ccb2963 | 2007-11-16 15:56:08 -0800 | [diff] [blame] | 183 | config CAN_DEBUG_DEVICES |
| 184 | bool "CAN devices debugging messages" |
Oliver Hartkopp | ccb2963 | 2007-11-16 15:56:08 -0800 | [diff] [blame] | 185 | ---help--- |
| 186 | Say Y here if you want the CAN device drivers to produce a bunch of |
| 187 | debug messages to the system log. Select this if you are having |
| 188 | a problem with CAN support and want to see more of what is going |
| 189 | on. |
| 190 | |
| 191 | endmenu |