brintos

brintos / linux-shallow public Read only

0
0
Text · 8.2 KiB · cf989be Raw
245 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2 3menuconfig CAN_DEV4	tristate "CAN Device Drivers"5	default y6	depends on CAN7	help8	  Controller Area Network (CAN) is serial communications protocol up to9	  1Mbit/s for its original release (now known as Classical CAN) and up10	  to 8Mbit/s for the more recent CAN with Flexible Data-Rate11	  (CAN-FD). The CAN bus was originally mainly for automotive, but is now12	  widely used in marine (NMEA2000), industrial, and medical13	  applications. More information on the CAN network protocol family14	  PF_CAN is contained in <Documentation/networking/can.rst>.15 16	  This section contains all the CAN(-FD) device drivers including the17	  virtual ones. If you own such devices or plan to use the virtual CAN18	  interfaces to develop applications, say Y here.19 20	  To compile as a module, choose M here: the module will be called21	  can-dev.22 23if CAN_DEV24 25config CAN_VCAN26	tristate "Virtual Local CAN Interface (vcan)"27	help28	  Similar to the network loopback devices, vcan offers a29	  virtual local CAN interface.30 31	  This driver can also be built as a module.  If so, the module32	  will be called vcan.33 34config CAN_VXCAN35	tristate "Virtual CAN Tunnel (vxcan)"36	help37	  Similar to the virtual ethernet driver veth, vxcan implements a38	  local CAN traffic tunnel between two virtual CAN network devices.39	  When creating a vxcan, two vxcan devices are created as pair.40	  When one end receives the packet it appears on its pair and vice41	  versa. The vxcan can be used for cross namespace communication.42 43	  In opposite to vcan loopback devices the vxcan only forwards CAN44	  frames to its pair and does *not* provide a local echo of sent45	  CAN frames. To disable a potential echo in af_can.c the vxcan driver46	  announces IFF_ECHO in the interface flags. To have a clean start47	  in each namespace the CAN GW hop counter is set to zero.48 49	  This driver can also be built as a module.  If so, the module50	  will be called vxcan.51 52config CAN_NETLINK53	bool "CAN device drivers with Netlink support"54	default y55	help56	  Enables the common framework for CAN device drivers. This is the57	  standard library and provides features for the Netlink interface such58	  as bittiming validation, support of CAN error states, device restart59	  and others.60 61	  The additional features selected by this option will be added to the62	  can-dev module.63 64	  This is required by all platform and hardware CAN drivers. If you65	  plan to use such devices or if unsure, say Y.66 67if CAN_NETLINK68 69config CAN_CALC_BITTIMING70	bool "CAN bit-timing calculation"71	default y72	help73	  If enabled, CAN bit-timing parameters will be calculated for the74	  bit-rate specified via Netlink argument "bitrate" when the device75	  get started. This works fine for the most common CAN controllers76	  with standard bit-rates but may fail for exotic bit-rates or CAN77	  source clock frequencies. Disabling saves some space, but then the78	  bit-timing parameters must be specified directly using the Netlink79	  arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw".80 81	  The additional features selected by this option will be added to the82	  can-dev module.83 84	  If unsure, say Y.85 86config CAN_RX_OFFLOAD87	bool88 89config CAN_AT9190	tristate "Atmel AT91 onchip CAN controller"91	depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM92	select CAN_RX_OFFLOAD93	help94	  This is a driver for the SoC CAN controller in Atmel's AT91SAM926395	  and AT91SAM9X5 processors.96 97config CAN_BXCAN98	tristate "STM32 Basic Extended CAN (bxCAN) devices"99	depends on ARCH_STM32 || COMPILE_TEST100	depends on HAS_IOMEM101	select CAN_RX_OFFLOAD102	help103	  Say yes here to build support for the STMicroelectronics STM32 basic104	  extended CAN Controller (bxCAN).105 106	  This driver can also be built as a module. If so, the module107	  will be called bxcan.108 109config CAN_CAN327110	tristate "Serial / USB serial ELM327 based OBD-II Interfaces (can327)"111	depends on TTY112	select CAN_RX_OFFLOAD113	help114	  CAN driver for several 'low cost' OBD-II interfaces based on the115	  ELM327 OBD-II interpreter chip.116 117	  This is a best effort driver - the ELM327 interface was never118	  designed to be used as a standalone CAN interface. However, it can119	  still be used for simple request-response protocols (such as OBD II),120	  and to monitor broadcast messages on a bus (such as in a vehicle).121 122	  Please refer to the documentation for information on how to use it:123	  Documentation/networking/device_drivers/can/can327.rst124 125	  If this driver is built as a module, it will be called can327.126 127config CAN_FLEXCAN128	tristate "Support for Freescale FLEXCAN based chips"129	depends on OF || COLDFIRE || COMPILE_TEST130	depends on HAS_IOMEM131	select CAN_RX_OFFLOAD132	help133	  Say Y here if you want to support for Freescale FlexCAN.134 135config CAN_GRCAN136	tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices"137	depends on OF && HAS_DMA && HAS_IOMEM138	help139	  Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN.140	  Note that the driver supports little endian, even though little141	  endian syntheses of the cores would need some modifications on142	  the hardware level to work.143 144config CAN_JANZ_ICAN3145	tristate "Janz VMOD-ICAN3 Intelligent CAN controller"146	depends on MFD_JANZ_CMODIO147	help148	  Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which149	  connects to a MODULbus carrier board.150 151	  This driver can also be built as a module. If so, the module will be152	  called janz-ican3.ko.153 154config CAN_KVASER_PCIEFD155	depends on PCI156	tristate "Kvaser PCIe FD cards"157	help158	  This is a driver for the Kvaser PCI Express CAN FD family.159 160	  Supported devices:161	    Kvaser PCIEcan 4xHS162	    Kvaser PCIEcan 2xHS v2163	    Kvaser PCIEcan HS v2164	    Kvaser PCIEcan 1xCAN v3165	    Kvaser PCIEcan 2xCAN v3166	    Kvaser PCIEcan 4xCAN v2167	    Kvaser Mini PCI Express HS v2168	    Kvaser Mini PCI Express 2xHS v2169	    Kvaser Mini PCI Express 1xCAN v3170	    Kvaser Mini PCI Express 2xCAN v3171	    Kvaser M.2 PCIe 4xCAN172	    Kvaser PCIe 8xCAN173 174config CAN_SLCAN175	tristate "Serial / USB serial CAN Adaptors (slcan)"176	depends on TTY177	help178	  CAN driver for several 'low cost' CAN interfaces that are attached179	  via serial lines or via USB-to-serial adapters using the LAWICEL180	  ASCII protocol. The driver implements the tty linediscipline N_SLCAN.181 182	  As only the sending and receiving of CAN frames is implemented, this183	  driver should work with the (serial/USB) CAN hardware from:184	  www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de185 186	  Userspace tools to attach the SLCAN line discipline (slcan_attach,187	  slcand) can be found in the can-utils at the linux-can project, see188	  https://github.com/linux-can/can-utils for details.189 190	  This driver can also be built as a module. If so, the module191	  will be called slcan.192 193config CAN_SUN4I194	tristate "Allwinner A10 CAN controller"195	depends on MACH_SUN4I || MACH_SUN7I || (RISCV && ARCH_SUNXI) || COMPILE_TEST196	help197	  Say Y here if you want to use CAN controller found on Allwinner198	  A10/A20/D1 SoCs.199 200	  To compile this driver as a module, choose M here: the module will201	  be called sun4i_can.202 203config CAN_TI_HECC204	depends on ARM205	tristate "TI High End CAN Controller"206	select CAN_RX_OFFLOAD207	help208	  Driver for TI HECC (High End CAN Controller) module found on many209	  TI devices. The device specifications are available from www.ti.com210 211config CAN_XILINXCAN212	tristate "Xilinx CAN"213	depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST214	depends on COMMON_CLK && HAS_IOMEM215	help216	  Xilinx CAN driver. This driver supports both soft AXI CAN IP and217	  Zynq CANPS IP.218 219source "drivers/net/can/c_can/Kconfig"220source "drivers/net/can/cc770/Kconfig"221source "drivers/net/can/ctucanfd/Kconfig"222source "drivers/net/can/esd/Kconfig"223source "drivers/net/can/ifi_canfd/Kconfig"224source "drivers/net/can/m_can/Kconfig"225source "drivers/net/can/mscan/Kconfig"226source "drivers/net/can/peak_canfd/Kconfig"227source "drivers/net/can/rcar/Kconfig"228source "drivers/net/can/rockchip/Kconfig"229source "drivers/net/can/sja1000/Kconfig"230source "drivers/net/can/softing/Kconfig"231source "drivers/net/can/spi/Kconfig"232source "drivers/net/can/usb/Kconfig"233 234endif #CAN_NETLINK235 236config CAN_DEBUG_DEVICES237	bool "CAN devices debugging messages"238	help239	  Say Y here if you want the CAN device drivers to produce a bunch of240	  debug messages to the system log.  Select this if you are having241	  a problem with CAN support and want to see more of what is going242	  on.243 244endif #CAN_DEV245