1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2ccb29637SOliver Hartkoppmenu "CAN Device Drivers" 3ccb29637SOliver Hartkopp 4ccb29637SOliver Hartkoppconfig CAN_VCAN 5ccb29637SOliver Hartkopp tristate "Virtual Local CAN Interface (vcan)" 6ccb29637SOliver Hartkopp ---help--- 7ccb29637SOliver Hartkopp Similar to the network loopback devices, vcan offers a 8ccb29637SOliver Hartkopp virtual local CAN interface. 9ccb29637SOliver Hartkopp 10ccb29637SOliver Hartkopp This driver can also be built as a module. If so, the module 11ccb29637SOliver Hartkopp will be called vcan. 12ccb29637SOliver Hartkopp 13a8f820a3SOliver Hartkoppconfig CAN_VXCAN 14a8f820a3SOliver Hartkopp tristate "Virtual CAN Tunnel (vxcan)" 15a8f820a3SOliver Hartkopp ---help--- 16a8f820a3SOliver Hartkopp Similar to the virtual ethernet driver veth, vxcan implements a 17a8f820a3SOliver Hartkopp local CAN traffic tunnel between two virtual CAN network devices. 18a8f820a3SOliver Hartkopp When creating a vxcan, two vxcan devices are created as pair. 19a8f820a3SOliver Hartkopp When one end receives the packet it appears on its pair and vice 20a8f820a3SOliver Hartkopp versa. The vxcan can be used for cross namespace communication. 21a8f820a3SOliver Hartkopp 22a8f820a3SOliver Hartkopp In opposite to vcan loopback devices the vxcan only forwards CAN 23a8f820a3SOliver Hartkopp frames to its pair and does *not* provide a local echo of sent 24a8f820a3SOliver Hartkopp CAN frames. To disable a potential echo in af_can.c the vxcan driver 25a8f820a3SOliver Hartkopp announces IFF_ECHO in the interface flags. To have a clean start 26a8f820a3SOliver Hartkopp in each namespace the CAN GW hop counter is set to zero. 27a8f820a3SOliver Hartkopp 28a8f820a3SOliver Hartkopp This driver can also be built as a module. If so, the module 29a8f820a3SOliver Hartkopp will be called vxcan. 30a8f820a3SOliver Hartkopp 31a1044e36SOliver Hartkoppconfig CAN_SLCAN 32a1044e36SOliver Hartkopp tristate "Serial / USB serial CAN Adaptors (slcan)" 3321eaab6dSLinus Torvalds depends on TTY 34a1044e36SOliver Hartkopp ---help--- 35a1044e36SOliver Hartkopp CAN driver for several 'low cost' CAN interfaces that are attached 36a1044e36SOliver Hartkopp via serial lines or via USB-to-serial adapters using the LAWICEL 37a1044e36SOliver Hartkopp ASCII protocol. The driver implements the tty linediscipline N_SLCAN. 38a1044e36SOliver Hartkopp 39a1044e36SOliver Hartkopp As only the sending and receiving of CAN frames is implemented, this 40a1044e36SOliver Hartkopp driver should work with the (serial/USB) CAN hardware from: 41c128df73SOliver Hartkopp www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de 42a1044e36SOliver Hartkopp 43a1044e36SOliver Hartkopp Userspace tools to attach the SLCAN line discipline (slcan_attach, 44a1044e36SOliver Hartkopp slcand) can be found in the can-utils at the SocketCAN SVN, see 45a1044e36SOliver Hartkopp http://developer.berlios.de/projects/socketcan for details. 46a1044e36SOliver Hartkopp 47a1044e36SOliver Hartkopp The slcan driver supports up to 10 CAN netdevices by default which 48a1044e36SOliver Hartkopp can be changed by the 'maxdev=xx' module option. This driver can 49a1044e36SOliver Hartkopp also be built as a module. If so, the module will be called slcan. 50a1044e36SOliver Hartkopp 5139549eefSWolfgang Grandeggerconfig CAN_DEV 5239549eefSWolfgang Grandegger tristate "Platform CAN drivers with Netlink support" 53a30d5155SMarc Kleine-Budde default y 5439549eefSWolfgang Grandegger ---help--- 5539549eefSWolfgang Grandegger Enables the common framework for platform CAN drivers with Netlink 5639549eefSWolfgang Grandegger support. This is the standard library for CAN drivers. 5739549eefSWolfgang Grandegger If unsure, say Y. 5839549eefSWolfgang Grandegger 596586c5d7SMarc Kleine-Buddeif CAN_DEV 606586c5d7SMarc Kleine-Budde 6139549eefSWolfgang Grandeggerconfig CAN_CALC_BITTIMING 6239549eefSWolfgang Grandegger bool "CAN bit-timing calculation" 63a30d5155SMarc Kleine-Budde default y 6439549eefSWolfgang Grandegger ---help--- 6539549eefSWolfgang Grandegger If enabled, CAN bit-timing parameters will be calculated for the 6639549eefSWolfgang Grandegger bit-rate specified via Netlink argument "bitrate" when the device 6739549eefSWolfgang Grandegger get started. This works fine for the most common CAN controllers 6839549eefSWolfgang Grandegger with standard bit-rates but may fail for exotic bit-rates or CAN 6939549eefSWolfgang Grandegger source clock frequencies. Disabling saves some space, but then the 7039549eefSWolfgang Grandegger bit-timing parameters must be specified directly using the Netlink 7139549eefSWolfgang Grandegger arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw". 7239549eefSWolfgang Grandegger If unsure, say Y. 7339549eefSWolfgang Grandegger 74996a953dSFabio Baltiericonfig CAN_LEDS 75996a953dSFabio Baltieri bool "Enable LED triggers for Netlink based drivers" 76996a953dSFabio Baltieri depends on LEDS_CLASS 7730f3b421SUwe Kleine-König # The netdev trigger (LEDS_TRIGGER_NETDEV) should be able to do 7830f3b421SUwe Kleine-König # everything that this driver is doing. This is marked as broken 7930f3b421SUwe Kleine-König # because it uses stuff that is intended to be changed or removed. 8030f3b421SUwe Kleine-König # Please consider switching to the netdev trigger and confirm it 8130f3b421SUwe Kleine-König # fulfills your needs instead of fixing this driver. 8230f3b421SUwe Kleine-König depends on BROKEN 83996a953dSFabio Baltieri select LEDS_TRIGGERS 84996a953dSFabio Baltieri ---help--- 85996a953dSFabio Baltieri This option adds two LED triggers for packet receive and transmit 86996a953dSFabio Baltieri events on each supported CAN device. 87996a953dSFabio Baltieri 88996a953dSFabio Baltieri Say Y here if you are working on a system with led-class supported 89996a953dSFabio Baltieri LEDs and you want to use them as canbus activity indicators. 90996a953dSFabio Baltieri 9168f40152SMarc Kleine-Buddeconfig CAN_AT91 9268f40152SMarc Kleine-Budde tristate "Atmel AT91 onchip CAN controller" 939dc8be28SChen Gang depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM 9468f40152SMarc Kleine-Budde ---help--- 95b9e379bcSUwe Kleine-König This is a driver for the SoC CAN controller in Atmel's AT91SAM9263 96b9e379bcSUwe Kleine-König and AT91SAM9X5 processors. 9768f40152SMarc Kleine-Budde 9826821162SMarc Kleine-Buddeconfig CAN_FLEXCAN 9926821162SMarc Kleine-Budde tristate "Support for Freescale FLEXCAN based chips" 1000f8af56fSPankaj Bansal depends on OF && HAS_IOMEM 10126821162SMarc Kleine-Budde ---help--- 10226821162SMarc Kleine-Budde Say Y here if you want to support for Freescale FlexCAN. 10326821162SMarc Kleine-Budde 10426821162SMarc Kleine-Buddeconfig CAN_GRCAN 10526821162SMarc Kleine-Budde tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices" 10626821162SMarc Kleine-Budde depends on OF && HAS_DMA 10726821162SMarc Kleine-Budde ---help--- 10826821162SMarc Kleine-Budde Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN. 10926821162SMarc Kleine-Budde Note that the driver supports little endian, even though little 11026821162SMarc Kleine-Budde endian syntheses of the cores would need some modifications on 11126821162SMarc Kleine-Budde the hardware level to work. 11226821162SMarc Kleine-Budde 113631eb227SIra W. Snyderconfig CAN_JANZ_ICAN3 114631eb227SIra W. Snyder tristate "Janz VMOD-ICAN3 Intelligent CAN controller" 1156586c5d7SMarc Kleine-Budde depends on MFD_JANZ_CMODIO 116631eb227SIra W. Snyder ---help--- 117631eb227SIra W. Snyder Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which 118631eb227SIra W. Snyder connects to a MODULbus carrier board. 119631eb227SIra W. Snyder 120631eb227SIra W. Snyder This driver can also be built as a module. If so, the module will be 121631eb227SIra W. Snyder called janz-ican3.ko. 122631eb227SIra W. Snyder 1230738eff1SGerhard Bertelsmannconfig CAN_SUN4I 1240738eff1SGerhard Bertelsmann tristate "Allwinner A10 CAN controller" 1250738eff1SGerhard Bertelsmann depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST 1260738eff1SGerhard Bertelsmann ---help--- 1270738eff1SGerhard Bertelsmann Say Y here if you want to use CAN controller found on Allwinner 1280738eff1SGerhard Bertelsmann A10/A20 SoCs. 1290738eff1SGerhard Bertelsmann 1300738eff1SGerhard Bertelsmann To compile this driver as a module, choose M here: the module will 1310738eff1SGerhard Bertelsmann be called sun4i_can. 1320738eff1SGerhard Bertelsmann 13326821162SMarc Kleine-Buddeconfig CAN_TI_HECC 13426821162SMarc Kleine-Budde depends on ARM 13526821162SMarc Kleine-Budde tristate "TI High End CAN Controller" 13626821162SMarc Kleine-Budde ---help--- 13726821162SMarc Kleine-Budde Driver for TI HECC (High End CAN Controller) module found on many 13826821162SMarc Kleine-Budde TI devices. The device specifications are available from www.ti.com 13926821162SMarc Kleine-Budde 140b1201e44SKedareswara rao Appanaconfig CAN_XILINXCAN 141b1201e44SKedareswara rao Appana tristate "Xilinx CAN" 142963a822bSMichal Simek depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST 143b1201e44SKedareswara rao Appana depends on COMMON_CLK && HAS_IOMEM 144b1201e44SKedareswara rao Appana ---help--- 145b1201e44SKedareswara rao Appana Xilinx CAN driver. This driver supports both soft AXI CAN IP and 146b1201e44SKedareswara rao Appana Zynq CANPS IP. 147b1201e44SKedareswara rao Appana 14826821162SMarc Kleine-Buddeconfig PCH_CAN 14926821162SMarc Kleine-Budde tristate "Intel EG20T PCH CAN controller" 15026821162SMarc Kleine-Budde depends on PCI && (X86_32 || COMPILE_TEST) 15126821162SMarc Kleine-Budde ---help--- 15226821162SMarc Kleine-Budde This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which 15326821162SMarc Kleine-Budde is an IOH for x86 embedded processor (Intel Atom E6xx series). 15426821162SMarc Kleine-Budde This driver can access CAN bus. 155b93cf3f0SOliver Hartkopp 156881ff67aSBhupesh Sharmasource "drivers/net/can/c_can/Kconfig" 1572a367c3aSWolfgang Grandeggersource "drivers/net/can/cc770/Kconfig" 1580c4d9c94SMarek Vasutsource "drivers/net/can/ifi_canfd/Kconfig" 15983407c7fSMarek Vasutsource "drivers/net/can/m_can/Kconfig" 16083407c7fSMarek Vasutsource "drivers/net/can/mscan/Kconfig" 1618ac8321eSStephane Grosjeansource "drivers/net/can/peak_canfd/Kconfig" 162dd3bd23eSRamesh Shanmugasundaramsource "drivers/net/can/rcar/Kconfig" 16383407c7fSMarek Vasutsource "drivers/net/can/sja1000/Kconfig" 16403fd3cf5SKurt Van Dijcksource "drivers/net/can/softing/Kconfig" 16583407c7fSMarek Vasutsource "drivers/net/can/spi/Kconfig" 16683407c7fSMarek Vasutsource "drivers/net/can/usb/Kconfig" 16703fd3cf5SKurt Van Dijck 1686586c5d7SMarc Kleine-Buddeendif 1696586c5d7SMarc Kleine-Budde 170ccb29637SOliver Hartkoppconfig CAN_DEBUG_DEVICES 171ccb29637SOliver Hartkopp bool "CAN devices debugging messages" 172ccb29637SOliver Hartkopp ---help--- 173ccb29637SOliver Hartkopp Say Y here if you want the CAN device drivers to produce a bunch of 174ccb29637SOliver Hartkopp debug messages to the system log. Select this if you are having 175ccb29637SOliver Hartkopp a problem with CAN support and want to see more of what is going 176ccb29637SOliver Hartkopp on. 177ccb29637SOliver Hartkopp 178ccb29637SOliver Hartkoppendmenu 179