Remove old text bindings and add ipq806x AHCI compatible to
ahci-common.yaml, as well as its required properties.
Signed-off-by: Rayyan Ansari <rayyan.ansari@linaro.org>
---
.../bindings/ata/ahci-platform.yaml | 39 ++++++++++++++-
.../devicetree/bindings/ata/qcom-sata.txt | 48 -------------------
2 files changed, 37 insertions(+), 50 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/ata/qcom-sata.txt
diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.yaml b/Documentation/devicetree/bindings/ata/ahci-platform.yaml
index 358617115bb8..b103d2c44421 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.yaml
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.yaml
@@ -30,6 +30,7 @@ select:
- marvell,armada-3700-ahci
- marvell,armada-8k-ahci
- marvell,berlin2q-ahci
+ - qcom,ipq806x-ahci
- socionext,uniphier-pro4-ahci
- socionext,uniphier-pxs2-ahci
- socionext,uniphier-pxs3-ahci
@@ -45,6 +46,7 @@ properties:
- marvell,armada-8k-ahci
- marvell,berlin2-ahci
- marvell,berlin2q-ahci
+ - qcom,ipq806x-ahci
- socionext,uniphier-pro4-ahci
- socionext,uniphier-pxs2-ahci
- socionext,uniphier-pxs3-ahci
@@ -64,11 +66,11 @@ properties:
clocks:
minItems: 1
- maxItems: 3
+ maxItems: 5
clock-names:
minItems: 1
- maxItems: 3
+ maxItems: 5
interrupts:
maxItems: 1
@@ -97,6 +99,39 @@ required:
allOf:
- $ref: ahci-common.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,ipq806x-ahci
+ then:
+ properties:
+ clocks:
+ minItems: 5
+ clock-names:
+ items:
+ - const: slave_iface
+ - const: iface
+ - const: core
+ - const: rxoob
+ - const: pmalive
+ assigned-clocks:
+ minItems: 2
+ maxItems: 2
+ assigned-clock-rates:
+ items:
+ - const: 100000000
+ - const: 100000000
+ required:
+ - phys
+ - phy-names
+ - clocks
+ - clock-names
+ - assigned-clocks
+ - assigned-clock-rates
+
- if:
properties:
compatible:
diff --git a/Documentation/devicetree/bindings/ata/qcom-sata.txt b/Documentation/devicetree/bindings/ata/qcom-sata.txt
deleted file mode 100644
index 094de91cd9fd..000000000000
--- a/Documentation/devicetree/bindings/ata/qcom-sata.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-* Qualcomm AHCI SATA Controller
-
-SATA nodes are defined to describe on-chip Serial ATA controllers.
-Each SATA controller should have its own node.
-
-Required properties:
-- compatible : compatible list, must contain "generic-ahci"
-- interrupts : <interrupt mapping for SATA IRQ>
-- reg : <registers mapping>
-- phys : Must contain exactly one entry as specified
- in phy-bindings.txt
-- phy-names : Must be "sata-phy"
-
-Required properties for "qcom,ipq806x-ahci" compatible:
-- clocks : Must contain an entry for each entry in clock-names.
-- clock-names : Shall be:
- "slave_iface" - Fabric port AHB clock for SATA
- "iface" - AHB clock
- "core" - core clock
- "rxoob" - RX out-of-band clock
- "pmalive" - Power Module Alive clock
-- assigned-clocks : Shall be:
- SATA_RXOOB_CLK
- SATA_PMALIVE_CLK
-- assigned-clock-rates : Shall be:
- 100Mhz (100000000) for SATA_RXOOB_CLK
- 100Mhz (100000000) for SATA_PMALIVE_CLK
-
-Example:
- sata@29000000 {
- compatible = "qcom,ipq806x-ahci", "generic-ahci";
- reg = <0x29000000 0x180>;
-
- interrupts = <0 209 0x0>;
-
- clocks = <&gcc SFAB_SATA_S_H_CLK>,
- <&gcc SATA_H_CLK>,
- <&gcc SATA_A_CLK>,
- <&gcc SATA_RXOOB_CLK>,
- <&gcc SATA_PMALIVE_CLK>;
- clock-names = "slave_iface", "iface", "core",
- "rxoob", "pmalive";
- assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
- assigned-clock-rates = <100000000>, <100000000>;
-
- phys = <&sata_phy>;
- phy-names = "sata-phy";
- };
--
2.45.2
On 16/07/2024 12:46, Rayyan Ansari wrote: > Remove old text bindings and add ipq806x AHCI compatible to > ahci-common.yaml, as well as its required properties. > > > allOf: > - $ref: ahci-common.yaml# > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,ipq806x-ahci > + then: > + properties: > + clocks: > + minItems: 5 > + clock-names: > + items: > + - const: slave_iface > + - const: iface > + - const: core > + - const: rxoob > + - const: pmalive > + assigned-clocks: > + minItems: 2 > + maxItems: 2 > + assigned-clock-rates: assigned* should not be needed in the binding. You can drop these. > + items: > + - const: 100000000 > + - const: 100000000 > + required: > + - phys > + - phy-names > + - clocks > + - clock-names > + - assigned-clocks > + - assigned-clock-rates Also from here. Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.