Re: [PATCH v4 2/8] dt-bindings: mmc: mmc-spi-slot: Change voltage-ranges to uint32-matrix

From: Frank Li
Date: Wed Jun 12 2024 - 10:37:25 EST


On Tue, Jun 11, 2024 at 02:23:11PM -0600, Rob Herring wrote:
> On Tue, Jun 11, 2024 at 12:01:47PM -0400, Frank Li wrote:
> > According to common mmc core, voltages-ranges should be matrix.
> >
> > Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> >
> > ---
> > Not sure why it impact other mmc yaml's voltage-ranges.
>
> It's a quirk of the tools. When decoding properties, the tools only know
> all possible types. Types are global, not per binding. Sometimes it can
> be figured out, but cases like this cannot be.
>
> > ---
> > Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml | 17 ++++++++++-------
> > 1 file changed, 10 insertions(+), 7 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml b/Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml
> > index 36acc40c7d181..05815b837219d 100644
> > --- a/Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml
> > +++ b/Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml
> > @@ -27,17 +27,20 @@ properties:
> > maxItems: 1
> >
> > voltage-ranges:
> > - $ref: /schemas/types.yaml#/definitions/uint32-array
> > + $ref: /schemas/types.yaml#/definitions/uint32-matrix
> > description: |
> > Two cells are required, first cell specifies minimum slot voltage (mV),
> > second cell specifies maximum slot voltage (mV).
> > items:
> > - - description: |
> > - value for minimum slot voltage in mV
> > - default: 3200
> > - - description: |
> > - value for maximum slot voltage in mV
> > - default: 3400
> > + items:
> > + - description: |
> > + value for minimum slot voltage in mV
> > + default: 3200
> > + - description: |
> > + value for maximum slot voltage in mV
> > + default: 3400
> > + minItems: 1
> > + maxItems: 8
>
> From what I remember, SPI mode doesn't support voltage changes.
> Switching to 1.8V came much later in the spec. So it should be
> 'maxItems: 1'. Or better yet, make the outer 'items' a list (of 1
> entry).

I don't understand "make the outer 'items' a list (of 1 entry)." Can guide
me how to write it?

Frank

>
> Rob