According to common mmc core, voltages-ranges should be matrix.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Not sure why it impact other mmc yaml's voltage-ranges.
---
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
gpios:
description: |
--
2.34.1
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@nxp.com> > > --- > 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). Rob
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@nxp.com> > > > > --- > > 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
On 12/06/2024 16:36, Frank Li wrote:
> 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@nxp.com>
>>>
>>> ---
>>> 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?
voltage-ranges:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
items:
- items:
- descr:
- descr:
Best regards,
Krzysztof
© 2016 - 2026 Red Hat, Inc.