xref: /openbmc/linux/drivers/net/can/Kconfig (revision a8f820a3)
1ccb29637SOliver Hartkoppmenu "CAN Device Drivers"
2ccb29637SOliver Hartkopp
3ccb29637SOliver Hartkoppconfig CAN_VCAN
4ccb29637SOliver Hartkopp	tristate "Virtual Local CAN Interface (vcan)"
5ccb29637SOliver Hartkopp	---help---
6ccb29637SOliver Hartkopp	  Similar to the network loopback devices, vcan offers a
7ccb29637SOliver Hartkopp	  virtual local CAN interface.
8ccb29637SOliver Hartkopp
9ccb29637SOliver Hartkopp	  This driver can also be built as a module.  If so, the module
10ccb29637SOliver Hartkopp	  will be called vcan.
11ccb29637SOliver Hartkopp
12a8f820a3SOliver Hartkoppconfig CAN_VXCAN
13a8f820a3SOliver Hartkopp	tristate "Virtual CAN Tunnel (vxcan)"
14a8f820a3SOliver Hartkopp	---help---
15a8f820a3SOliver Hartkopp	  Similar to the virtual ethernet driver veth, vxcan implements a
16a8f820a3SOliver Hartkopp	  local CAN traffic tunnel between two virtual CAN network devices.
17a8f820a3SOliver Hartkopp	  When creating a vxcan, two vxcan devices are created as pair.
18a8f820a3SOliver Hartkopp	  When one end receives the packet it appears on its pair and vice
19a8f820a3SOliver Hartkopp	  versa. The vxcan can be used for cross namespace communication.
20a8f820a3SOliver Hartkopp
21a8f820a3SOliver Hartkopp	  In opposite to vcan loopback devices the vxcan only forwards CAN
22a8f820a3SOliver Hartkopp	  frames to its pair and does *not* provide a local echo of sent
23a8f820a3SOliver Hartkopp	  CAN frames. To disable a potential echo in af_can.c the vxcan driver
24a8f820a3SOliver Hartkopp	  announces IFF_ECHO in the interface flags. To have a clean start
25a8f820a3SOliver Hartkopp	  in each namespace the CAN GW hop counter is set to zero.
26a8f820a3SOliver Hartkopp
27a8f820a3SOliver Hartkopp	  This driver can also be built as a module.  If so, the module
28a8f820a3SOliver Hartkopp	  will be called vxcan.
29a8f820a3SOliver Hartkopp
30a1044e36SOliver Hartkoppconfig CAN_SLCAN
31a1044e36SOliver Hartkopp	tristate "Serial / USB serial CAN Adaptors (slcan)"
3221eaab6dSLinus Torvalds	depends on TTY
33a1044e36SOliver Hartkopp	---help---
34a1044e36SOliver Hartkopp	  CAN driver for several 'low cost' CAN interfaces that are attached
35a1044e36SOliver Hartkopp	  via serial lines or via USB-to-serial adapters using the LAWICEL
36a1044e36SOliver Hartkopp	  ASCII protocol. The driver implements the tty linediscipline N_SLCAN.
37a1044e36SOliver Hartkopp
38a1044e36SOliver Hartkopp	  As only the sending and receiving of CAN frames is implemented, this
39a1044e36SOliver Hartkopp	  driver should work with the (serial/USB) CAN hardware from:
40c128df73SOliver Hartkopp	  www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de
41a1044e36SOliver Hartkopp
42a1044e36SOliver Hartkopp	  Userspace tools to attach the SLCAN line discipline (slcan_attach,
43a1044e36SOliver Hartkopp	  slcand) can be found in the can-utils at the SocketCAN SVN, see
44a1044e36SOliver Hartkopp	  http://developer.berlios.de/projects/socketcan for details.
45a1044e36SOliver Hartkopp
46a1044e36SOliver Hartkopp	  The slcan driver supports up to 10 CAN netdevices by default which
47a1044e36SOliver Hartkopp	  can be changed by the 'maxdev=xx' module option. This driver can
48a1044e36SOliver Hartkopp	  also be built as a module. If so, the module will be called slcan.
49a1044e36SOliver Hartkopp
5039549eefSWolfgang Grandeggerconfig CAN_DEV
5139549eefSWolfgang Grandegger	tristate "Platform CAN drivers with Netlink support"
52a30d5155SMarc Kleine-Budde	default y
5339549eefSWolfgang Grandegger	---help---
5439549eefSWolfgang Grandegger	  Enables the common framework for platform CAN drivers with Netlink
5539549eefSWolfgang Grandegger	  support. This is the standard library for CAN drivers.
5639549eefSWolfgang Grandegger	  If unsure, say Y.
5739549eefSWolfgang Grandegger
586586c5d7SMarc Kleine-Buddeif CAN_DEV
596586c5d7SMarc Kleine-Budde
6039549eefSWolfgang Grandeggerconfig CAN_CALC_BITTIMING
6139549eefSWolfgang Grandegger	bool "CAN bit-timing calculation"
62a30d5155SMarc Kleine-Budde	default y
6339549eefSWolfgang Grandegger	---help---
6439549eefSWolfgang Grandegger	  If enabled, CAN bit-timing parameters will be calculated for the
6539549eefSWolfgang Grandegger	  bit-rate specified via Netlink argument "bitrate" when the device
6639549eefSWolfgang Grandegger	  get started. This works fine for the most common CAN controllers
6739549eefSWolfgang Grandegger	  with standard bit-rates but may fail for exotic bit-rates or CAN
6839549eefSWolfgang Grandegger	  source clock frequencies. Disabling saves some space, but then the
6939549eefSWolfgang Grandegger	  bit-timing parameters must be specified directly using the Netlink
7039549eefSWolfgang Grandegger	  arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw".
7139549eefSWolfgang Grandegger	  If unsure, say Y.
7239549eefSWolfgang Grandegger
73996a953dSFabio Baltiericonfig CAN_LEDS
74996a953dSFabio Baltieri	bool "Enable LED triggers for Netlink based drivers"
75996a953dSFabio Baltieri	depends on LEDS_CLASS
76996a953dSFabio Baltieri	select LEDS_TRIGGERS
77996a953dSFabio Baltieri	---help---
78996a953dSFabio Baltieri	  This option adds two LED triggers for packet receive and transmit
79996a953dSFabio Baltieri	  events on each supported CAN device.
80996a953dSFabio Baltieri
81996a953dSFabio Baltieri	  Say Y here if you are working on a system with led-class supported
82996a953dSFabio Baltieri	  LEDs and you want to use them as canbus activity indicators.
83996a953dSFabio Baltieri
8468f40152SMarc Kleine-Buddeconfig CAN_AT91
8568f40152SMarc Kleine-Budde	tristate "Atmel AT91 onchip CAN controller"
869dc8be28SChen Gang	depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM
8768f40152SMarc Kleine-Budde	---help---
88b9e379bcSUwe Kleine-König	  This is a driver for the SoC CAN controller in Atmel's AT91SAM9263
89b9e379bcSUwe Kleine-König	  and AT91SAM9X5 processors.
9068f40152SMarc Kleine-Budde
91bbb84619SBarry Songconfig CAN_BFIN
926586c5d7SMarc Kleine-Budde	depends on BF534 || BF536 || BF537 || BF538 || BF539 || BF54x
93bbb84619SBarry Song	tristate "Analog Devices Blackfin on-chip CAN"
94bbb84619SBarry Song	---help---
95bbb84619SBarry Song	  Driver for the Analog Devices Blackfin on-chip CAN controllers
96bbb84619SBarry Song
97bbb84619SBarry Song	  To compile this driver as a module, choose M here: the
98bbb84619SBarry Song	  module will be called bfin_can.
99bbb84619SBarry Song
10026821162SMarc Kleine-Buddeconfig CAN_FLEXCAN
10126821162SMarc Kleine-Budde	tristate "Support for Freescale FLEXCAN based chips"
10226821162SMarc Kleine-Budde	depends on ARM || PPC
10326821162SMarc Kleine-Budde	---help---
10426821162SMarc Kleine-Budde	  Say Y here if you want to support for Freescale FlexCAN.
10526821162SMarc Kleine-Budde
10626821162SMarc Kleine-Buddeconfig CAN_GRCAN
10726821162SMarc Kleine-Budde	tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices"
10826821162SMarc Kleine-Budde	depends on OF && HAS_DMA
10926821162SMarc Kleine-Budde	---help---
11026821162SMarc Kleine-Budde	  Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN.
11126821162SMarc Kleine-Budde	  Note that the driver supports little endian, even though little
11226821162SMarc Kleine-Budde	  endian syntheses of the cores would need some modifications on
11326821162SMarc Kleine-Budde	  the hardware level to work.
11426821162SMarc Kleine-Budde
115631eb227SIra W. Snyderconfig CAN_JANZ_ICAN3
116631eb227SIra W. Snyder	tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
1176586c5d7SMarc Kleine-Budde	depends on MFD_JANZ_CMODIO
118631eb227SIra W. Snyder	---help---
119631eb227SIra W. Snyder	  Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which
120631eb227SIra W. Snyder	  connects to a MODULbus carrier board.
121631eb227SIra W. Snyder
122631eb227SIra W. Snyder	  This driver can also be built as a module. If so, the module will be
123631eb227SIra W. Snyder	  called janz-ican3.ko.
124631eb227SIra W. Snyder
1250738eff1SGerhard Bertelsmannconfig CAN_SUN4I
1260738eff1SGerhard Bertelsmann	tristate "Allwinner A10 CAN controller"
1270738eff1SGerhard Bertelsmann	depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
1280738eff1SGerhard Bertelsmann	---help---
1290738eff1SGerhard Bertelsmann	  Say Y here if you want to use CAN controller found on Allwinner
1300738eff1SGerhard Bertelsmann	  A10/A20 SoCs.
1310738eff1SGerhard Bertelsmann
1320738eff1SGerhard Bertelsmann	  To compile this driver as a module, choose M here: the module will
1330738eff1SGerhard Bertelsmann	  be called sun4i_can.
1340738eff1SGerhard Bertelsmann
13526821162SMarc Kleine-Buddeconfig CAN_TI_HECC
13626821162SMarc Kleine-Budde	depends on ARM
13726821162SMarc Kleine-Budde	tristate "TI High End CAN Controller"
13826821162SMarc Kleine-Budde	---help---
13926821162SMarc Kleine-Budde	  Driver for TI HECC (High End CAN Controller) module found on many
14026821162SMarc Kleine-Budde	  TI devices. The device specifications are available from www.ti.com
14126821162SMarc Kleine-Budde
142b1201e44SKedareswara rao Appanaconfig CAN_XILINXCAN
143b1201e44SKedareswara rao Appana	tristate "Xilinx CAN"
144963a822bSMichal Simek	depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST
145b1201e44SKedareswara rao Appana	depends on COMMON_CLK && HAS_IOMEM
146b1201e44SKedareswara rao Appana	---help---
147b1201e44SKedareswara rao Appana	  Xilinx CAN driver. This driver supports both soft AXI CAN IP and
148b1201e44SKedareswara rao Appana	  Zynq CANPS IP.
149b1201e44SKedareswara rao Appana
15026821162SMarc Kleine-Buddeconfig PCH_CAN
15126821162SMarc Kleine-Budde	tristate "Intel EG20T PCH CAN controller"
15226821162SMarc Kleine-Budde	depends on PCI && (X86_32 || COMPILE_TEST)
15326821162SMarc Kleine-Budde	---help---
15426821162SMarc Kleine-Budde	  This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which
15526821162SMarc Kleine-Budde	  is an IOH for x86 embedded processor (Intel Atom E6xx series).
15626821162SMarc Kleine-Budde	  This driver can access CAN bus.
157b93cf3f0SOliver Hartkopp
158881ff67aSBhupesh Sharmasource "drivers/net/can/c_can/Kconfig"
1592a367c3aSWolfgang Grandeggersource "drivers/net/can/cc770/Kconfig"
1600c4d9c94SMarek Vasutsource "drivers/net/can/ifi_canfd/Kconfig"
16183407c7fSMarek Vasutsource "drivers/net/can/m_can/Kconfig"
16283407c7fSMarek Vasutsource "drivers/net/can/mscan/Kconfig"
1638ac8321eSStephane Grosjeansource "drivers/net/can/peak_canfd/Kconfig"
164dd3bd23eSRamesh Shanmugasundaramsource "drivers/net/can/rcar/Kconfig"
16583407c7fSMarek Vasutsource "drivers/net/can/sja1000/Kconfig"
16603fd3cf5SKurt Van Dijcksource "drivers/net/can/softing/Kconfig"
16783407c7fSMarek Vasutsource "drivers/net/can/spi/Kconfig"
16883407c7fSMarek Vasutsource "drivers/net/can/usb/Kconfig"
16903fd3cf5SKurt Van Dijck
1706586c5d7SMarc Kleine-Buddeendif
1716586c5d7SMarc Kleine-Budde
172ccb29637SOliver Hartkoppconfig CAN_DEBUG_DEVICES
173ccb29637SOliver Hartkopp	bool "CAN devices debugging messages"
174ccb29637SOliver Hartkopp	---help---
175ccb29637SOliver Hartkopp	  Say Y here if you want the CAN device drivers to produce a bunch of
176ccb29637SOliver Hartkopp	  debug messages to the system log.  Select this if you are having
177ccb29637SOliver Hartkopp	  a problem with CAN support and want to see more of what is going
178ccb29637SOliver Hartkopp	  on.
179ccb29637SOliver Hartkopp
180ccb29637SOliver Hartkoppendmenu
181