summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/ata/ahci-platform.txt
blob: 77091a2776426493cf1ccbe2739f2c244568dfef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
* AHCI SATA Controller

SATA nodes are defined to describe on-chip Serial ATA controllers.
Each SATA controller should have its own node.

It is possible, but not required, to represent each port as a sub-node.
It allows to enable each port independently when dealing with multiple
PHYs.

Required properties:
- compatible        : compatible string, one of:
  - "brcm,iproc-ahci"
  - "hisilicon,hisi-ahci"
  - "cavium,octeon-7130-ahci"
  - "ibm,476gtr-ahci"
  - "marvell,armada-380-ahci"
  - "marvell,armada-3700-ahci"
  - "snps,dwc-ahci"
  - "snps,spear-ahci"
  - "generic-ahci"
- interrupts        : <interrupt mapping for SATA IRQ>
- reg               : <registers mapping>

Please note that when using "generic-ahci" you must also specify a SoC specific
compatible:
	compatible = "manufacturer,soc-model-ahci", "generic-ahci";

Optional properties:
- dma-coherent      : Present if dma operations are coherent
- clocks            : a list of phandle + clock specifier pairs
- resets            : a list of phandle + reset specifier pairs
- target-supply     : regulator for SATA target power
- phy-supply        : regulator for PHY power
- phys              : reference to the SATA PHY node
- phy-names         : must be "sata-phy"
- ahci-supply       : regulator for AHCI controller
- ports-implemented : Mask that indicates which ports that the HBA supports
		      are available for software to use. Useful if PORTS_IMPL
		      is not programmed by the BIOS, which is true with
		      some embedded SOC's.

Required properties when using sub-nodes:
- #address-cells    : number of cells to encode an address
- #size-cells       : number of cells representing the size of an address

Sub-nodes required properties:
- reg		    : the port number
And at least one of the following properties:
- phys		    : reference to the SATA PHY node
- target-supply     : regulator for SATA target power

Examples:
        sata@ffe08000 {
		compatible = "snps,spear-ahci";
		reg = <0xffe08000 0x1000>;
		interrupts = <115>;
        };

With sub-nodes:
	sata@f7e90000 {
		compatible = "marvell,berlin2q-achi", "generic-ahci";
		reg = <0xe90000 0x1000>;
		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&chip CLKID_SATA>;
		#address-cells = <1>;
		#size-cells = <0>;

		sata0: sata-port@0 {
			reg = <0>;
			phys = <&sata_phy 0>;
			target-supply = <&reg_sata0>;
		};

		sata1: sata-port@1 {
			reg = <1>;
			phys = <&sata_phy 1>;
			target-supply = <&reg_sata1>;;
		};
	};