Skip to contentSkip to conversation

Termination resistor documentation

PATCH Superseded Daniel S. Trevitz 2 participants 5 messages Oct 6, 2022 – Oct 7, 2022

Subsystems (4)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 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

#1 lore raw
Quoted 15 lines · Daniel S. Trevitz

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 +0 -0
index ebc822e605f5..bb39cfa4c502 100644
@@ -1148,6 +1148,36 @@ tuning on deep embedded systems'. The author is running a MPC603e
 load without any problems ...
 

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e · line 1159

Quoted 10 lines
Documentation/networking/can.rst +9 -0
 
+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:

You need double :: followed by a newline to mark as code.

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e · line 1162

Quoted 3 lines
Documentation/networking/can.rst +3 -0
+      $ ip -details link show can0
+      ...
+      termination 120 [ 0, 120

The closing ] is missing, please add it, even if the current ip command doesn't print it. I just noticed it got lost in a cleanup patch in iproute2.

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e · line 1164

Quoted 2 lines
Documentation/networking/can.rst +2 -0
+
+  - Activate the terminating resistor:

same here

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e · line 1167

Quoted 3 lines
Documentation/networking/can.rst +3 -0
+      $ ip link set dev can0 type can termination 120
+
+  - Deactivate the terminating resistor:

same here

Quoted 5 lines
Documentation/networking/can.rst +5 -0
+      $ 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::
+

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e · line 1182

Quoted 10 lines
Documentation/networking/can.rst +8 -0
+    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)
 -----------------------------

Marc

Signature · 4 lines
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |
#2 lore raw
Quoted 28 lines · EDT Marc Kleine-Budde
Quoted 26 lines · Daniel S. Trevitz

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(+)
(quoted diff) +0 -0

b/Documentation/networking/can.rst index ebc822e605f5..bb39cfa4c502 100644

Documentation/networking/can.rst +0 -0
@@ -1148,6 +1148,36 @@ tuning on deep embedded systems'. The author is

running a MPC603e>
load without any problems ...

Documentation/networking/can.rst +8 -0
+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.::
+
Quoted 2 lines
Quoted 1 line

+ - Query the available resistances:

You need double :: followed by a newline to mark as code.

This whole section is a code block; :: is up three lines.

Quoted 8 lines

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e · line 1162

Quoted 4 lines
Documentation/networking/can.rst +3 -0
+      $ ip -details link show can0
+      ...
+      termination 120 [ 0, 120

The closing ] is missing, please add it, even if the current ip command doesn't print it. I just noticed it got lost in a cleanup patch in iproute2.

Okay

Quoted 26 lines

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e · line 1164

Quoted 4 lines
Documentation/networking/can.rst +2 -0
+
 
+  - Activate the terminating resistor:

same here

Documentation/networking/can.rst tuning on deep embedded systems'. The author is running a MPC603e

Quoted 4 lines
Documentation/networking/can.rst +3 -0
+      $ ip link set dev can0 type can termination 120
+
 
+  - Deactivate the terminating resistor:

same here

Quoted 14 lines
Documentation/networking/can.rst +13 -0
+      $ 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
+
+
Quoted 4 lines
Quoted 2 lines

The Virtual CAN Driver (vcan)
-----------------------------

Marc

-Dan

#3 lore raw
Quoted 29 lines · Daniel S. Trevitz
Quoted 28 lines · EDT Marc Kleine-Budde
Quoted 26 lines · Daniel S. Trevitz

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(+)
(quoted diff) +0 -0

b/Documentation/networking/can.rst index ebc822e605f5..bb39cfa4c502 100644

Documentation/networking/can.rst +0 -0
@@ -1148,6 +1148,36 @@ tuning on deep embedded systems'. The author is

running a MPC603e>
load without any problems ...

Documentation/networking/can.rst +8 -0
+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.::
+
Quoted 3 lines
Quoted 2 lines
Quoted 1 line

+ - Query the available resistances:

You need double :: followed by a newline to mark as code.

This whole section is a code block; :: is up three lines.

Yes, your're right. What about making only the individual commands code?

Marc

Signature · 4 lines
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |
#4 lore raw
Quoted 31 lines · EDT Marc Kleine-Budde
Quoted 30 lines · Daniel S. Trevitz
Quoted 29 lines · EDT Marc Kleine-Budde
Quoted 27 lines · Daniel S. Trevitz

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(+)
(quoted diff) +0 -0

b/Documentation/networking/can.rst index ebc822e605f5..bb39cfa4c502 100644

Documentation/networking/can.rst +0 -0
@@ -1148,6 +1148,36 @@ tuning on deep embedded systems'. The author is

running a MPC603e>

load without any problems ...

Documentation/networking/can.rst +8 -0
+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.::
+
Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
Quoted 1 line

+ - Query the available resistances:

You need double :: followed by a newline to mark as code.

This whole section is a code block; :: is up three lines.

Yes, your're right. What about making only the individual commands code?

Marc

Tested, looks fine as individual blocks; v3 coming in hot. -Daniel