mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next v3 0/5] net: dp83867: add new output-impedance DT binding
@ 2026-11-06  7:47 Steffen Trumtrar
  2026-11-06  7:47 ` [PATCH net-next v3 1/5] arm64: dts: xilinx: drop unused #phy-cells from the DP83867 nodes Steffen Trumtrar
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Steffen Trumtrar @ 2026-11-06  7:47 UTC (permalink / raw)
  To: Andrew Lunn, David S. Miller, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Davis,
	Andrew Lunn, Heiner Kallweit, Russell King, Michal Simek,
	Eric Dumazet
  Cc: netdev, devicetree, linux-kernel, linux-arm-kernel, Steffen Trumtrar

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;
patch 1 drops it. It does not depend on the rest of the series and can
go through the Xilinx tree.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
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@pengutronix.de

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@pengutronix.de

---
Steffen Trumtrar (5):
      arm64: dts: xilinx: drop unused #phy-cells from the DP83867 nodes
      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 ++++++++++++++++++----
 .../boot/dts/xilinx/zynqmp-sck-kr-g-revA.dtso      |  2 -
 .../boot/dts/xilinx/zynqmp-sck-kr-g-revB.dtso      |  2 -
 .../boot/dts/xilinx/zynqmp-sck-kv-g-revA.dtso      |  1 -
 .../boot/dts/xilinx/zynqmp-sck-kv-g-revB.dtso      |  1 -
 arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts  |  1 -
 arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts  |  1 -
 arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts  |  1 -
 arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts  |  1 -
 arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts  |  1 -
 arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts  |  1 -
 drivers/net/phy/dp83867.c                          | 29 +++++++++++--
 12 files changed, 65 insertions(+), 23 deletions(-)
---
base-commit: 6584acd42820478910a771efb28a355a707e9cb0
change-id: 20260804-v7-2-topic-dp83867-e73a84c37016

Best regards,
--  
Steffen Trumtrar <s.trumtrar@pengutronix.de>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-11-06  9:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-06  7:47 [PATCH net-next v3 0/5] net: dp83867: add new output-impedance DT binding Steffen Trumtrar
2026-11-06  7:47 ` [PATCH net-next v3 1/5] arm64: dts: xilinx: drop unused #phy-cells from the DP83867 nodes Steffen Trumtrar
2026-11-06  9:09   ` Michal Simek
2026-11-06  7:47 ` [PATCH net-next v3 2/5] dt-bindings: net: dp83867: add compatible and reference ethernet-phy.yaml Steffen Trumtrar
2026-11-06  7:47 ` [PATCH net-next v3 3/5] dt-bindings: net: dp83867: make exclusivity explicit Steffen Trumtrar
2026-11-06  7:47 ` [PATCH net-next v3 4/5] dt-bindings: net: dp83867: Add ti,output-impedance-ohms Steffen Trumtrar
2026-11-06  7:47 ` [PATCH net-next v3 5/5] net: phy: dp83867: support setting output-impedance Steffen Trumtrar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®