2019-05-19 12:07:45 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2007-11-16 23:52:17 +00:00
|
|
|
#
|
|
|
|
# Controller Area Network (CAN) network layer core configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
menuconfig CAN
|
|
|
|
tristate "CAN bus subsystem support"
|
2020-06-13 16:50:22 +00:00
|
|
|
help
|
2007-11-16 23:52:17 +00:00
|
|
|
Controller Area Network (CAN) is a slow (up to 1Mbit/s) serial
|
2019-06-12 15:48:56 +00:00
|
|
|
communications protocol. Development of the CAN bus started in
|
|
|
|
1983 at Robert Bosch GmbH, and the protocol was officially
|
|
|
|
released in 1986. The CAN bus was originally mainly for automotive,
|
|
|
|
but is now widely used in marine (NMEA2000), industrial, and medical
|
|
|
|
applications. More information on the CAN network protocol family
|
|
|
|
PF_CAN is contained in <Documentation/networking/can.rst>.
|
2007-11-16 23:52:17 +00:00
|
|
|
|
|
|
|
If you want CAN support you should say Y here and also to the
|
2022-06-10 14:30:07 +00:00
|
|
|
specific driver for your controller(s) under the Network device
|
|
|
|
support section.
|
2007-11-16 23:53:09 +00:00
|
|
|
|
2012-07-20 19:00:00 +00:00
|
|
|
if CAN
|
|
|
|
|
2007-11-16 23:53:09 +00:00
|
|
|
config CAN_RAW
|
|
|
|
tristate "Raw CAN Protocol (raw access with CAN-ID filtering)"
|
2012-07-20 19:22:27 +00:00
|
|
|
default y
|
2020-06-13 16:50:22 +00:00
|
|
|
help
|
2007-11-16 23:53:09 +00:00
|
|
|
The raw CAN protocol option offers access to the CAN bus via
|
|
|
|
the BSD socket API. You probably want to use the raw socket in
|
|
|
|
most cases where no higher level protocol is being used. The raw
|
|
|
|
socket has several filter options e.g. ID masking / error frames.
|
|
|
|
To receive/send raw CAN messages, use AF_CAN with protocol CAN_RAW.
|
2007-11-16 23:53:52 +00:00
|
|
|
|
|
|
|
config CAN_BCM
|
|
|
|
tristate "Broadcast Manager CAN Protocol (with content filtering)"
|
2012-07-20 19:22:27 +00:00
|
|
|
default y
|
2020-06-13 16:50:22 +00:00
|
|
|
help
|
2007-11-16 23:53:52 +00:00
|
|
|
The Broadcast Manager offers content filtering, timeout monitoring,
|
|
|
|
sending of RTR frames, and cyclic CAN messages without permanent user
|
|
|
|
interaction. The BCM can be 'programmed' via the BSD socket API and
|
|
|
|
informs you on demand e.g. only on content updates / timeouts.
|
|
|
|
You probably want to use the bcm socket in most cases where cyclic
|
|
|
|
CAN messages are used on the bus (e.g. in automotive environments).
|
|
|
|
To use the Broadcast Manager, use AF_CAN with protocol CAN_BCM.
|
2007-11-16 23:56:08 +00:00
|
|
|
|
2011-09-01 04:23:23 +00:00
|
|
|
config CAN_GW
|
|
|
|
tristate "CAN Gateway/Router (with netlink configuration)"
|
2012-07-20 19:22:27 +00:00
|
|
|
default y
|
2020-06-13 16:50:22 +00:00
|
|
|
help
|
2011-09-01 04:23:23 +00:00
|
|
|
The CAN Gateway/Router is used to route (and modify) CAN frames.
|
|
|
|
It is based on the PF_CAN core infrastructure for msg filtering and
|
|
|
|
msg sending and can optionally modify routed CAN frames on the fly.
|
|
|
|
CAN frames can be routed between CAN network interfaces (one hop).
|
|
|
|
They can be modified with AND/OR/XOR/SET operations as configured
|
|
|
|
by the netlink configuration interface known e.g. from iptables.
|
2007-11-16 23:56:08 +00:00
|
|
|
|
2018-10-08 09:48:36 +00:00
|
|
|
source "net/can/j1939/Kconfig"
|
|
|
|
|
2020-09-28 20:04:04 +00:00
|
|
|
config CAN_ISOTP
|
2024-04-20 19:47:46 +00:00
|
|
|
tristate "ISO 15765-2 CAN transport protocol"
|
2020-09-28 20:04:04 +00:00
|
|
|
help
|
|
|
|
CAN Transport Protocols offer support for segmented Point-to-Point
|
|
|
|
communication between CAN nodes via two defined CAN Identifiers.
|
2024-04-20 19:47:46 +00:00
|
|
|
This protocol driver implements segmented data transfers for CAN CC
|
|
|
|
(aka Classical CAN, CAN 2.0B) and CAN FD frame types which were
|
|
|
|
introduced with ISO 15765-2:2016.
|
2020-09-28 20:04:04 +00:00
|
|
|
As CAN frames can only transport a small amount of data bytes
|
2024-04-20 19:47:46 +00:00
|
|
|
(max. 8 bytes for CAN CC and max. 64 bytes for CAN FD) this
|
2020-10-13 14:13:41 +00:00
|
|
|
segmentation is needed to transport longer Protocol Data Units (PDU)
|
|
|
|
as needed e.g. for vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN
|
|
|
|
traffic.
|
2020-09-28 20:04:04 +00:00
|
|
|
|
2012-07-20 19:00:00 +00:00
|
|
|
endif
|