linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* AW: (EXT) Re: [PATCH v2 1/2] dt-bindings: mtd: spi-nor: Add output-driver-strength property
@ 2021-10-13  8:47 Alexander Stein
  2021-10-13 14:23 ` Michael Walle
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander Stein @ 2021-10-13  8:47 UTC (permalink / raw)
  To: Michael Walle
  Cc: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Rob Herring, Pratyush Yadav, Tudor Ambarus, linux-mtd,
	devicetree, linux-kernel

Hello Michael,


Am 2021-10-12 09:48, schrieb Michael Walle:
> Am 2021-10-12 08:17, schrieb Alexander Stein:
> > This property is for optimizing output voltage impedance and is
> > specific to each board. It overwrites the default set by the flash
> > device. Various flash devices support different impedances.
> > 
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > Changes in v2:
> > * Updated the property description and the commit message accordingly
> > 
> >  Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
> > b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
> > index ed590d7c6e37..4c3c506a8853 100644
> > --- a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
> > +++ b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
> > @@ -72,6 +72,14 @@ properties:
> >        be used on such systems, to denote the absence of a reliable 
> > reset
> >        mechanism.
> > 
> > +  output-driver-strength:
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    description:
> > +      Output driver strength in ohms which optimizes the impedance at 
> > Vcc/2
> > +      output voltage. This property overwrites the default set by the 
> > flash
> > +      device. This is board specific and should be determined by the
> > +      manufacturer. Various flash devices support different 
> > impedances.
> 
> Mh, this seems to be very tailored to this flash chip. Eg. the "Vcc/2", 
> is
> this something specific to this flash or is this some kind of common 
> usage?

"Vcc/2" is taken from the datasheet description.

> For example, Winbond flashes specifies the output driver strength in 
> percent.
> Settings are 25%, 50%, 75%, 100% there.
> 
> I'd have to ask a hardware guy, if one could convert between these two
> representations of the driver strength.

Well, 100% must map to some actual value. Which then can be used to create
a discrete value table, which are then supported by the flash driver.
E.g. for Micron not every flash supports the same set of settings for
driver strength.
Macronix uses similar settings (values and bitmask), but in a different
register. But if some vendors have pretty much incompatible settings, it
might be feasible to provide vendor specific settings, e.g.
"micron,drive-strength = <45>" (for 45 Ohm) or "winbond,drive-strength = <100>"
(for 100%).

Best regards,
Alexander


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

* Re: AW: (EXT) Re: [PATCH v2 1/2] dt-bindings: mtd: spi-nor: Add output-driver-strength property
  2021-10-13  8:47 AW: (EXT) Re: [PATCH v2 1/2] dt-bindings: mtd: spi-nor: Add output-driver-strength property Alexander Stein
@ 2021-10-13 14:23 ` Michael Walle
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Walle @ 2021-10-13 14:23 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Rob Herring, Pratyush Yadav, Tudor Ambarus, linux-mtd,
	devicetree, linux-kernel

Hi,

Am 2021-10-13 10:47, schrieb Alexander Stein:
> Am 2021-10-12 09:48, schrieb Michael Walle:
>> Am 2021-10-12 08:17, schrieb Alexander Stein:
>> > This property is for optimizing output voltage impedance and is
>> > specific to each board. It overwrites the default set by the flash
>> > device. Various flash devices support different impedances.
>> >
>> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
>> > ---
>> > Changes in v2:
>> > * Updated the property description and the commit message accordingly
>> >
>> >  Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml | 8 ++++++++
>> >  1 file changed, 8 insertions(+)
>> >
>> > diff --git a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
>> > b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
>> > index ed590d7c6e37..4c3c506a8853 100644
>> > --- a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
>> > +++ b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
>> > @@ -72,6 +72,14 @@ properties:
>> >        be used on such systems, to denote the absence of a reliable
>> > reset
>> >        mechanism.
>> >
>> > +  output-driver-strength:
>> > +    $ref: /schemas/types.yaml#/definitions/uint32
>> > +    description:
>> > +      Output driver strength in ohms which optimizes the impedance at
>> > Vcc/2
>> > +      output voltage. This property overwrites the default set by the
>> > flash
>> > +      device. This is board specific and should be determined by the
>> > +      manufacturer. Various flash devices support different
>> > impedances.
>> 
>> Mh, this seems to be very tailored to this flash chip. Eg. the 
>> "Vcc/2",
>> is
>> this something specific to this flash or is this some kind of common
>> usage?
> 
> "Vcc/2" is taken from the datasheet description.

But this property should be as generic as possible. So at least I'd
drop the "optimizes the imdance at Vcc/2". And as Rob mentioned,
"strength" implies (milli)amps. Shouldn't it be output-driver-impedance
in this case?

>> For example, Winbond flashes specifies the output driver strength in
>> percent.
>> Settings are 25%, 50%, 75%, 100% there.
>> 
>> I'd have to ask a hardware guy, if one could convert between these two
>> representations of the driver strength.
> 
> Well, 100% must map to some actual value. Which then can be used to 
> create
> a discrete value table, which are then supported by the flash driver.

Which unfortunatly isn't possible because there is no refence for this
obscure value. That is, the datasheet doesn't mention what 100% actually
is.

> E.g. for Micron not every flash supports the same set of settings for
> driver strength.
> Macronix uses similar settings (values and bitmask), but in a different
> register. But if some vendors have pretty much incompatible settings, 
> it
> might be feasible to provide vendor specific settings, e.g.
> "micron,drive-strength = <45>" (for 45 Ohm) or "winbond,drive-strength 
> = <100>"
> (for 100%).

Different registers/values aren't the problem here. The problem is that
different units are used to express the same thing. But lets wait for
Rob's answer to my previous question.

To summarize there are flashes where you can select different impedances
for the output driver and flashes where you can select different 
percentages
for the output driver strength and there might also be flashes where you
can specify the output driver strength in (milli)amps. And it might not
always be possible to convert between these values. Therefore, will 
these
be three different DT properties?

-michael

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

end of thread, other threads:[~2021-10-13 14:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-13  8:47 AW: (EXT) Re: [PATCH v2 1/2] dt-bindings: mtd: spi-nor: Add output-driver-strength property Alexander Stein
2021-10-13 14:23 ` Michael Walle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).