2023-02-20 05:47:52

by Kunihiko Hayashi

[permalink] [raw]
Subject: [PATCH v3] dt-bindings: ata: Add UniPhier controller binding

Add UniPhier SATA controller compatible string to the platform binding.
This controller needs two or three reset controls.

Signed-off-by: Kunihiko Hayashi <[email protected]>
---
.../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
+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]+$":
--
2.25.1



2023-02-20 11:48:39

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: ata: Add UniPhier controller binding

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 <[email protected]>
> ---
> .../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


2023-02-22 01:03:21

by Kunihiko Hayashi

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: ata: Add UniPhier controller binding


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 <[email protected]>
>> ---
>> .../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

2023-02-22 08:38:58

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: ata: Add UniPhier controller binding

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


2023-02-22 10:51:22

by Kunihiko Hayashi

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: ata: Add UniPhier controller binding

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