Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) menu "CAN Device Drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) config CAN_VCAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 	tristate "Virtual Local CAN Interface (vcan)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 	  Similar to the network loopback devices, vcan offers a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	  virtual local CAN interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 	  This driver can also be built as a module.  If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 	  will be called vcan.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) config CAN_VXCAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 	tristate "Virtual CAN Tunnel (vxcan)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	  Similar to the virtual ethernet driver veth, vxcan implements a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	  local CAN traffic tunnel between two virtual CAN network devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	  When creating a vxcan, two vxcan devices are created as pair.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	  When one end receives the packet it appears on its pair and vice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	  versa. The vxcan can be used for cross namespace communication.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	  In opposite to vcan loopback devices the vxcan only forwards CAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	  frames to its pair and does *not* provide a local echo of sent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	  CAN frames. To disable a potential echo in af_can.c the vxcan driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	  announces IFF_ECHO in the interface flags. To have a clean start
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	  in each namespace the CAN GW hop counter is set to zero.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	  This driver can also be built as a module.  If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	  will be called vxcan.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) config CAN_SLCAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	tristate "Serial / USB serial CAN Adaptors (slcan)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	depends on TTY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	  CAN driver for several 'low cost' CAN interfaces that are attached
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	  via serial lines or via USB-to-serial adapters using the LAWICEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	  ASCII protocol. The driver implements the tty linediscipline N_SLCAN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	  As only the sending and receiving of CAN frames is implemented, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	  driver should work with the (serial/USB) CAN hardware from:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	  www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	  Userspace tools to attach the SLCAN line discipline (slcan_attach,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	  slcand) can be found in the can-utils at the linux-can project, see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	  https://github.com/linux-can/can-utils for details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	  The slcan driver supports up to 10 CAN netdevices by default which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	  can be changed by the 'maxdev=xx' module option. This driver can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	  also be built as a module. If so, the module will be called slcan.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) config CAN_DEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	tristate "Platform CAN drivers with Netlink support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	  Enables the common framework for platform CAN drivers with Netlink
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	  support. This is the standard library for CAN drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	  If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) if CAN_DEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) config CAN_CALC_BITTIMING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	bool "CAN bit-timing calculation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	  If enabled, CAN bit-timing parameters will be calculated for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	  bit-rate specified via Netlink argument "bitrate" when the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	  get started. This works fine for the most common CAN controllers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	  with standard bit-rates but may fail for exotic bit-rates or CAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	  source clock frequencies. Disabling saves some space, but then the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	  bit-timing parameters must be specified directly using the Netlink
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	  arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	  If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) config CAN_LEDS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	bool "Enable LED triggers for Netlink based drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	depends on LEDS_CLASS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	# The netdev trigger (LEDS_TRIGGER_NETDEV) should be able to do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	# everything that this driver is doing. This is marked as broken
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	# because it uses stuff that is intended to be changed or removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	# Please consider switching to the netdev trigger and confirm it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	# fulfills your needs instead of fixing this driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	depends on BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	select LEDS_TRIGGERS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	  This option adds two LED triggers for packet receive and transmit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	  events on each supported CAN device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	  Say Y here if you are working on a system with led-class supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	  LEDs and you want to use them as canbus activity indicators.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) config CAN_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	tristate "Atmel AT91 onchip CAN controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	  This is a driver for the SoC CAN controller in Atmel's AT91SAM9263
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	  and AT91SAM9X5 processors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) config CAN_FLEXCAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	tristate "Support for Freescale FLEXCAN based chips"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	depends on OF && HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	  Say Y here if you want to support for Freescale FlexCAN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) config CAN_GRCAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	depends on OF && HAS_DMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 	  Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	  Note that the driver supports little endian, even though little
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	  endian syntheses of the cores would need some modifications on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	  the hardware level to work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) config CAN_JANZ_ICAN3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	depends on MFD_JANZ_CMODIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	  Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	  connects to a MODULbus carrier board.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	  This driver can also be built as a module. If so, the module will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	  called janz-ican3.ko.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) config CAN_KVASER_PCIEFD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	tristate "Kvaser PCIe FD cards"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	  help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	  This is a driver for the Kvaser PCI Express CAN FD family.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	  Supported devices:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	    Kvaser PCIEcan 4xHS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	    Kvaser PCIEcan 2xHS v2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	    Kvaser PCIEcan HS v2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	    Kvaser Mini PCI Express HS v2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	    Kvaser Mini PCI Express 2xHS v2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) config CAN_SUN4I
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	tristate "Allwinner A10 CAN controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 	depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	  Say Y here if you want to use CAN controller found on Allwinner
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	  A10/A20 SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 	  To compile this driver as a module, choose M here: the module will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	  be called sun4i_can.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) config CAN_TI_HECC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	depends on ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	tristate "TI High End CAN Controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	  Driver for TI HECC (High End CAN Controller) module found on many
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	  TI devices. The device specifications are available from www.ti.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) config CAN_XILINXCAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 	tristate "Xilinx CAN"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	depends on COMMON_CLK && HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	  Xilinx CAN driver. This driver supports both soft AXI CAN IP and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	  Zynq CANPS IP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) config PCH_CAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	tristate "Intel EG20T PCH CAN controller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 	depends on PCI && (X86_32 || COMPILE_TEST)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	  This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 	  is an IOH for x86 embedded processor (Intel Atom E6xx series).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	  This driver can access CAN bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) source "drivers/net/can/c_can/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) source "drivers/net/can/cc770/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) source "drivers/net/can/ifi_canfd/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) source "drivers/net/can/m_can/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) source "drivers/net/can/mscan/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) source "drivers/net/can/peak_canfd/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) source "drivers/net/can/rcar/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) source "drivers/net/can/rockchip/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) source "drivers/net/can/sja1000/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) source "drivers/net/can/softing/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) source "drivers/net/can/spi/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) source "drivers/net/can/usb/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) config CAN_DEBUG_DEVICES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	bool "CAN devices debugging messages"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	  Say Y here if you want the CAN device drivers to produce a bunch of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 	  debug messages to the system log.  Select this if you are having
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 	  a problem with CAN support and want to see more of what is going
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	  on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) endmenu