| .. | .. | 
|---|
 | 1 | +# SPDX-License-Identifier: GPL-2.0-only  | 
|---|
| 1 | 2 |  # | 
|---|
| 2 | 3 |  # Controller Area Network (CAN) network layer core configuration | 
|---|
| 3 | 4 |  # | 
|---|
| .. | .. | 
|---|
| 5 | 6 |  menuconfig CAN | 
|---|
| 6 | 7 |  	depends on NET | 
|---|
| 7 | 8 |  	tristate "CAN bus subsystem support" | 
|---|
| 8 |  | -	---help---  | 
|---|
 | 9 | +	help  | 
|---|
| 9 | 10 |  	  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  | 
|---|
| 14 |  | -	  is contained in <Documentation/networking/can.rst>.  | 
|---|
 | 11 | +	  communications protocol. Development of the CAN bus started in  | 
|---|
 | 12 | +	  1983 at Robert Bosch GmbH, and the protocol was officially  | 
|---|
 | 13 | +	  released in 1986. The CAN bus was originally mainly for automotive,  | 
|---|
 | 14 | +	  but is now widely used in marine (NMEA2000), industrial, and medical  | 
|---|
 | 15 | +	  applications. More information on the CAN network protocol family  | 
|---|
 | 16 | +	  PF_CAN is contained in <Documentation/networking/can.rst>.  | 
|---|
| 15 | 17 |   | 
|---|
| 16 | 18 |  	  If you want CAN support you should say Y here and also to the | 
|---|
| 17 | 19 |  	  specific driver for your controller(s) below. | 
|---|
| .. | .. | 
|---|
| 21 | 23 |  config CAN_RAW | 
|---|
| 22 | 24 |  	tristate "Raw CAN Protocol (raw access with CAN-ID filtering)" | 
|---|
| 23 | 25 |  	default y | 
|---|
| 24 |  | -	---help---  | 
|---|
 | 26 | +	help  | 
|---|
| 25 | 27 |  	  The raw CAN protocol option offers access to the CAN bus via | 
|---|
| 26 | 28 |  	  the BSD socket API. You probably want to use the raw socket in | 
|---|
| 27 | 29 |  	  most cases where no higher level protocol is being used. The raw | 
|---|
| .. | .. | 
|---|
| 31 | 33 |  config CAN_BCM | 
|---|
| 32 | 34 |  	tristate "Broadcast Manager CAN Protocol (with content filtering)" | 
|---|
| 33 | 35 |  	default y | 
|---|
| 34 |  | -	---help---  | 
|---|
 | 36 | +	help  | 
|---|
| 35 | 37 |  	  The Broadcast Manager offers content filtering, timeout monitoring, | 
|---|
| 36 | 38 |  	  sending of RTR frames, and cyclic CAN messages without permanent user | 
|---|
| 37 | 39 |  	  interaction. The BCM can be 'programmed' via the BSD socket API and | 
|---|
| .. | .. | 
|---|
| 43 | 45 |  config CAN_GW | 
|---|
| 44 | 46 |  	tristate "CAN Gateway/Router (with netlink configuration)" | 
|---|
| 45 | 47 |  	default y | 
|---|
| 46 |  | -	---help---  | 
|---|
 | 48 | +	help  | 
|---|
| 47 | 49 |  	  The CAN Gateway/Router is used to route (and modify) CAN frames. | 
|---|
| 48 | 50 |  	  It is based on the PF_CAN core infrastructure for msg filtering and | 
|---|
| 49 | 51 |  	  msg sending and can optionally modify routed CAN frames on the fly. | 
|---|
| .. | .. | 
|---|
| 51 | 53 |  	  They can be modified with AND/OR/XOR/SET operations as configured | 
|---|
| 52 | 54 |  	  by the netlink configuration interface known e.g. from iptables. | 
|---|
| 53 | 55 |   | 
|---|
 | 56 | +source "net/can/j1939/Kconfig"  | 
|---|
 | 57 | +  | 
|---|
 | 58 | +config CAN_ISOTP  | 
|---|
 | 59 | +	tristate "ISO 15765-2:2016 CAN transport protocol"  | 
|---|
 | 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  | 
|---|
 | 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.  | 
|---|
 | 68 | +	  This protocol driver implements data transfers according to  | 
|---|
 | 69 | +	  ISO 15765-2:2016 for 'classic' CAN and CAN FD frame types.  | 
|---|
 | 70 | +	  If you want to perform automotive vehicle diagnostic services (UDS),  | 
|---|
 | 71 | +	  say 'y'.  | 
|---|
 | 72 | +  | 
|---|
| 54 | 73 |  source "drivers/net/can/Kconfig" | 
|---|
| 55 | 74 |   | 
|---|
| 56 | 75 |  endif | 
|---|