Skip to content

Commit

Permalink
can: add termination resistor documentation
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Daniel S. Trevitz authored and Marc Kleine-Budde committed Oct 19, 2022
1 parent a526a3c commit 85700ac
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions Documentation/networking/can.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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)
-----------------------------

Expand Down

0 comments on commit 85700ac

Please sign in to comment.