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

From: Kunihiko Hayashi
Date: Tue Feb 21 2023 - 20:03:23 EST



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@xxxxxxxxxxxxx>
---
.../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