Merge remote-tracking branches 'regulator/fix/88pm800', 'regulator/fix/max8973',...
[linux-drm-fsl-dcu.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   - "hisilicon,hisi-ahci"
14   - "ibm,476gtr-ahci"
15   - "marvell,armada-380-ahci"
16   - "snps,dwc-ahci"
17   - "snps,exynos5440-ahci"
18   - "snps,spear-ahci"
19   - "fsl,qoriq-ahci" : for qoriq series socs which include ls1021, ls2085, etc.
20   - "fsl,<chip>-ahci" : chip could be ls1021, ls2085 etc.
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 - target-supply     : regulator for SATA target power
33 - phys              : reference to the SATA PHY node
34 - phy-names         : must be "sata-phy"
35
36 Required properties when using sub-nodes:
37 - #address-cells    : number of cells to encode an address
38 - #size-cells       : number of cells representing the size of an address
39
40
41 Sub-nodes required properties:
42 - reg               : the port number
43 And at least one of the following properties:
44 - phys              : reference to the SATA PHY node
45 - target-supply    : regulator for SATA target power
46
47 Examples:
48         sata@ffe08000 {
49                 compatible = "snps,spear-ahci";
50                 reg = <0xffe08000 0x1000>;
51                 interrupts = <115>;
52         };
53
54         ahci: sata@01c18000 {
55                 compatible = "allwinner,sun4i-a10-ahci";
56                 reg = <0x01c18000 0x1000>;
57                 interrupts = <56>;
58                 clocks = <&pll6 0>, <&ahb_gates 25>;
59                 target-supply = <&reg_ahci_5v>;
60         };
61
62 With sub-nodes:
63         sata@f7e90000 {
64                 compatible = "marvell,berlin2q-achi", "generic-ahci";
65                 reg = <0xe90000 0x1000>;
66                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
67                 clocks = <&chip CLKID_SATA>;
68                 #address-cells = <1>;
69                 #size-cells = <0>;
70
71                 sata0: sata-port@0 {
72                         reg = <0>;
73                         phys = <&sata_phy 0>;
74                         target-supply = <&reg_sata0>;
75                 };
76
77                 sata1: sata-port@1 {
78                         reg = <1>;
79                         phys = <&sata_phy 1>;
80                         target-supply = <&reg_sata1>;;
81                 };
82         };