1# CAN configuration options
2
3# Copyright (c) 2018 Alexander Wachter
4# SPDX-License-Identifier: Apache-2.0
5
6#
7# CAN options
8#
9menuconfig CAN
10	bool "Controller Area Network (CAN) drivers"
11	help
12	  Enable CAN Driver Configuration
13
14if CAN
15
16module = CAN
17module-str = CAN
18source "subsys/logging/Kconfig.template.log_config"
19
20config CAN_INIT_PRIORITY
21	int "CAN driver init priority"
22	default 80
23	help
24	  CAN driver device initialization priority.
25
26config CAN_SHELL
27	bool "CAN shell"
28	default y
29	depends on SHELL
30	select POLL
31	help
32	  Enable CAN Shell for testing.
33
34if CAN_SHELL
35
36config CAN_SHELL_TX_QUEUE_SIZE
37	int "CAN shell transmit queue size"
38	default 5
39	range 1 256
40	help
41	  Maximum number of events in the CAN shell transmit queue.
42
43config CAN_SHELL_RX_QUEUE_SIZE
44	int "CAN shell receive queue size"
45	default 5
46	range 1 256
47	help
48	  Maximum number of CAN frames in the CAN shell receive queue.
49
50endif # CAN_SHELL
51
52config CAN_STATS
53	bool "CAN controller device statistics"
54	depends on STATS
55	help
56	  Enable CAN controller device statistics.
57
58config CAN_FD_MODE
59	bool "CAN-FD"
60	help
61	  Enable CAN-FD support. Not all CAN controllers support CAN-FD.
62
63config CAN_RX_TIMESTAMP
64	bool "Receiving timestamps"
65	help
66	  This option enables a timestamp value of the CAN free running timer.
67	  The value is incremented every bit time and starts when the controller
68	  is initialized. Not all CAN controllers support timestamps.
69
70config CAN_AUTO_BUS_OFF_RECOVERY
71	bool "Automatic recovery from bus-off"
72	default y
73	help
74	  This option enables the automatic bus-off recovery according to
75	  ISO 11898-1 (recovery after 128 occurrences of 11 consecutive
76	  recessive bits). When this option is enabled, the recovery API is not
77	  available.
78
79config CAN_QEMU_IFACE_NAME
80	string "SocketCAN interface name for QEMU"
81	default ""
82	depends on QEMU_TARGET
83	help
84	  The SocketCAN interface name for QEMU. This value, if set, is given as "if" parameter to
85	  the "-object can-host-socketcan" qemu command line option. The CAN interface must be
86	  configured before starting QEMU.
87
88source "drivers/can/Kconfig.sam"
89source "drivers/can/Kconfig.sam0"
90source "drivers/can/Kconfig.stm32"
91source "drivers/can/Kconfig.mcux"
92source "drivers/can/Kconfig.mcp2515"
93source "drivers/can/Kconfig.mcan"
94source "drivers/can/Kconfig.rcar"
95source "drivers/can/Kconfig.loopback"
96source "drivers/can/Kconfig.native_posix_linux"
97source "drivers/can/Kconfig.sja1000"
98source "drivers/can/Kconfig.esp32"
99source "drivers/can/Kconfig.kvaser"
100source "drivers/can/Kconfig.fake"
101source "drivers/can/Kconfig.nxp_s32"
102source "drivers/can/Kconfig.tcan4x5x"
103source "drivers/can/Kconfig.mcp251xfd"
104
105source "drivers/can/transceiver/Kconfig"
106
107endif # CAN
108