From: Daniel S. Trevitz Date: Fri, 7 Oct 2022 11:53:02 +0000 (-0400) Subject: can: add termination resistor documentation X-Git-Tag: v6.2-rc1~99^2~369^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=85700ac19aa19c5ff7267dc406c9bccb7a60b0e3;p=thirdparty%2Flinux.git 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 Link: https://lore.kernel.org/all/3441354.44csPzL39Z@daniel6430 Signed-off-by: Marc Kleine-Budde --- diff --git a/Documentation/networking/can.rst b/Documentation/networking/can.rst index ebc822e605f55..90121deef217b 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) -----------------------------