Hi Krzysztof,
On 2022/03/30 18:45, Krzysztof Kozlowski wrote:
On 30/03/2022 11:16, Kunihiko Hayashi wrote:
Hi Krzysztof,
On 2022/03/30 17:13, Krzysztof Kozlowski wrote:
On 30/03/2022 07:20, Kunihiko Hayashi wrote:
Instead of "oneOf:" choices, use "allOf:" and "if:" to define
clock-names
and reset-names that can be taken by the compatible string.
The order of clock-names and reset-names doesn't change here.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>
---
.../phy/socionext,uniphier-ahci-phy.yaml | 73 ++++++++++++------
.../phy/socionext,uniphier-pcie-phy.yaml | 37 ++++++---
.../phy/socionext,uniphier-usb3hs-phy.yaml | 75 +++++++++++++-----
.../phy/socionext,uniphier-usb3ss-phy.yaml | 77 ++++++++++++++-----
4 files changed, 188 insertions(+), 74 deletions(-)
diff --git
a/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml
b/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml
index 14f7579e7daa..61d9306e1852 100644
---
a/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml
+++
b/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml
@@ -30,33 +30,62 @@ properties:
minItems: 1
maxItems: 2
- clock-names:
- oneOf:
- - items: # for PXs2
- - const: link
- - items: # for Pro4
- - const: link
- - const: gio
- - items: # for others
- - const: link
- - const: phy
+ clock-names: true
resets:
minItems: 2
maxItems: 6
- reset-names:
- oneOf:
- - items: # for Pro4
- - const: link
- - const: gio
- - const: phy
- - const: pm
- - const: tx
- - const: rx
- - items: # for others
- - const: link
- - const: phy
+ reset-names: true
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: socionext,uniphier-pro4-ahci-phy
+ then:
+ properties:
+ clock-names:
+ items:
+ - const: link
+ - const: gio
+ reset-names:
+ items:
+ - const: link
+ - const: gio
+ - const: phy
+ - const: pm
+ - const: tx
+ - const: rx
Constrain also everywhere clocks and resets, so here should be:
resets:
minItems: 6
maxItems: 6
If I put the constraint here, it would conflict with the original one.
Should I also replace the original resets
resets:
minItems: 2
maxItems: 6
with "resets: true"?
It should not conflict. Check the bindings for Samsung Exynos clock I
sent you last time. In the main "properties" you put the widest
constraints, like you have now (2-6). Then for each compatible you
narrow it (2-2, 6-6).
You can later test it by adding/removing clocks to check if constraints
are properly working.
I understand. The main "properties" should be the widest constraints,
and I checked that Exynos clock is set to the widest (1-10).
I'll add the constraints.
Thank you,
---
Best Regards
Kunihiko Hayashi