[PATCH net-next v4 0/4] net: dp83867: add new output-impedance DT binding
From: Steffen Trumtrar
Date: Tue Nov 10 2026 - 05:49:27 EST
Currently the dp83867 supports setting the io impedance to minimum,
maximum, default or a value from a nvmem cell. In situations where there
is no backend for a nvmem cell, the value can not be set to anything but
minimum, maximum or default.
Add support for a ti,output-impedance-ohms binding, allowing to specify
the impedance in ohms via the devicetree. It is mutually exclusive with
the nvmem cell and the boolean bindings for minimum and maximum; the
binding schema now enforces this for all of them.
Until now, dtschema never applied the binding: it had neither a
compatible nor a select. The binding gets the compatible of the PHY ID,
which several devicetrees already use. The Xilinx ZynqMP devicetrees
then fail validation on an unused #phy-cells in their DP83867 nodes
without the patch from
https://patch.msgid.link/20261110-v7-4-topic-zynqmp-dp83867-v1-1-04500475a560@xxxxxxxxxxxxxx
Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
---
Changes in v4:
- split xilinx patch out of this series
https://patch.msgid.link/20261110-v7-4-topic-zynqmp-dp83867-v1-1-04500475a560@xxxxxxxxxxxxxx
- Link to v3: https://patch.msgid.link/20261106-v7-2-topic-dp83867-v3-0-45e1d3adf1bf@xxxxxxxxxxxxxx
Changes in v3:
- new patch: drop the unused #phy-cells from the Xilinx DP83867 nodes,
which fail validation once the binding applies to them
- new patch: give the binding a compatible and reference
ethernet-phy.yaml; without a compatible or select, dtschema never
applied the binding, so the new constraints would not have been checked
- ti,output-impedance-ohms takes ohms (35..70) instead of the register
value, the driver maps it linearly to the nearest of the 32 settings
(the datasheet does not specify the impedance of each setting)
- fix the range check, out of range values were silently masked
- describe the mutual exclusivity instead of a wrong precedence in the
commit messages
- fix typo in commit message
- also forbid ti,min-output-impedance together with
ti,max-output-impedance and drop the precedence note from the binding
- rename the binding patch to "Add ti,output-impedance-ohms"
- Link to v2: https://patch.msgid.link/20260826-v7-2-topic-dp83867-v2-0-a97b4cec6e93@xxxxxxxxxxxxxx
Changes in v2:
- change 'u8 *val' to 'u32 *val'
- fix logic in driver
- update description of new binding
- rename ti,output-impedance -> ti,output-impedance-ohms
- make mutual exclusivity explicit in binding
- Link to v1: https://patch.msgid.link/20260804-v7-2-topic-dp83867-v1-0-1ca79eb54eef@xxxxxxxxxxxxxx
---
Steffen Trumtrar (4):
dt-bindings: net: dp83867: add compatible and reference ethernet-phy.yaml
dt-bindings: net: dp83867: make exclusivity explicit
dt-bindings: net: dp83867: Add ti,output-impedance-ohms
net: phy: dp83867: support setting output-impedance
.../devicetree/bindings/net/ti,dp83867.yaml | 47 ++++++++++++++++++----
drivers/net/phy/dp83867.c | 29 +++++++++++--
2 files changed, 65 insertions(+), 11 deletions(-)
---
base-commit: 6584acd42820478910a771efb28a355a707e9cb0
change-id: 20260804-v7-2-topic-dp83867-e73a84c37016
Best regards,
--
Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>