ata: qcom: Add device tree bindings information
authorKumar Gala <galak@codeaurora.org>
Mon, 22 Sep 2014 20:09:46 +0000 (15:09 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 23 Sep 2014 13:16:56 +0000 (09:16 -0400)
Add device tree binding for Qualcomm AHCI SATA controller and specifically
the sata controller on the IPQ806x family of SoCs.

We can utilize the "generic-ahci" platform driver with the addition of the
sata phy to enable SATA support on Qualcomm SoCs with AHCI controllers.

Signed-off-by: Kumar Gala <galak@codeaurora.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Documentation/devicetree/bindings/ata/qcom-sata.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/ata/qcom-sata.txt b/Documentation/devicetree/bindings/ata/qcom-sata.txt
new file mode 100644 (file)
index 0000000..094de91
--- /dev/null
@@ -0,0 +1,48 @@
+* 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";
+       };