[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0c021636-5a69-48df-8c13-a320e8f4278f@lunn.ch>
Date: Wed, 11 Feb 2026 15:02:04 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Teresa Remmet <t.remmet@...tec.de>
Cc: "robh@...nel.org" <robh@...nel.org>,
"andrew+netdev@...n.ch" <andrew+netdev@...n.ch>,
Jan Remmet <j.remmet@...tec.de>,
"davem@...emloft.net" <davem@...emloft.net>,
"afd@...com" <afd@...com>, "pabeni@...hat.com" <pabeni@...hat.com>,
"conor+dt@...nel.org" <conor+dt@...nel.org>,
"linux@...linux.org.uk" <linux@...linux.org.uk>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"hkallweit1@...il.com" <hkallweit1@...il.com>,
"krzk+dt@...nel.org" <krzk+dt@...nel.org>,
Benjamin Hahn <b.hahn@...tec.de>,
"kuba@...nel.org" <kuba@...nel.org>,
"edumazet@...gle.com" <edumazet@...gle.com>,
Yashwanth Varakala <y.varakala@...tec.de>,
"upstream@...ts.phytec.de" <upstream@...ts.phytec.de>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Yannic Moog <y.moog@...tec.de>
Subject: Re: [PATCH 1/2] dt-bindings: dp83867: add binding for
ti,output-impedance property
On Wed, Feb 11, 2026 at 12:50:13PM +0000, Teresa Remmet wrote:
> Hello Rob,
>
> Am Dienstag, dem 10.02.2026 um 08:48 -0600 schrieb Rob Herring:
> > On Thu, Jan 29, 2026 at 03:13:33PM +0100, Teresa Remmet wrote:
> > > Add an optional device tree property, "ti,output-impedance", which
> > > specifies the output impedance using a raw register field value
> > > from
> > > 0x0 to 0x1f.
> > >
> > > 0x0 corresponds to the highest impedance (approximately 70 ohms),
> > > while 0x1f represents the lowest (approximately 35 ohms).
> > >
> > > This property allows the impedance to be configured through the
> > > device-tree to any required value rather than being limited to
> > > fixed
> > > minimum or maximum settings.
> > >
> > > Signed-off-by: Teresa Remmet <t.remmet@...tec.de>
> > > ---
> > > Documentation/devicetree/bindings/net/ti,dp83867.yaml | 19
> > > ++++++++++++++-----
> > > 1 file changed, 14 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > > b/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > > index 4bc1f98fd9fe..a8d8bfb68bee 100644
> > > --- a/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > > +++ b/Documentation/devicetree/bindings/net/ti,dp83867.yaml
> > > @@ -52,11 +52,20 @@ properties:
> > > description: |
> > > MAC Interface Impedance control to set the programmable
> > > output impedance
> > > to a maximum value (70 ohms).
> > > - Note: Specifying an io_impedance_ctrl nvmem cell or one of
> > > the
> > > - ti,min-output-impedance, ti,max-output-impedance
> > > properties
> > > - are mutually exclusive. If more than one is present, an
> > > nvmem
> > > - cell takes precedence over ti,max-output-impedance, which
> > > in
> > > - turn takes precedence over ti,min-output-impedance.
> > > + Note: Specifying an io_impedance_ctrl nvmem cell, ti,output-
> > > impedance
> > > + or one of the boolean ti,min-output-impedance and ti,max-
> > > output-impedance
> > > + properties is mutually exclusive.
> > > + If more than one is present the priority order is nvmem
> > > cell,
> > > + ti,output-impedance, ti,max-output-impedance and last
> > > + ti,min-output-impedance.
> > > +
> > > + ti,output-impedance:
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > + description:
> > > + MAC Interface Impedance control to set the raw register
> > > value from 0x0
> > > + (approx. 70 ohms) to 0x1f (approx. 35 ohms).
> > > + minimum: 0
> > > + maximum: 31
> >
> > How does this compare to 'mac-termination-ohms'? Seems like this
> > should
> > be a common property whether it's the same or for a different
> > location.
>
> the difference is that the termination is not passed in ohms but a raw
> register value that can not directly be matched to a resistance value.
>
> The datasheet says here "Output impedance approximate range from 35-
> 70ohms in 32 steps.
> Lowest being 11111 and highest being 00000. Range and Step size
> will vary with process."
>
> So using 'mac-termination-ohms' seemed not the right fit here as the
> documentation talks about selecting a resistance value which is not
> possible in this case.
You need a really good argument to use raw register values in DT.
Given real life use case, how important is the "approximate"? Do you
need to tune the value for every single device? Or is one value likely
to work for all instances of a board?
So long as you state the values are approximate, i don't see why you
cannot use ohms, with a range of 34 - 70, and let the driver convert
to register value.
Andrew
Powered by blists - more mailing lists