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