Oliver Hartkopp | 0d66548 | 2007-11-16 15:52:17 -0800 | [diff] [blame] | 1 | # |
| 2 | # Controller Area Network (CAN) network layer core configuration |
| 3 | # |
| 4 | |
| 5 | menuconfig CAN |
| 6 | depends on NET |
| 7 | tristate "CAN bus subsystem support" |
| 8 | ---help--- |
| 9 | Controller Area Network (CAN) is a slow (up to 1Mbit/s) serial |
| 10 | communications protocol which was developed by Bosch in |
| 11 | 1991, mainly for automotive, but now widely used in marine |
| 12 | (NMEA2000), industrial, and medical applications. |
| 13 | More information on the CAN network protocol family PF_CAN |
Robert Schwebel | 7d59773 | 2018-01-24 11:19:11 +0100 | [diff] [blame] | 14 | is contained in <Documentation/networking/can.rst>. |
Oliver Hartkopp | 0d66548 | 2007-11-16 15:52:17 -0800 | [diff] [blame] | 15 | |
| 16 | If you want CAN support you should say Y here and also to the |
| 17 | specific driver for your controller(s) below. |
Oliver Hartkopp | c18ce10 | 2007-11-16 15:53:09 -0800 | [diff] [blame] | 18 | |
Marc Kleine-Budde | 7713683 | 2012-07-20 21:00:00 +0200 | [diff] [blame] | 19 | if CAN |
| 20 | |
Oliver Hartkopp | c18ce10 | 2007-11-16 15:53:09 -0800 | [diff] [blame] | 21 | config CAN_RAW |
| 22 | tristate "Raw CAN Protocol (raw access with CAN-ID filtering)" |
Marc Kleine-Budde | f66b030 | 2012-07-20 21:22:27 +0200 | [diff] [blame] | 23 | default y |
Oliver Hartkopp | c18ce10 | 2007-11-16 15:53:09 -0800 | [diff] [blame] | 24 | ---help--- |
| 25 | The raw CAN protocol option offers access to the CAN bus via |
| 26 | the BSD socket API. You probably want to use the raw socket in |
| 27 | most cases where no higher level protocol is being used. The raw |
| 28 | socket has several filter options e.g. ID masking / error frames. |
| 29 | To receive/send raw CAN messages, use AF_CAN with protocol CAN_RAW. |
Oliver Hartkopp | ffd980f | 2007-11-16 15:53:52 -0800 | [diff] [blame] | 30 | |
| 31 | config CAN_BCM |
| 32 | tristate "Broadcast Manager CAN Protocol (with content filtering)" |
Marc Kleine-Budde | f66b030 | 2012-07-20 21:22:27 +0200 | [diff] [blame] | 33 | default y |
Oliver Hartkopp | ffd980f | 2007-11-16 15:53:52 -0800 | [diff] [blame] | 34 | ---help--- |
| 35 | The Broadcast Manager offers content filtering, timeout monitoring, |
| 36 | sending of RTR frames, and cyclic CAN messages without permanent user |
| 37 | interaction. The BCM can be 'programmed' via the BSD socket API and |
| 38 | informs you on demand e.g. only on content updates / timeouts. |
| 39 | You probably want to use the bcm socket in most cases where cyclic |
| 40 | CAN messages are used on the bus (e.g. in automotive environments). |
| 41 | To use the Broadcast Manager, use AF_CAN with protocol CAN_BCM. |
Oliver Hartkopp | ccb2963 | 2007-11-16 15:56:08 -0800 | [diff] [blame] | 42 | |
Oliver Hartkopp | c1aabdf | 2011-09-01 04:23:23 +0000 | [diff] [blame] | 43 | config CAN_GW |
| 44 | tristate "CAN Gateway/Router (with netlink configuration)" |
Marc Kleine-Budde | f66b030 | 2012-07-20 21:22:27 +0200 | [diff] [blame] | 45 | default y |
Oliver Hartkopp | c1aabdf | 2011-09-01 04:23:23 +0000 | [diff] [blame] | 46 | ---help--- |
| 47 | The CAN Gateway/Router is used to route (and modify) CAN frames. |
| 48 | It is based on the PF_CAN core infrastructure for msg filtering and |
| 49 | msg sending and can optionally modify routed CAN frames on the fly. |
| 50 | CAN frames can be routed between CAN network interfaces (one hop). |
| 51 | They can be modified with AND/OR/XOR/SET operations as configured |
| 52 | by the netlink configuration interface known e.g. from iptables. |
Oliver Hartkopp | ccb2963 | 2007-11-16 15:56:08 -0800 | [diff] [blame] | 53 | |
| 54 | source "drivers/net/can/Kconfig" |
Marc Kleine-Budde | 7713683 | 2012-07-20 21:00:00 +0200 | [diff] [blame] | 55 | |
| 56 | endif |