]> git.ipfire.org Git - thirdparty/linux.git/blob - Documentation/devicetree/bindings/ata/ahci-platform.txt
Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
[thirdparty/linux.git] / Documentation / devicetree / bindings / ata / ahci-platform.txt
1 * AHCI SATA Controller
2
3 SATA nodes are defined to describe on-chip Serial ATA controllers.
4 Each SATA controller should have its own node.
5
6 It is possible, but not required, to represent each port as a sub-node.
7 It allows to enable each port independently when dealing with multiple
8 PHYs.
9
10 Required properties:
11 - compatible : compatible string, one of:
12 - "allwinner,sun4i-a10-ahci"
13 - "brcm,iproc-ahci"
14 - "hisilicon,hisi-ahci"
15 - "cavium,octeon-7130-ahci"
16 - "ibm,476gtr-ahci"
17 - "marvell,armada-380-ahci"
18 - "marvell,armada-3700-ahci"
19 - "snps,dwc-ahci"
20 - "snps,spear-ahci"
21 - "generic-ahci"
22 - interrupts : <interrupt mapping for SATA IRQ>
23 - reg : <registers mapping>
24
25 Please note that when using "generic-ahci" you must also specify a SoC specific
26 compatible:
27 compatible = "manufacturer,soc-model-ahci", "generic-ahci";
28
29 Optional properties:
30 - dma-coherent : Present if dma operations are coherent
31 - clocks : a list of phandle + clock specifier pairs
32 - resets : a list of phandle + reset specifier pairs
33 - target-supply : regulator for SATA target power
34 - phys : reference to the SATA PHY node
35 - phy-names : must be "sata-phy"
36 - ports-implemented : Mask that indicates which ports that the HBA supports
37 are available for software to use. Useful if PORTS_IMPL
38 is not programmed by the BIOS, which is true with
39 some embedded SOC's.
40
41 Required properties when using sub-nodes:
42 - #address-cells : number of cells to encode an address
43 - #size-cells : number of cells representing the size of an address
44
45
46 Sub-nodes required properties:
47 - reg : the port number
48 And at least one of the following properties:
49 - phys : reference to the SATA PHY node
50 - target-supply : regulator for SATA target power
51
52 Examples:
53 sata@ffe08000 {
54 compatible = "snps,spear-ahci";
55 reg = <0xffe08000 0x1000>;
56 interrupts = <115>;
57 };
58
59 ahci: sata@1c18000 {
60 compatible = "allwinner,sun4i-a10-ahci";
61 reg = <0x01c18000 0x1000>;
62 interrupts = <56>;
63 clocks = <&pll6 0>, <&ahb_gates 25>;
64 target-supply = <&reg_ahci_5v>;
65 };
66
67 With sub-nodes:
68 sata@f7e90000 {
69 compatible = "marvell,berlin2q-achi", "generic-ahci";
70 reg = <0xe90000 0x1000>;
71 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
72 clocks = <&chip CLKID_SATA>;
73 #address-cells = <1>;
74 #size-cells = <0>;
75
76 sata0: sata-port@0 {
77 reg = <0>;
78 phys = <&sata_phy 0>;
79 target-supply = <&reg_sata0>;
80 };
81
82 sata1: sata-port@1 {
83 reg = <1>;
84 phys = <&sata_phy 1>;
85 target-supply = <&reg_sata1>;;
86 };
87 };