@@ -1,4 +1,4 @@
-* APM X-Gene 6.0 Gb/s SATA PHY nodes
+* APM X-Gene 6.0 Gb/s SATA PHY and controller nodes
SATA PHY nodes are defined to describe on-chip Serial ATA PHY. Each SATA PHY
(pair of PHY) has its own node.
@@ -67,3 +67,63 @@ Example:
status = "ok";
};
+SATA host controller nodes are defined to describe on-chip Serial ATA
+controllers. Each SATA controller (pair of ports) have its own node.
+
+Required properties:
+- compatible : Shall be "apm,xgene-ahci"
+- reg : First memory resource shall be the AHCI memory
+ resource.
+ Second memory resource shall be the host controller
+ memory resource.
+- id : Controller ID (0 = first, 1 = second, 2 = third)
+- interrupt-parent : Interrupt controller
+- interrupts : Interrupt mapping for SATA host controller IRQ
+- clocks : Reference to the clock entry
+- phys : PHY reference
+- phy-names : Name of the PHY reference
+
+Optional properties:
+- status : Shall be "ok" if enabled or "na" if disabled.
+ Default is "ok".
+
+Example:
+ sata0: sata@1a000000 {
+ compatible = "apm,xgene-ahci";
+ id = <0>;
+ reg = <0x0 0x1a000000 0x0 0x100000
+ 0x0 0x1f210000 0x0 0x10000>;
+ interrupt-parent = <&gic>;
+ interrupts = <0x0 0x86 0x4>;
+ clocks = <ð01clk 0>;
+ status = "na";
+ phys = <&sataphy0>;
+ phy-names = "sataphy0";
+ };
+
+ sata1: sata@1a400000 {
+ compatible = "apm,xgene-ahci";
+ id = <1>;
+ reg = <0x0 0x1a400000 0x0 0x100000
+ 0x0 0x1f220000 0x0 0x10000>;
+ interrupt-parent = <&gic>;
+ interrupts = <0x0 0x87 0x4>;
+ clocks = <ð23clk 0>;
+ status = "ok";
+ phys = <&sataphy1>;
+ phy-names = "sataphy1";
+ };
+
+ sata2: sata@1a800000 {
+ compatible = "apm,xgene-ahci";
+ id = <2>;
+ reg = <0x0 0x1a800000 0x0 0x100000
+ 0x0 0x1f230000 0x0 0x10000
+ 0x0 0x1f2d0000 0x0 0x10000 >;
+ interrupt-parent = <&gic>;
+ interrupts = <0x0 0x88 0x4>;
+ clocks = <&sata45clk 0>;
+ status = "ok";
+ phys = <&sataphy2>;
+ phy-names = "sataphy2";
+ };