blob: 6d04183ed95528ee44905193ce4f975007de572f [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001menu "CAN Device Drivers"
2
3config CAN_VCAN
4 tristate "Virtual Local CAN Interface (vcan)"
5 ---help---
6 Similar to the network loopback devices, vcan offers a
7 virtual local CAN interface.
8
9 This driver can also be built as a module. If so, the module
10 will be called vcan.
11
12config CAN_SLCAN
13 tristate "Serial / USB serial CAN Adaptors (slcan)"
14 depends on TTY
15 ---help---
16 CAN driver for several 'low cost' CAN interfaces that are attached
17 via serial lines or via USB-to-serial adapters using the LAWICEL
18 ASCII protocol. The driver implements the tty linediscipline N_SLCAN.
19
20 As only the sending and receiving of CAN frames is implemented, this
21 driver should work with the (serial/USB) CAN hardware from:
22 www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de
23
24 Userspace tools to attach the SLCAN line discipline (slcan_attach,
25 slcand) can be found in the can-utils at the SocketCAN SVN, see
26 http://developer.berlios.de/projects/socketcan for details.
27
28 The slcan driver supports up to 10 CAN netdevices by default which
29 can be changed by the 'maxdev=xx' module option. This driver can
30 also be built as a module. If so, the module will be called slcan.
31
32config CAN_DEV
33 tristate "Platform CAN drivers with Netlink support"
34 default y
35 ---help---
36 Enables the common framework for platform CAN drivers with Netlink
37 support. This is the standard library for CAN drivers.
38 If unsure, say Y.
39
40if CAN_DEV
41
42config CAN_CALC_BITTIMING
43 bool "CAN bit-timing calculation"
44 default y
45 ---help---
46 If enabled, CAN bit-timing parameters will be calculated for the
47 bit-rate specified via Netlink argument "bitrate" when the device
48 get started. This works fine for the most common CAN controllers
49 with standard bit-rates but may fail for exotic bit-rates or CAN
50 source clock frequencies. Disabling saves some space, but then the
51 bit-timing parameters must be specified directly using the Netlink
52 arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw".
53 If unsure, say Y.
54
55config CAN_LEDS
56 bool "Enable LED triggers for Netlink based drivers"
57 depends on LEDS_CLASS
58 select LEDS_TRIGGERS
59 ---help---
60 This option adds two LED triggers for packet receive and transmit
61 events on each supported CAN device.
62
63 Say Y here if you are working on a system with led-class supported
64 LEDs and you want to use them as canbus activity indicators.
65
66config CAN_AT91
67 tristate "Atmel AT91 onchip CAN controller"
68 depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM
69 ---help---
70 This is a driver for the SoC CAN controller in Atmel's AT91SAM9263
71 and AT91SAM9X5 processors.
72
73config CAN_TI_HECC
74 depends on ARM
75 tristate "TI High End CAN Controller"
76 ---help---
77 Driver for TI HECC (High End CAN Controller) module found on many
78 TI devices. The device specifications are available from www.ti.com
79
80config CAN_BFIN
81 depends on BF534 || BF536 || BF537 || BF538 || BF539 || BF54x
82 tristate "Analog Devices Blackfin on-chip CAN"
83 ---help---
84 Driver for the Analog Devices Blackfin on-chip CAN controllers
85
86 To compile this driver as a module, choose M here: the
87 module will be called bfin_can.
88
89config CAN_JANZ_ICAN3
90 tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
91 depends on MFD_JANZ_CMODIO
92 ---help---
93 Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which
94 connects to a MODULbus carrier board.
95
96 This driver can also be built as a module. If so, the module will be
97 called janz-ican3.ko.
98
99config CAN_FLEXCAN
100 tristate "Support for Freescale FLEXCAN based chips"
101 depends on ARM || PPC
102 ---help---
103 Say Y here if you want to support for Freescale FlexCAN.
104
105config PCH_CAN
106 tristate "Intel EG20T PCH CAN controller"
107 depends on PCI && (X86_32 || COMPILE_TEST)
108 ---help---
109 This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which
110 is an IOH for x86 embedded processor (Intel Atom E6xx series).
111 This driver can access CAN bus.
112
113config CAN_GRCAN
114 tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices"
115 depends on OF && HAS_DMA
116 ---help---
117 Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN.
118 Note that the driver supports little endian, even though little
119 endian syntheses of the cores would need some modifications on
120 the hardware level to work.
121
122config CAN_RCAR
123 tristate "Renesas R-Car CAN controller"
124 depends on ARM
125 ---help---
126 Say Y here if you want to use CAN controller found on Renesas R-Car
127 SoCs.
128
129 To compile this driver as a module, choose M here: the module will
130 be called rcar_can.
131
132config CAN_SUN4I
133 tristate "Allwinner A10 CAN controller"
134 depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
135 ---help---
136 Say Y here if you want to use CAN controller found on Allwinner
137 A10/A20 SoCs.
138
139 To compile this driver as a module, choose M here: the module will
140 be called sun4i_can.
141
142config CAN_XILINXCAN
143 tristate "Xilinx CAN"
144 depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST
145 depends on COMMON_CLK && HAS_IOMEM
146 ---help---
147 Xilinx CAN driver. This driver supports both soft AXI CAN IP and
148 Zynq CANPS IP.
149
150source "drivers/net/can/mscan/Kconfig"
151
152source "drivers/net/can/sja1000/Kconfig"
153
154source "drivers/net/can/c_can/Kconfig"
155
156source "drivers/net/can/m_can/Kconfig"
157
158source "drivers/net/can/cc770/Kconfig"
159
160source "drivers/net/can/spi/Kconfig"
161
162source "drivers/net/can/usb/Kconfig"
163
164source "drivers/net/can/softing/Kconfig"
165
166endif
167
168config CAN_DEBUG_DEVICES
169 bool "CAN devices debugging messages"
170 ---help---
171 Say Y here if you want the CAN device drivers to produce a bunch of
172 debug messages to the system log. Select this if you are having
173 a problem with CAN support and want to see more of what is going
174 on.
175
176endmenu