diff options
author | Daniel S. Trevitz <dan@sstrev.com> | 2022-10-07 07:53:02 -0400 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2022-10-19 21:33:29 +0200 |
commit | 85700ac19aa19c5ff7267dc406c9bccb7a60b0e3 (patch) | |
tree | 4b86231be96608d9e1b27ca79a87cedd3d9ed222 /Documentation/networking/can.rst | |
parent | a526a3cc9c8d426713f8bebc18ebbe39a8495d82 (diff) | |
download | linux-stable-85700ac19aa19c5ff7267dc406c9bccb7a60b0e3.tar.gz linux-stable-85700ac19aa19c5ff7267dc406c9bccb7a60b0e3.tar.bz2 linux-stable-85700ac19aa19c5ff7267dc406c9bccb7a60b0e3.zip |
can: add termination resistor documentation
Add documentation for how to use and setup the switchable termination
resistor support for CAN controllers.
Signed-off-by: Daniel Trevitz <dan@sstrev.com>
Link: https://lore.kernel.org/all/3441354.44csPzL39Z@daniel6430
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'Documentation/networking/can.rst')
-rw-r--r-- | Documentation/networking/can.rst | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/networking/can.rst b/Documentation/networking/can.rst index ebc822e605f5..90121deef217 100644 --- a/Documentation/networking/can.rst +++ b/Documentation/networking/can.rst @@ -1148,6 +1148,39 @@ tuning on deep embedded systems'. The author is running a MPC603e load without any problems ... +Switchable Termination Resistors +-------------------------------- + +CAN bus requires a specific impedance across the differential pair, +typically provided by two 120Ohm resistors on the farthest nodes of +the bus. Some CAN controllers support activating / deactivating a +termination resistor(s) to provide the correct impedance. + +Query the available resistances:: + + $ ip -details link show can0 + ... + termination 120 [ 0, 120 ] + +Activate the terminating resistor:: + + $ ip link set dev can0 type can termination 120 + +Deactivate the terminating resistor:: + + $ ip link set dev can0 type can termination 0 + +To enable termination resistor support to a can-controller, either +implement in the controller's struct can-priv:: + + termination_const + termination_const_cnt + do_set_termination + +or add gpio control with the device tree entries from +Documentation/devicetree/bindings/net/can/can-controller.yaml + + The Virtual CAN Driver (vcan) ----------------------------- |