]>
Commit | Line | Data |
---|---|---|
53633a89 TR |
1 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
2 | %YAML 1.2 | |
3 | --- | |
4 | $id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml# | |
5 | $schema: http://devicetree.org/meta-schemas/core.yaml# | |
6 | ||
7 | title: Tegra AHCI SATA Controller | |
8 | ||
9 | maintainers: | |
10 | - Thierry Reding <thierry.reding@gmail.com> | |
11 | - Jonathan Hunter <jonathanh@nvidia.com> | |
12 | ||
13 | properties: | |
14 | compatible: | |
15 | enum: | |
16 | - nvidia,tegra124-ahci | |
17 | - nvidia,tegra132-ahci | |
18 | - nvidia,tegra210-ahci | |
19 | - nvidia,tegra186-ahci | |
20 | ||
21 | reg: | |
22 | minItems: 2 | |
23 | items: | |
24 | - description: AHCI registers | |
25 | - description: SATA configuration and IPFS registers | |
26 | - description: SATA AUX registers | |
27 | ||
28 | interrupts: | |
29 | maxItems: 1 | |
30 | ||
31 | clock-names: | |
32 | items: | |
33 | - const: sata | |
34 | - const: sata-oob | |
35 | ||
36 | clocks: | |
37 | maxItems: 2 | |
38 | ||
39 | reset-names: | |
40 | minItems: 2 | |
41 | items: | |
42 | - const: sata | |
43 | - const: sata-cold | |
44 | - const: sata-oob | |
45 | ||
46 | resets: | |
47 | minItems: 2 | |
48 | maxItems: 3 | |
49 | ||
50 | iommus: | |
51 | maxItems: 1 | |
52 | ||
53 | interconnect-names: | |
54 | items: | |
55 | - const: dma-mem | |
56 | - const: write | |
57 | ||
58 | interconnects: | |
59 | maxItems: 2 | |
60 | ||
61 | power-domains: | |
62 | items: | |
63 | - description: SAX power-domain | |
64 | ||
65 | phy-names: | |
66 | items: | |
67 | - const: sata-0 | |
68 | ||
69 | phys: | |
70 | maxItems: 1 | |
71 | ||
72 | hvdd-supply: | |
73 | description: SATA HVDD regulator supply. | |
74 | ||
75 | vddio-supply: | |
76 | description: SATA VDDIO regulator supply. | |
77 | ||
78 | avdd-supply: | |
79 | description: SATA AVDD regulator supply. | |
80 | ||
81 | target-5v-supply: | |
82 | description: SATA 5V power regulator supply. | |
83 | ||
84 | target-12v-supply: | |
85 | description: SATA 12V power regulator supply. | |
86 | ||
87 | required: | |
88 | - compatible | |
89 | - reg | |
90 | - interrupts | |
91 | - clock-names | |
92 | - clocks | |
93 | - reset-names | |
94 | - resets | |
95 | ||
96 | allOf: | |
97 | - if: | |
98 | properties: | |
99 | compatible: | |
100 | contains: | |
101 | enum: | |
102 | - nvidia,tegra124-ahci | |
103 | - nvidia,tegra132-ahci | |
104 | then: | |
105 | properties: | |
106 | reg: | |
107 | maxItems: 2 | |
108 | reset-names: | |
109 | minItems: 3 | |
110 | resets: | |
111 | minItems: 3 | |
112 | required: | |
113 | - phys | |
114 | - phy-names | |
115 | - hvdd-supply | |
116 | - vddio-supply | |
117 | - avdd-supply | |
118 | ||
119 | - if: | |
120 | properties: | |
121 | compatible: | |
122 | contains: | |
123 | enum: | |
124 | - nvidia,tegra210-ahci | |
125 | then: | |
126 | properties: | |
127 | reg: | |
128 | minItems: 3 | |
129 | reset-names: | |
130 | minItems: 3 | |
131 | resets: | |
132 | minItems: 3 | |
133 | ||
134 | - if: | |
135 | properties: | |
136 | compatible: | |
137 | contains: | |
138 | enum: | |
139 | - nvidia,tegra186-ahci | |
140 | then: | |
141 | properties: | |
142 | reg: | |
143 | minItems: 3 | |
144 | reset-names: | |
145 | maxItems: 2 | |
146 | resets: | |
147 | maxItems: 2 | |
148 | required: | |
149 | - iommus | |
150 | - interconnect-names | |
151 | - interconnects | |
152 | - power-domains | |
153 | ||
154 | additionalProperties: false | |
155 | ||
156 | examples: | |
157 | - | | |
158 | #include <dt-bindings/clock/tegra210-car.h> | |
159 | #include <dt-bindings/reset/tegra210-car.h> | |
160 | #include <dt-bindings/interrupt-controller/arm-gic.h> | |
161 | ||
162 | sata@70020000 { | |
163 | compatible = "nvidia,tegra210-ahci"; | |
164 | reg = <0x70027000 0x00002000>, /* AHCI */ | |
165 | <0x70020000 0x00007000>, /* SATA */ | |
166 | <0x70001100 0x00010000>; /* SATA AUX */ | |
167 | interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; | |
168 | clocks = <&tegra_car TEGRA210_CLK_SATA>, | |
169 | <&tegra_car TEGRA210_CLK_SATA_OOB>; | |
170 | clock-names = "sata", "sata-oob"; | |
171 | resets = <&tegra_car 124>, | |
172 | <&tegra_car 129>, | |
173 | <&tegra_car 123>; | |
174 | reset-names = "sata", "sata-cold", "sata-oob"; | |
175 | }; |