]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
can: add termination resistor documentation
authorDaniel S. Trevitz <dan@sstrev.com>
Fri, 7 Oct 2022 11:53:02 +0000 (07:53 -0400)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 19 Oct 2022 19:33:29 +0000 (21:33 +0200)
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>
Documentation/networking/can.rst

index ebc822e605f55b1c0ebf99506904887acc5dd653..90121deef217bb2666f6bc0f47c6f36301fc0f68 100644 (file)
@@ -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)
 -----------------------------