Commit | Line | Data |
---|---|---|
5f098a3e | 1 | * AHCI SATA Controller |
02aac316 RH |
2 | |
3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | |
4 | Each SATA controller should have its own node. | |
5 | ||
724f24ee AT |
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 | ||
02aac316 | 10 | Required properties: |
5799d6d4 TP |
11 | - compatible : compatible string, one of: |
12 | - "allwinner,sun4i-a10-ahci" | |
6e62688c | 13 | - "brcm,iproc-ahci" |
a1a205df | 14 | - "hisilicon,hisi-ahci" |
a2127e40 | 15 | - "cavium,octeon-7130-ahci" |
5799d6d4 | 16 | - "ibm,476gtr-ahci" |
a3464ed2 | 17 | - "marvell,armada-380-ahci" |
dfc44af9 | 18 | - "marvell,armada-3700-ahci" |
5799d6d4 TP |
19 | - "snps,dwc-ahci" |
20 | - "snps,exynos5440-ahci" | |
21 | - "snps,spear-ahci" | |
724f24ee | 22 | - "generic-ahci" |
02aac316 RH |
23 | - interrupts : <interrupt mapping for SATA IRQ> |
24 | - reg : <registers mapping> | |
25 | ||
724f24ee AT |
26 | Please note that when using "generic-ahci" you must also specify a SoC specific |
27 | compatible: | |
28 | compatible = "manufacturer,soc-model-ahci", "generic-ahci"; | |
29 | ||
8996b89d | 30 | Optional properties: |
1dc737c4 | 31 | - dma-coherent : Present if dma operations are coherent |
156c5887 | 32 | - clocks : a list of phandle + clock specifier pairs |
4b3e603a | 33 | - target-supply : regulator for SATA target power |
724f24ee AT |
34 | - phys : reference to the SATA PHY node |
35 | - phy-names : must be "sata-phy" | |
17dcc37e SK |
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. | |
724f24ee AT |
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: | |
6bd15996 GC |
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 | |
8996b89d | 51 | |
c5754b52 | 52 | Examples: |
02aac316 | 53 | sata@ffe08000 { |
91c20950 ML |
54 | compatible = "snps,spear-ahci"; |
55 | reg = <0xffe08000 0x1000>; | |
56 | interrupts = <115>; | |
02aac316 | 57 | }; |
c5754b52 OS |
58 | |
59 | ahci: sata@01c18000 { | |
60 | compatible = "allwinner,sun4i-a10-ahci"; | |
61 | reg = <0x01c18000 0x1000>; | |
62 | interrupts = <56>; | |
63 | clocks = <&pll6 0>, <&ahb_gates 25>; | |
64 | target-supply = <®_ahci_5v>; | |
65 | }; | |
724f24ee AT |
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>; | |
6bd15996 | 79 | target-supply = <®_sata0>; |
724f24ee AT |
80 | }; |
81 | ||
82 | sata1: sata-port@1 { | |
83 | reg = <1>; | |
84 | phys = <&sata_phy 1>; | |
6bd15996 | 85 | target-supply = <®_sata1>;; |
724f24ee AT |
86 | }; |
87 | }; |