Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Controller Area Network (CAN) network layer core configuration
0004 #
0005 
0006 menuconfig CAN
0007         tristate "CAN bus subsystem support"
0008         help
0009           Controller Area Network (CAN) is a slow (up to 1Mbit/s) serial
0010           communications protocol. Development of the CAN bus started in
0011           1983 at Robert Bosch GmbH, and the protocol was officially
0012           released in 1986. The CAN bus was originally mainly for automotive,
0013           but is now widely used in marine (NMEA2000), industrial, and medical
0014           applications. More information on the CAN network protocol family
0015           PF_CAN is contained in <Documentation/networking/can.rst>.
0016 
0017           If you want CAN support you should say Y here and also to the
0018           specific driver for your controller(s) under the Network device
0019           support section.
0020 
0021 if CAN
0022 
0023 config CAN_RAW
0024         tristate "Raw CAN Protocol (raw access with CAN-ID filtering)"
0025         default y
0026         help
0027           The raw CAN protocol option offers access to the CAN bus via
0028           the BSD socket API. You probably want to use the raw socket in
0029           most cases where no higher level protocol is being used. The raw
0030           socket has several filter options e.g. ID masking / error frames.
0031           To receive/send raw CAN messages, use AF_CAN with protocol CAN_RAW.
0032 
0033 config CAN_BCM
0034         tristate "Broadcast Manager CAN Protocol (with content filtering)"
0035         default y
0036         help
0037           The Broadcast Manager offers content filtering, timeout monitoring,
0038           sending of RTR frames, and cyclic CAN messages without permanent user
0039           interaction. The BCM can be 'programmed' via the BSD socket API and
0040           informs you on demand e.g. only on content updates / timeouts.
0041           You probably want to use the bcm socket in most cases where cyclic
0042           CAN messages are used on the bus (e.g. in automotive environments).
0043           To use the Broadcast Manager, use AF_CAN with protocol CAN_BCM.
0044 
0045 config CAN_GW
0046         tristate "CAN Gateway/Router (with netlink configuration)"
0047         default y
0048         help
0049           The CAN Gateway/Router is used to route (and modify) CAN frames.
0050           It is based on the PF_CAN core infrastructure for msg filtering and
0051           msg sending and can optionally modify routed CAN frames on the fly.
0052           CAN frames can be routed between CAN network interfaces (one hop).
0053           They can be modified with AND/OR/XOR/SET operations as configured
0054           by the netlink configuration interface known e.g. from iptables.
0055 
0056 source "net/can/j1939/Kconfig"
0057 
0058 config CAN_ISOTP
0059         tristate "ISO 15765-2:2016 CAN transport protocol"
0060         help
0061           CAN Transport Protocols offer support for segmented Point-to-Point
0062           communication between CAN nodes via two defined CAN Identifiers.
0063           As CAN frames can only transport a small amount of data bytes
0064           (max. 8 bytes for 'classic' CAN and max. 64 bytes for CAN FD) this
0065           segmentation is needed to transport longer Protocol Data Units (PDU)
0066           as needed e.g. for vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN
0067           traffic.
0068           This protocol driver implements data transfers according to
0069           ISO 15765-2:2016 for 'classic' CAN and CAN FD frame types.
0070           If you want to perform automotive vehicle diagnostic services (UDS),
0071           say 'y'.
0072 
0073 endif