[v3] dt-bindings: ata: Add UniPhier controller binding
Commit Message
Add UniPhier SATA controller compatible string to the platform binding.
This controller needs two or three reset controls.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
.../bindings/ata/ahci-platform.yaml | 32 ++++++++++++++++---
1 file changed, 27 insertions(+), 5 deletions(-)
Changes since v2:
- Add compatible strings to select property
- Add minItems and change maxItems for resets
- Move condition schema under allOf property
- Change resets to "required" for uniphier-*-ahci
Changes since v1:
- Restrict resets property changes with compatible strings
- Fix maxItems from two to three
Comments
On 20/02/2023 06:47, Kunihiko Hayashi wrote:
> Add UniPhier SATA controller compatible string to the platform binding.
> This controller needs two or three reset controls.
>
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> ---
> .../bindings/ata/ahci-platform.yaml | 32 ++++++++++++++++---
> 1 file changed, 27 insertions(+), 5 deletions(-)
>
> Changes since v2:
> - Add compatible strings to select property
> - Add minItems and change maxItems for resets
> - Move condition schema under allOf property
> - Change resets to "required" for uniphier-*-ahci
>
> Changes since v1:
> - Restrict resets property changes with compatible strings
> - Fix maxItems from two to three
>
> diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.yaml b/Documentation/devicetree/bindings/ata/ahci-platform.yaml
> index 7dc2a2e8f598..4b2ee68097b8 100644
> --- a/Documentation/devicetree/bindings/ata/ahci-platform.yaml
> +++ b/Documentation/devicetree/bindings/ata/ahci-platform.yaml
> @@ -30,12 +30,12 @@ select:
> - marvell,armada-3700-ahci
> - marvell,armada-8k-ahci
> - marvell,berlin2q-ahci
> + - socionext,uniphier-pro4-ahci
> + - socionext,uniphier-pxs2-ahci
> + - socionext,uniphier-pxs3-ahci
> required:
> - compatible
>
> -allOf:
> - - $ref: "ahci-common.yaml#"
> -
> properties:
> compatible:
> oneOf:
> @@ -45,6 +45,9 @@ properties:
> - marvell,armada-8k-ahci
> - marvell,berlin2-ahci
> - marvell,berlin2q-ahci
> + - socionext,uniphier-pro4-ahci
> + - socionext,uniphier-pxs2-ahci
> + - socionext,uniphier-pxs3-ahci
> - const: generic-ahci
> - enum:
> - cavium,octeon-7130-ahci
> @@ -67,14 +70,33 @@ properties:
> minItems: 1
> maxItems: 3
>
> + resets:
> + minItems: 1
> + maxItems: 3
> +
> interrupts:
> maxItems: 1
>
> power-domains:
> maxItems: 1
>
> - resets:
> - maxItems: 1
Why moving it?
> +allOf:
This goes to the same place as in example-schema.
> + - $ref: ahci-common.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - socionext,uniphier-pro4-ahci
> + - socionext,uniphier-pxs2-ahci
> + - socionext,uniphier-pxs3-ahci
> + then:
> + properties:
> + resets:
> + minItems: 2
> + maxItems: 3
You need to describe the items, what's expected here.
> + required:
> + - resets
The entire point was to add:
else - maxItems: 1
>
> patternProperties:
> "^sata-port@[0-9a-f]+$":
Best regards,
Krzysztof
On 2023/02/20 20:48, Krzysztof Kozlowski wrote:
> On 20/02/2023 06:47, Kunihiko Hayashi wrote:
>> Add UniPhier SATA controller compatible string to the platform binding.
>> This controller needs two or three reset controls.
>>
>> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
>> ---
>> .../bindings/ata/ahci-platform.yaml | 32 ++++++++++++++++---
>> 1 file changed, 27 insertions(+), 5 deletions(-)
>>
>> Changes since v2:
>> - Add compatible strings to select property
>> - Add minItems and change maxItems for resets
>> - Move condition schema under allOf property
>> - Change resets to "required" for uniphier-*-ahci
>>
>> Changes since v1:
>> - Restrict resets property changes with compatible strings
>> - Fix maxItems from two to three
>>
>> diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.yaml
>> b/Documentation/devicetree/bindings/ata/ahci-platform.yaml
>> index 7dc2a2e8f598..4b2ee68097b8 100644
>> --- a/Documentation/devicetree/bindings/ata/ahci-platform.yaml
>> +++ b/Documentation/devicetree/bindings/ata/ahci-platform.yaml
>> @@ -30,12 +30,12 @@ select:
>> - marvell,armada-3700-ahci
>> - marvell,armada-8k-ahci
>> - marvell,berlin2q-ahci
>> + - socionext,uniphier-pro4-ahci
>> + - socionext,uniphier-pxs2-ahci
>> + - socionext,uniphier-pxs3-ahci
>> required:
>> - compatible
>>
>> -allOf:
>> - - $ref: "ahci-common.yaml#"
>> -
>> properties:
>> compatible:
>> oneOf:
>> @@ -45,6 +45,9 @@ properties:
>> - marvell,armada-8k-ahci
>> - marvell,berlin2-ahci
>> - marvell,berlin2q-ahci
>> + - socionext,uniphier-pro4-ahci
>> + - socionext,uniphier-pxs2-ahci
>> + - socionext,uniphier-pxs3-ahci
>> - const: generic-ahci
>> - enum:
>> - cavium,octeon-7130-ahci
>> @@ -67,14 +70,33 @@ properties:
>> minItems: 1
>> maxItems: 3
>>
>> + resets:
>> + minItems: 1
>> + maxItems: 3
>> +
>> interrupts:
>> maxItems: 1
>>
>> power-domains:
>> maxItems: 1
>>
>> - resets:
>> - maxItems: 1
>
> Why moving it?
Sorry for my mistake. I should fix it.
>> +allOf:
>
> This goes to the same place as in example-schema.
I can see "allOf" next to "required" in example-schema,
>> + - $ref: ahci-common.yaml#
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - socionext,uniphier-pro4-ahci
>> + - socionext,uniphier-pxs2-ahci
>> + - socionext,uniphier-pxs3-ahci
>> + then:
>> + properties:
>> + resets:
>> + minItems: 2
>> + maxItems: 3
>
> You need to describe the items, what's expected here.
I'll add the descriptions for each reset for the compatible.
However, I'm afraid this "if" part will grow for UniPhier resets
in common ahci-platform.
>
>> + required:
>> + - resets
>
> The entire point was to add:
>
> else - maxItems: 1
I'll add it.
Thank you,
---
Best Regards
Kunihiko Hayashi
On 22/02/2023 02:03, Kunihiko Hayashi wrote:
>>> - resets:
>>> - maxItems: 1
>>
>> Why moving it?
>
> Sorry for my mistake. I should fix it.
>
>>> +allOf:
>>
>> This goes to the same place as in example-schema.
>
> I can see "allOf" next to "required" in example-schema,
Are you agreeing or disagreeing here (thus I should explain that it's
not the same place)? If the first, sometimes it's enough to say "ack" or
"sure".
>
Best regards,
Krzysztof
On 2023/02/22 17:38, Krzysztof Kozlowski wrote:
> On 22/02/2023 02:03, Kunihiko Hayashi wrote:
>>>> - resets:
>>>> - maxItems: 1
>>>
>>> Why moving it?
>>
>> Sorry for my mistake. I should fix it.
>>
>>>> +allOf:
>>>
>>> This goes to the same place as in example-schema.
>>
>> I can see "allOf" next to "required" in example-schema,
>
> Are you agreeing or disagreeing here (thus I should explain that it's
> not the same place)? If the first, sometimes it's enough to say "ack" or
> "sure".
Sure. I'll move it in v4.
Thank you,
---
Best Regards
Kunihiko Hayashi
@@ -30,12 +30,12 @@ select:
- marvell,armada-3700-ahci
- marvell,armada-8k-ahci
- marvell,berlin2q-ahci
+ - socionext,uniphier-pro4-ahci
+ - socionext,uniphier-pxs2-ahci
+ - socionext,uniphier-pxs3-ahci
required:
- compatible
-allOf:
- - $ref: "ahci-common.yaml#"
-
properties:
compatible:
oneOf:
@@ -45,6 +45,9 @@ properties:
- marvell,armada-8k-ahci
- marvell,berlin2-ahci
- marvell,berlin2q-ahci
+ - socionext,uniphier-pro4-ahci
+ - socionext,uniphier-pxs2-ahci
+ - socionext,uniphier-pxs3-ahci
- const: generic-ahci
- enum:
- cavium,octeon-7130-ahci
@@ -67,14 +70,33 @@ properties:
minItems: 1
maxItems: 3
+ resets:
+ minItems: 1
+ maxItems: 3
+
interrupts:
maxItems: 1
power-domains:
maxItems: 1
- resets:
- maxItems: 1
+allOf:
+ - $ref: ahci-common.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - socionext,uniphier-pro4-ahci
+ - socionext,uniphier-pxs2-ahci
+ - socionext,uniphier-pxs3-ahci
+ then:
+ properties:
+ resets:
+ minItems: 2
+ maxItems: 3
+ required:
+ - resets
patternProperties:
"^sata-port@[0-9a-f]+$":