Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
0d66548a OH |
2 | # |
3 | # Controller Area Network (CAN) network layer core configuration | |
4 | # | |
5 | ||
6 | menuconfig CAN | |
0d66548a | 7 | tristate "CAN bus subsystem support" |
a7f7f624 | 8 | help |
0d66548a | 9 | Controller Area Network (CAN) is a slow (up to 1Mbit/s) serial |
26bca9fe RD |
10 | communications protocol. Development of the CAN bus started in |
11 | 1983 at Robert Bosch GmbH, and the protocol was officially | |
12 | released in 1986. The CAN bus was originally mainly for automotive, | |
13 | but is now widely used in marine (NMEA2000), industrial, and medical | |
14 | applications. More information on the CAN network protocol family | |
15 | PF_CAN is contained in <Documentation/networking/can.rst>. | |
0d66548a OH |
16 | |
17 | If you want CAN support you should say Y here and also to the | |
d7786af5 VM |
18 | specific driver for your controller(s) under the Network device |
19 | support section. | |
c18ce101 | 20 | |
77136836 MKB |
21 | if CAN |
22 | ||
c18ce101 OH |
23 | config CAN_RAW |
24 | tristate "Raw CAN Protocol (raw access with CAN-ID filtering)" | |
f66b0301 | 25 | default y |
a7f7f624 | 26 | help |
c18ce101 OH |
27 | The raw CAN protocol option offers access to the CAN bus via |
28 | the BSD socket API. You probably want to use the raw socket in | |
29 | most cases where no higher level protocol is being used. The raw | |
30 | socket has several filter options e.g. ID masking / error frames. | |
31 | To receive/send raw CAN messages, use AF_CAN with protocol CAN_RAW. | |
ffd980f9 OH |
32 | |
33 | config CAN_BCM | |
34 | tristate "Broadcast Manager CAN Protocol (with content filtering)" | |
f66b0301 | 35 | default y |
a7f7f624 | 36 | help |
ffd980f9 OH |
37 | The Broadcast Manager offers content filtering, timeout monitoring, |
38 | sending of RTR frames, and cyclic CAN messages without permanent user | |
39 | interaction. The BCM can be 'programmed' via the BSD socket API and | |
40 | informs you on demand e.g. only on content updates / timeouts. | |
41 | You probably want to use the bcm socket in most cases where cyclic | |
42 | CAN messages are used on the bus (e.g. in automotive environments). | |
43 | To use the Broadcast Manager, use AF_CAN with protocol CAN_BCM. | |
ccb29637 | 44 | |
c1aabdf3 OH |
45 | config CAN_GW |
46 | tristate "CAN Gateway/Router (with netlink configuration)" | |
f66b0301 | 47 | default y |
a7f7f624 | 48 | help |
c1aabdf3 OH |
49 | The CAN Gateway/Router is used to route (and modify) CAN frames. |
50 | It is based on the PF_CAN core infrastructure for msg filtering and | |
51 | msg sending and can optionally modify routed CAN frames on the fly. | |
52 | CAN frames can be routed between CAN network interfaces (one hop). | |
53 | They can be modified with AND/OR/XOR/SET operations as configured | |
54 | by the netlink configuration interface known e.g. from iptables. | |
ccb29637 | 55 | |
9d71dd0c T |
56 | source "net/can/j1939/Kconfig" |
57 | ||
e057dd3f OH |
58 | config CAN_ISOTP |
59 | tristate "ISO 15765-2:2016 CAN transport protocol" | |
e057dd3f OH |
60 | help |
61 | CAN Transport Protocols offer support for segmented Point-to-Point | |
62 | communication between CAN nodes via two defined CAN Identifiers. | |
63 | As CAN frames can only transport a small amount of data bytes | |
64 | (max. 8 bytes for 'classic' CAN and max. 64 bytes for CAN FD) this | |
5a7de240 GU |
65 | segmentation is needed to transport longer Protocol Data Units (PDU) |
66 | as needed e.g. for vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN | |
67 | traffic. | |
e057dd3f OH |
68 | This protocol driver implements data transfers according to |
69 | ISO 15765-2:2016 for 'classic' CAN and CAN FD frame types. | |
ac911bfe OH |
70 | If you want to perform automotive vehicle diagnostic services (UDS), |
71 | say 'y'. | |
e057dd3f | 72 | |
77136836 | 73 | endif |