Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
v3.15
 
  1menu "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 ARM
 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_MCP251X
 81	tristate "Microchip MCP251x SPI CAN controllers"
 82	depends on SPI && HAS_DMA
 83	---help---
 84	  Driver for the Microchip MCP251x SPI CAN controllers.
 85
 86config CAN_BFIN
 87	depends on BF534 || BF536 || BF537 || BF538 || BF539 || BF54x
 88	tristate "Analog Devices Blackfin on-chip CAN"
 89	---help---
 90	  Driver for the Analog Devices Blackfin on-chip CAN controllers
 91
 92	  To compile this driver as a module, choose M here: the
 93	  module will be called bfin_can.
 94
 95config CAN_JANZ_ICAN3
 96	tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
 97	depends on MFD_JANZ_CMODIO
 98	---help---
 99	  Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which
100	  connects to a MODULbus carrier board.
101
102	  This driver can also be built as a module. If so, the module will be
103	  called janz-ican3.ko.
104
105config CAN_FLEXCAN
106	tristate "Support for Freescale FLEXCAN based chips"
107	depends on ARM || PPC
 
 
 
 
 
 
 
 
 
 
 
 
 
108	---help---
109	  Say Y here if you want to support for Freescale FlexCAN.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
111config PCH_CAN
112	tristate "Intel EG20T PCH CAN controller"
113	depends on PCI
114	---help---
115	  This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which
116	  is an IOH for x86 embedded processor (Intel Atom E6xx series).
117	  This driver can access CAN bus.
118
119config CAN_GRCAN
120	tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices"
121	depends on OF
122	---help---
123	  Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN.
124	  Note that the driver supports little endian, even though little
125	  endian syntheses of the cores would need some modifications on
126	  the hardware level to work.
127
128source "drivers/net/can/mscan/Kconfig"
129
130source "drivers/net/can/sja1000/Kconfig"
131
132source "drivers/net/can/c_can/Kconfig"
133
134source "drivers/net/can/cc770/Kconfig"
135
136source "drivers/net/can/usb/Kconfig"
137
 
 
 
138source "drivers/net/can/softing/Kconfig"
 
 
139
140endif
141
142config CAN_DEBUG_DEVICES
143	bool "CAN devices debugging messages"
144	---help---
145	  Say Y here if you want the CAN device drivers to produce a bunch of
146	  debug messages to the system log.  Select this if you are having
147	  a problem with CAN support and want to see more of what is going
148	  on.
149
150endmenu
v5.4
  1# SPDX-License-Identifier: GPL-2.0-only
  2menu "CAN Device Drivers"
  3
  4config CAN_VCAN
  5	tristate "Virtual Local CAN Interface (vcan)"
  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
 13config 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
 31config CAN_SLCAN
 32	tristate "Serial / USB serial CAN Adaptors (slcan)"
 33	depends on TTY
 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:
 41	  www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de
 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
 51config CAN_DEV
 52	tristate "Platform CAN drivers with Netlink support"
 53	default y
 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
 59if CAN_DEV
 60
 61config CAN_CALC_BITTIMING
 62	bool "CAN bit-timing calculation"
 63	default y
 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
 74config CAN_LEDS
 75	bool "Enable LED triggers for Netlink based drivers"
 76	depends on LEDS_CLASS
 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
 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
 91config CAN_AT91
 92	tristate "Atmel AT91 onchip CAN controller"
 93	depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM
 94	---help---
 95	  This is a driver for the SoC CAN controller in Atmel's AT91SAM9263
 96	  and AT91SAM9X5 processors.
 97
 98config CAN_FLEXCAN
 99	tristate "Support for Freescale FLEXCAN based chips"
100	depends on OF && HAS_IOMEM
 
 
 
 
 
 
 
101	---help---
102	  Say Y here if you want to support for Freescale FlexCAN.
103
104config 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
113config CAN_JANZ_ICAN3
114	tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
115	depends on MFD_JANZ_CMODIO
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
123config 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
136config 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
146config 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
153config CAN_XILINXCAN
154	tristate "Xilinx CAN"
155	depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST
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
161config 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.
168
 
 
 
 
 
 
 
 
 
 
 
 
 
169source "drivers/net/can/c_can/Kconfig"
 
170source "drivers/net/can/cc770/Kconfig"
171source "drivers/net/can/ifi_canfd/Kconfig"
172source "drivers/net/can/m_can/Kconfig"
173source "drivers/net/can/mscan/Kconfig"
174source "drivers/net/can/peak_canfd/Kconfig"
175source "drivers/net/can/rcar/Kconfig"
176source "drivers/net/can/sja1000/Kconfig"
177source "drivers/net/can/softing/Kconfig"
178source "drivers/net/can/spi/Kconfig"
179source "drivers/net/can/usb/Kconfig"
180
181endif
182
183config CAN_DEBUG_DEVICES
184	bool "CAN devices debugging messages"
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
191endmenu