[PATCH v9 02/15] dt-bindings: mmc: cdns: Add AMD Pensando Elba SoC
Brad Larson
blarson at amd.com
Fri Jan 20 17:10:04 PST 2023
On 19/01/2023 7:47 UTC, Krzysztof Kozlowski wrote:
>On 19/01/2023 04:51, Brad Larson wrote:
>> AMD Pensando Elba ARM 64-bit SoC is integrated with this IP and
>> explicitly controls byte-lane enables.
>>
...
>> diff --git a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
>> index 8b1a0fdcb5e3..f7dd6f990f96 100644
>> --- a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
>> +++ b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
>> @@ -16,12 +16,14 @@ properties:
>> compatible:
>> items:
>> - enum:
>> + - amd,pensando-elba-sd4hc
>> - microchip,mpfs-sd4hc
>> - socionext,uniphier-sd4hc
>> - const: cdns,sd4hc
>>
>> reg:
>> - maxItems: 1
>> + minItems: 1
>> + maxItems: 2
>>
>> interrupts:
>> maxItems: 1
>> @@ -111,12 +113,36 @@ properties:
>> minimum: 0
>> maximum: 0x7f
>>
>> + reset-names:
>> + items:
>> + - const: hw
>> +
>> + resets:
>> + description:
>> + optional. phandle to the system reset controller with line index
>
>Drop "optional"
>Drop "phandle to the" and rephrase it to describe physical reset line.
>Don't describe here DT syntax (phandle) but the hardware. What is
>expected to be here?
Done, see the resulting diff below for full context. The missing
'contains' was the bug.
>> + for mmc hw reset line if exists.
>> + maxItems: 1
>> +
>> required:
>> - compatible
>> - reg
>> - interrupts
>> - clocks
>>
>> +if:
>
>Move the allO from the top here and put it under it. Saves indentation soon.
Yes.
>> + properties:
>> + compatible:
>> + const: amd,pensando-elba-sd4hc
>
>BTW, this probably won't even work and that's the answer why you added
>fake maxItems: 2... This should make you think about the bug. You must
>use contains.
That was the problem, see updated diff below. Passes dtbs_check and dt_binding_check.
>> +then:
>> + properties:
>> + reg:
>> + minItems: 2
>> +else:
>> + properties:
>> + reg:
>> + minItems: 1
>> + maxItems: 2
>
>No, why do you suddenly allow two items on all variants? This was not
>described in your commit msg at all, so I expect here maxItems: 1.
Set maxItems: 1.
>Also, unless your reset is applicable to all variants, resets: false and
>reset-names: false.
Added false for both, this is the diff with above changes
--- a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
@@ -9,19 +9,18 @@ title: Cadence SD/SDIO/eMMC Host Controller (SD4HC)
maintainers:
- Masahiro Yamada <yamada.masahiro at socionext.com>
-allOf:
- - $ref: mmc-controller.yaml
-
properties:
compatible:
items:
- enum:
+ - amd,pensando-elba-sd4hc
- microchip,mpfs-sd4hc
- socionext,uniphier-sd4hc
- const: cdns,sd4hc
reg:
- maxItems: 1
+ minItems: 1
+ maxItems: 2
interrupts:
maxItems: 1
@@ -111,12 +110,42 @@ properties:
minimum: 0
maximum: 0x7f
+ reset-names:
+ items:
+ - const: hw
+
+ resets:
+ description:
+ physical line number to hardware reset the mmc
+ maxItems: 1
+
required:
- compatible
- reg
- interrupts
- clocks
+allOf:
+ - $ref: mmc-controller.yaml
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: amd,pensando-elba-sd4hc
+ then:
+ required:
+ - reset-names
+ - resets
+ properties:
+ reg:
+ minItems: 2
+ else:
+ properties:
+ reset-names: false
+ resets: false
+ reg:
+ maxItems: 1
+
Regards,
Brad
More information about the linux-arm-kernel
mailing list