Re: [PATCH v2 2/3] dt-bindings: dp83867: add binding for output-impedance
From: Steffen Trumtrar
Date: Thu Aug 27 2026 - 09:37:30 EST
On 2026-08-27 at 14:47 +02, Andrew Lunn <andrew@xxxxxxx> wrote:
On Thu, Aug 27, 2026 at 10:04:07AM +0200, Steffen Trumtrar wrote:
> On 2026-08-26 at 17:01 +01, Conor Dooley <conor@xxxxxxxxxx> wrote:
> > > On Wed, Aug 26, 2026 at 02:48:40PM +0200, Steffen Trumtrar wrote:
> > > Currently, the output-impedance can only be set to default, minimum or
> > > maximum or via a nvmem cell.
> > > In cases where there is no backend for a nvmem cell, a value can not be
> > > set.
> > > > Add a DT binding, 'ti,output-impedance-ohms', for specifying the
> > > output-impedance via a fixed value. The existing boolean values for
> > > minimum and maximum still take precedence over the new value.
> > > > Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
> > > ---
> > > Documentation/devicetree/bindings/net/ti,dp83867.yaml | 16 ++++++++++++++++
> > > 1 file changed, 16 insertions(+)
> > > > diff --git a/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > b/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > > index 7a6fe516bab27..49fafe3ce6f47 100644
> > > --- a/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > > +++ b/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > > @@ -38,6 +38,16 @@ properties:
> > > items:
> > > - const: io_impedance_ctrl
> > > > + ti,output-impedance-ohms:
> > > + description: |
> > > + MAC Interface Impedance control to set the programmable output impedance.
> > > + Valid range is 0x00 to 0x1f (32 steps).
> > > + - 0x1f = 35 ohms (minimum impedance)
> > > + - 0x00 = 70 ohms (maximum impedance)
> > > + - Step size varies with process.
> > > + minimum: 0
> > > + maximum: 31
> > > > Your property is named in ohms, but not implemented in ohms.
> > So without the -ohms?
No. DT uses real unit, Ohms, Meters, Volts, Degrees Centigrade, Seconds
etc.
Have the driver do the conversion from Ohms to the magical register
value.
Fair enough and I agree, but the datasheet says:
Output impedance approximate range from 35-70 Ohm in 32 steps. Lowest being 11111 and highest being 00000. Range and step size will vary with process.
I mean, the difference will be miniscule, but the binding can't specify the exact ohm value, because it is not guaranteed to be correct. There are more values than steps and even the range is only an approximate range.
So, just allow values between 35 and 70 in the binding and then convert that value to something near the truth in the driver?
Best regards,
Steffen
--
Pengutronix e.K. | Dipl.-Inform. Steffen Trumtrar |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686| Fax: +49-5121-206917-5555 |