xref: /openbmc/linux/Documentation/devicetree/bindings/ata/qcom-sata.txt (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
1*8494294bSKumar Gala* Qualcomm AHCI SATA Controller
2*8494294bSKumar Gala
3*8494294bSKumar GalaSATA nodes are defined to describe on-chip Serial ATA controllers.
4*8494294bSKumar GalaEach SATA controller should have its own node.
5*8494294bSKumar Gala
6*8494294bSKumar GalaRequired properties:
7*8494294bSKumar Gala- compatible		: compatible list, must contain "generic-ahci"
8*8494294bSKumar Gala- interrupts		: <interrupt mapping for SATA IRQ>
9*8494294bSKumar Gala- reg			: <registers mapping>
10*8494294bSKumar Gala- phys			: Must contain exactly one entry as specified
11*8494294bSKumar Gala			  in phy-bindings.txt
12*8494294bSKumar Gala- phy-names		: Must be "sata-phy"
13*8494294bSKumar Gala
14*8494294bSKumar GalaRequired properties for "qcom,ipq806x-ahci" compatible:
15*8494294bSKumar Gala- clocks		: Must contain an entry for each entry in clock-names.
16*8494294bSKumar Gala- clock-names		: Shall be:
17*8494294bSKumar Gala				"slave_iface" - Fabric port AHB clock for SATA
18*8494294bSKumar Gala				"iface" - AHB clock
19*8494294bSKumar Gala				"core" - core clock
20*8494294bSKumar Gala				"rxoob" - RX out-of-band clock
21*8494294bSKumar Gala				"pmalive" - Power Module Alive clock
22*8494294bSKumar Gala- assigned-clocks	: Shall be:
23*8494294bSKumar Gala				SATA_RXOOB_CLK
24*8494294bSKumar Gala				SATA_PMALIVE_CLK
25*8494294bSKumar Gala- assigned-clock-rates	: Shall be:
26*8494294bSKumar Gala				100Mhz (100000000) for SATA_RXOOB_CLK
27*8494294bSKumar Gala				100Mhz (100000000) for SATA_PMALIVE_CLK
28*8494294bSKumar Gala
29*8494294bSKumar GalaExample:
30*8494294bSKumar Gala	sata@29000000 {
31*8494294bSKumar Gala		compatible = "qcom,ipq806x-ahci", "generic-ahci";
32*8494294bSKumar Gala		reg = <0x29000000 0x180>;
33*8494294bSKumar Gala
34*8494294bSKumar Gala		interrupts = <0 209 0x0>;
35*8494294bSKumar Gala
36*8494294bSKumar Gala		clocks = <&gcc SFAB_SATA_S_H_CLK>,
37*8494294bSKumar Gala			 <&gcc SATA_H_CLK>,
38*8494294bSKumar Gala			 <&gcc SATA_A_CLK>,
39*8494294bSKumar Gala			 <&gcc SATA_RXOOB_CLK>,
40*8494294bSKumar Gala			 <&gcc SATA_PMALIVE_CLK>;
41*8494294bSKumar Gala		clock-names = "slave_iface", "iface", "core",
42*8494294bSKumar Gala				"rxoob", "pmalive";
43*8494294bSKumar Gala		assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
44*8494294bSKumar Gala		assigned-clock-rates = <100000000>, <100000000>;
45*8494294bSKumar Gala
46*8494294bSKumar Gala		phys = <&sata_phy>;
47*8494294bSKumar Gala		phy-names = "sata-phy";
48*8494294bSKumar Gala	};
49