Skip to contentSkip to conversation

Termination resistor documentation

PATCH Superseded Daniel S. Trevitz 1 participant 1 message Oct 7, 2022

Subsystems (4)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 Termination resistor documentation

Add documentation for how to use and setup the switchable termination resistor support for the can-controllers.

---
 Documentation/networking/can.rst | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
Documentation/networking/can.rst +30 -0
index ebc822e605f5..bb39cfa4c502 100644
@@ -1148,6 +1148,36 @@ 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)
 -----------------------------
 

--
2.35.1