[v3] dt-bindings: ata: Add UniPhier controller binding

Message ID 20230220054711.4584-1-hayashi.kunihiko@socionext.com
State New
Headers
Series [v3] dt-bindings: ata: Add UniPhier controller binding |

Commit Message

Kunihiko Hayashi Feb. 20, 2023, 5:47 a.m. UTC
  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

Krzysztof Kozlowski Feb. 20, 2023, 11:48 a.m. UTC | #1
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
  
Kunihiko Hayashi Feb. 22, 2023, 1:03 a.m. UTC | #2
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
  
Krzysztof Kozlowski Feb. 22, 2023, 8:38 a.m. UTC | #3
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
  
Kunihiko Hayashi Feb. 22, 2023, 10:51 a.m. UTC | #4
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
  

Patch

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]+$":