diff options
author | Chen-Yu Tsai <wens@csie.org> | 2014-10-20 10:10:30 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2014-10-21 15:50:39 -0400 |
commit | ac399a971d4094afaf07828c9bdf7c715ba8d167 (patch) | |
tree | 7efedc85fff22b6487f4c932eb62cd754d56388f /arch/arm/boot/dts/sun9i-a80.dtsi | |
parent | 2c4791cdfab5cd83efbe6ee1ba59c197d49fbcb8 (diff) |
ARM: dts: sun9i: Add basic clocks and reset controls
Now that we have driver support for the basic clocks, add them to the
dtsi and update existing peripherals. Also add reset controls to match.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'arch/arm/boot/dts/sun9i-a80.dtsi')
-rw-r--r-- | arch/arm/boot/dts/sun9i-a80.dtsi | 177 |
1 files changed, 171 insertions, 6 deletions
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi index 5e2ec4b71f5b..7bcab5685d0e 100644 --- a/arch/arm/boot/dts/sun9i-a80.dtsi +++ b/arch/arm/boot/dts/sun9i-a80.dtsi | |||
@@ -142,6 +142,135 @@ | |||
142 | clock-frequency = <32768>; | 142 | clock-frequency = <32768>; |
143 | clock-output-names = "osc32k"; | 143 | clock-output-names = "osc32k"; |
144 | }; | 144 | }; |
145 | |||
146 | pll4: clk@0600000c { | ||
147 | #clock-cells = <0>; | ||
148 | compatible = "allwinner,sun9i-a80-pll4-clk"; | ||
149 | reg = <0x0600000c 0x4>; | ||
150 | clocks = <&osc24M>; | ||
151 | clock-output-names = "pll4"; | ||
152 | }; | ||
153 | |||
154 | pll12: clk@0600002c { | ||
155 | #clock-cells = <0>; | ||
156 | compatible = "allwinner,sun9i-a80-pll4-clk"; | ||
157 | reg = <0x0600002c 0x4>; | ||
158 | clocks = <&osc24M>; | ||
159 | clock-output-names = "pll12"; | ||
160 | }; | ||
161 | |||
162 | gt_clk: clk@0600005c { | ||
163 | #clock-cells = <0>; | ||
164 | compatible = "allwinner,sun9i-a80-gt-clk"; | ||
165 | reg = <0x0600005c 0x4>; | ||
166 | clocks = <&osc24M>, <&pll4>, <&pll12>, <&pll12>; | ||
167 | clock-output-names = "gt"; | ||
168 | }; | ||
169 | |||
170 | ahb0: clk@06000060 { | ||
171 | #clock-cells = <0>; | ||
172 | compatible = "allwinner,sun9i-a80-ahb-clk"; | ||
173 | reg = <0x06000060 0x4>; | ||
174 | clocks = <>_clk>, <&pll4>, <&pll12>, <&pll12>; | ||
175 | clock-output-names = "ahb0"; | ||
176 | }; | ||
177 | |||
178 | ahb1: clk@06000064 { | ||
179 | #clock-cells = <0>; | ||
180 | compatible = "allwinner,sun9i-a80-ahb-clk"; | ||
181 | reg = <0x06000064 0x4>; | ||
182 | clocks = <>_clk>, <&pll4>, <&pll12>, <&pll12>; | ||
183 | clock-output-names = "ahb1"; | ||
184 | }; | ||
185 | |||
186 | ahb2: clk@06000068 { | ||
187 | #clock-cells = <0>; | ||
188 | compatible = "allwinner,sun9i-a80-ahb-clk"; | ||
189 | reg = <0x06000068 0x4>; | ||
190 | clocks = <>_clk>, <&pll4>, <&pll12>, <&pll12>; | ||
191 | clock-output-names = "ahb2"; | ||
192 | }; | ||
193 | |||
194 | apb0: clk@06000070 { | ||
195 | #clock-cells = <0>; | ||
196 | compatible = "allwinner,sun9i-a80-apb0-clk"; | ||
197 | reg = <0x06000070 0x4>; | ||
198 | clocks = <&osc24M>, <&pll4>; | ||
199 | clock-output-names = "apb0"; | ||
200 | }; | ||
201 | |||
202 | apb1: clk@06000074 { | ||
203 | #clock-cells = <0>; | ||
204 | compatible = "allwinner,sun9i-a80-apb1-clk"; | ||
205 | reg = <0x06000074 0x4>; | ||
206 | clocks = <&osc24M>, <&pll4>; | ||
207 | clock-output-names = "apb1"; | ||
208 | }; | ||
209 | |||
210 | cci400_clk: clk@06000078 { | ||
211 | #clock-cells = <0>; | ||
212 | compatible = "allwinner,sun9i-a80-gt-clk"; | ||
213 | reg = <0x06000078 0x4>; | ||
214 | clocks = <&osc24M>, <&pll4>, <&pll12>, <&pll12>; | ||
215 | clock-output-names = "cci400"; | ||
216 | }; | ||
217 | |||
218 | ahb0_gates: clk@06000580 { | ||
219 | #clock-cells = <1>; | ||
220 | compatible = "allwinner,sun9i-a80-ahb0-gates-clk"; | ||
221 | reg = <0x06000580 0x4>; | ||
222 | clocks = <&ahb0>; | ||
223 | clock-output-names = "ahb0_fd", "ahb0_ve", "ahb0_gpu", | ||
224 | "ahb0_ss", "ahb0_sd", "ahb0_nand1", | ||
225 | "ahb0_nand0", "ahb0_sdram", | ||
226 | "ahb0_mipi_hsi", "ahb0_sata", "ahb0_ts", | ||
227 | "ahb0_spi0","ahb0_spi1", "ahb0_spi2", | ||
228 | "ahb0_spi3"; | ||
229 | }; | ||
230 | |||
231 | ahb1_gates: clk@06000584 { | ||
232 | #clock-cells = <1>; | ||
233 | compatible = "allwinner,sun9i-a80-ahb1-gates-clk"; | ||
234 | reg = <0x06000584 0x4>; | ||
235 | clocks = <&ahb1>; | ||
236 | clock-output-names = "ahb1_usbotg", "ahb1_usbhci", | ||
237 | "ahb1_gmac", "ahb1_msgbox", | ||
238 | "ahb1_spinlock", "ahb1_hstimer", | ||
239 | "ahb1_dma"; | ||
240 | }; | ||
241 | |||
242 | ahb2_gates: clk@06000588 { | ||
243 | #clock-cells = <1>; | ||
244 | compatible = "allwinner,sun9i-a80-ahb2-gates-clk"; | ||
245 | reg = <0x06000588 0x4>; | ||
246 | clocks = <&ahb2>; | ||
247 | clock-output-names = "ahb2_lcd0", "ahb2_lcd1", | ||
248 | "ahb2_edp", "ahb2_csi", "ahb2_hdmi", | ||
249 | "ahb2_de", "ahb2_mp", "ahb2_mipi_dsi"; | ||
250 | }; | ||
251 | |||
252 | apb0_gates: clk@06000590 { | ||
253 | #clock-cells = <1>; | ||
254 | compatible = "allwinner,sun9i-a80-apb0-gates-clk"; | ||
255 | reg = <0x06000590 0x4>; | ||
256 | clocks = <&apb0>; | ||
257 | clock-output-names = "apb0_spdif", "apb0_pio", | ||
258 | "apb0_ac97", "apb0_i2s0", "apb0_i2s1", | ||
259 | "apb0_lradc", "apb0_gpadc", "apb0_twd", | ||
260 | "apb0_cirtx"; | ||
261 | }; | ||
262 | |||
263 | apb1_gates: clk@06000594 { | ||
264 | #clock-cells = <1>; | ||
265 | compatible = "allwinner,sun9i-a80-apb1-gates-clk"; | ||
266 | reg = <0x06000594 0x4>; | ||
267 | clocks = <&apb1>; | ||
268 | clock-output-names = "apb1_i2c0", "apb1_i2c1", | ||
269 | "apb1_i2c2", "apb1_i2c3", "apb1_i2c4", | ||
270 | "apb1_uart0", "apb1_uart1", | ||
271 | "apb1_uart2", "apb1_uart3", | ||
272 | "apb1_uart4", "apb1_uart5"; | ||
273 | }; | ||
145 | }; | 274 | }; |
146 | 275 | ||
147 | soc { | 276 | soc { |
@@ -165,6 +294,36 @@ | |||
165 | interrupts = <1 9 0xf04>; | 294 | interrupts = <1 9 0xf04>; |
166 | }; | 295 | }; |
167 | 296 | ||
297 | ahb0_resets: reset@060005a0 { | ||
298 | #reset-cells = <1>; | ||
299 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
300 | reg = <0x060005a0 0x4>; | ||
301 | }; | ||
302 | |||
303 | ahb1_resets: reset@060005a4 { | ||
304 | #reset-cells = <1>; | ||
305 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
306 | reg = <0x060005a4 0x4>; | ||
307 | }; | ||
308 | |||
309 | ahb2_resets: reset@060005a8 { | ||
310 | #reset-cells = <1>; | ||
311 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
312 | reg = <0x060005a8 0x4>; | ||
313 | }; | ||
314 | |||
315 | apb0_resets: reset@060005b0 { | ||
316 | #reset-cells = <1>; | ||
317 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
318 | reg = <0x060005b0 0x4>; | ||
319 | }; | ||
320 | |||
321 | apb1_resets: reset@060005b4 { | ||
322 | #reset-cells = <1>; | ||
323 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
324 | reg = <0x060005b4 0x4>; | ||
325 | }; | ||
326 | |||
168 | timer@06000c00 { | 327 | timer@06000c00 { |
169 | compatible = "allwinner,sun4i-a10-timer"; | 328 | compatible = "allwinner,sun4i-a10-timer"; |
170 | reg = <0x06000c00 0xa0>; | 329 | reg = <0x06000c00 0xa0>; |
@@ -184,7 +343,8 @@ | |||
184 | interrupts = <0 0 4>; | 343 | interrupts = <0 0 4>; |
185 | reg-shift = <2>; | 344 | reg-shift = <2>; |
186 | reg-io-width = <4>; | 345 | reg-io-width = <4>; |
187 | clocks = <&osc24M>; | 346 | clocks = <&apb1_gates 16>; |
347 | resets = <&apb1_resets 16>; | ||
188 | status = "disabled"; | 348 | status = "disabled"; |
189 | }; | 349 | }; |
190 | 350 | ||
@@ -194,7 +354,8 @@ | |||
194 | interrupts = <0 1 4>; | 354 | interrupts = <0 1 4>; |
195 | reg-shift = <2>; | 355 | reg-shift = <2>; |
196 | reg-io-width = <4>; | 356 | reg-io-width = <4>; |
197 | clocks = <&osc24M>; | 357 | clocks = <&apb1_gates 17>; |
358 | resets = <&apb1_resets 17>; | ||
198 | status = "disabled"; | 359 | status = "disabled"; |
199 | }; | 360 | }; |
200 | 361 | ||
@@ -204,7 +365,8 @@ | |||
204 | interrupts = <0 2 4>; | 365 | interrupts = <0 2 4>; |
205 | reg-shift = <2>; | 366 | reg-shift = <2>; |
206 | reg-io-width = <4>; | 367 | reg-io-width = <4>; |
207 | clocks = <&osc24M>; | 368 | clocks = <&apb1_gates 18>; |
369 | resets = <&apb1_resets 18>; | ||
208 | status = "disabled"; | 370 | status = "disabled"; |
209 | }; | 371 | }; |
210 | 372 | ||
@@ -214,7 +376,8 @@ | |||
214 | interrupts = <0 3 4>; | 376 | interrupts = <0 3 4>; |
215 | reg-shift = <2>; | 377 | reg-shift = <2>; |
216 | reg-io-width = <4>; | 378 | reg-io-width = <4>; |
217 | clocks = <&osc24M>; | 379 | clocks = <&apb1_gates 19>; |
380 | resets = <&apb1_resets 19>; | ||
218 | status = "disabled"; | 381 | status = "disabled"; |
219 | }; | 382 | }; |
220 | 383 | ||
@@ -224,7 +387,8 @@ | |||
224 | interrupts = <0 4 4>; | 387 | interrupts = <0 4 4>; |
225 | reg-shift = <2>; | 388 | reg-shift = <2>; |
226 | reg-io-width = <4>; | 389 | reg-io-width = <4>; |
227 | clocks = <&osc24M>; | 390 | clocks = <&apb1_gates 20>; |
391 | resets = <&apb1_resets 20>; | ||
228 | status = "disabled"; | 392 | status = "disabled"; |
229 | }; | 393 | }; |
230 | 394 | ||
@@ -234,7 +398,8 @@ | |||
234 | interrupts = <0 5 4>; | 398 | interrupts = <0 5 4>; |
235 | reg-shift = <2>; | 399 | reg-shift = <2>; |
236 | reg-io-width = <4>; | 400 | reg-io-width = <4>; |
237 | clocks = <&osc24M>; | 401 | clocks = <&apb1_gates 21>; |
402 | resets = <&apb1_resets 21>; | ||
238 | status = "disabled"; | 403 | status = "disabled"; |
239 | }; | 404 | }; |
240 | 405 | ||