Revisión | 05996f350d482d2a450173ce3340ee69c8f74ad4 (tree) |
---|---|
Tiempo | 2022-07-25 23:12:00 |
Autor | Fabio Estevam <festevam@denx...> |
Commiter | Stefano Babic |
imx8mm: Sync device tree with linux-next 20220711
Sync imx8mm.dtsi device tree with linux-next 20220711.
The main motivation for doing this sync is the sha256 regression
reported by Andrey Zhizhikin [1].
The linux-next kernel has the following commit, which disables
the job ring 0 and fixes the problem:
Signed-off-by: Fabio Estevam <festevam@denx.de>
@@ -4,11 +4,11 @@ | ||
4 | 4 | */ |
5 | 5 | |
6 | 6 | #include <dt-bindings/clock/imx8mm-clock.h> |
7 | -#include <dt-bindings/power/imx8mm-power.h> | |
8 | -#include <dt-bindings/reset/imx8mq-reset.h> | |
9 | 7 | #include <dt-bindings/gpio/gpio.h> |
10 | 8 | #include <dt-bindings/input/input.h> |
11 | 9 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
10 | +#include <dt-bindings/power/imx8mm-power.h> | |
11 | +#include <dt-bindings/reset/imx8mq-reset.h> | |
12 | 12 | #include <dt-bindings/thermal/thermal.h> |
13 | 13 | |
14 | 14 | #include "imx8mm-pinfunc.h" |
@@ -65,6 +65,12 @@ | ||
65 | 65 | clock-latency = <61036>; /* two CLK32 periods */ |
66 | 66 | clocks = <&clk IMX8MM_CLK_ARM>; |
67 | 67 | enable-method = "psci"; |
68 | + i-cache-size = <0x8000>; | |
69 | + i-cache-line-size = <64>; | |
70 | + i-cache-sets = <256>; | |
71 | + d-cache-size = <0x8000>; | |
72 | + d-cache-line-size = <64>; | |
73 | + d-cache-sets = <128>; | |
68 | 74 | next-level-cache = <&A53_L2>; |
69 | 75 | operating-points-v2 = <&a53_opp_table>; |
70 | 76 | nvmem-cells = <&cpu_speed_grade>; |
@@ -80,6 +86,12 @@ | ||
80 | 86 | clock-latency = <61036>; /* two CLK32 periods */ |
81 | 87 | clocks = <&clk IMX8MM_CLK_ARM>; |
82 | 88 | enable-method = "psci"; |
89 | + i-cache-size = <0x8000>; | |
90 | + i-cache-line-size = <64>; | |
91 | + i-cache-sets = <256>; | |
92 | + d-cache-size = <0x8000>; | |
93 | + d-cache-line-size = <64>; | |
94 | + d-cache-sets = <128>; | |
83 | 95 | next-level-cache = <&A53_L2>; |
84 | 96 | operating-points-v2 = <&a53_opp_table>; |
85 | 97 | cpu-idle-states = <&cpu_pd_wait>; |
@@ -93,6 +105,12 @@ | ||
93 | 105 | clock-latency = <61036>; /* two CLK32 periods */ |
94 | 106 | clocks = <&clk IMX8MM_CLK_ARM>; |
95 | 107 | enable-method = "psci"; |
108 | + i-cache-size = <0x8000>; | |
109 | + i-cache-line-size = <64>; | |
110 | + i-cache-sets = <256>; | |
111 | + d-cache-size = <0x8000>; | |
112 | + d-cache-line-size = <64>; | |
113 | + d-cache-sets = <128>; | |
96 | 114 | next-level-cache = <&A53_L2>; |
97 | 115 | operating-points-v2 = <&a53_opp_table>; |
98 | 116 | cpu-idle-states = <&cpu_pd_wait>; |
@@ -106,6 +124,12 @@ | ||
106 | 124 | clock-latency = <61036>; /* two CLK32 periods */ |
107 | 125 | clocks = <&clk IMX8MM_CLK_ARM>; |
108 | 126 | enable-method = "psci"; |
127 | + i-cache-size = <0x8000>; | |
128 | + i-cache-line-size = <64>; | |
129 | + i-cache-sets = <256>; | |
130 | + d-cache-size = <0x8000>; | |
131 | + d-cache-line-size = <64>; | |
132 | + d-cache-sets = <128>; | |
109 | 133 | next-level-cache = <&A53_L2>; |
110 | 134 | operating-points-v2 = <&a53_opp_table>; |
111 | 135 | cpu-idle-states = <&cpu_pd_wait>; |
@@ -114,6 +138,10 @@ | ||
114 | 138 | |
115 | 139 | A53_L2: l2-cache0 { |
116 | 140 | compatible = "cache"; |
141 | + cache-level = <2>; | |
142 | + cache-size = <0x80000>; | |
143 | + cache-line-size = <64>; | |
144 | + cache-sets = <512>; | |
117 | 145 | }; |
118 | 146 | }; |
119 | 147 |
@@ -184,7 +212,7 @@ | ||
184 | 212 | clk_ext4: clock-ext4 { |
185 | 213 | compatible = "fixed-clock"; |
186 | 214 | #clock-cells = <0>; |
187 | - clock-frequency= <133000000>; | |
215 | + clock-frequency = <133000000>; | |
188 | 216 | clock-output-names = "clk_ext4"; |
189 | 217 | }; |
190 | 218 |
@@ -194,10 +222,9 @@ | ||
194 | 222 | }; |
195 | 223 | |
196 | 224 | pmu { |
197 | - compatible = "arm,armv8-pmuv3"; | |
225 | + compatible = "arm,cortex-a53-pmu"; | |
198 | 226 | interrupts = <GIC_PPI 7 |
199 | 227 | (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
200 | - interrupt-affinity = <&A53_0>, <&A53_1>, <&A53_2>, <&A53_3>; | |
201 | 228 | }; |
202 | 229 | |
203 | 230 | timer { |
@@ -260,11 +287,14 @@ | ||
260 | 287 | clock-names = "main_clk"; |
261 | 288 | }; |
262 | 289 | |
263 | - soc@0 { | |
264 | - compatible = "simple-bus"; | |
290 | + soc: soc@0 { | |
291 | + compatible = "fsl,imx8mm-soc", "simple-bus"; | |
265 | 292 | #address-cells = <1>; |
266 | 293 | #size-cells = <1>; |
267 | 294 | ranges = <0x0 0x0 0x0 0x3e000000>; |
295 | + dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>; | |
296 | + nvmem-cells = <&imx8mm_uid>; | |
297 | + nvmem-cell-names = "soc_unique_id"; | |
268 | 298 | |
269 | 299 | aips1: bus@30000000 { |
270 | 300 | compatible = "fsl,aips-bus", "simple-bus"; |
@@ -273,117 +303,125 @@ | ||
273 | 303 | #size-cells = <1>; |
274 | 304 | ranges = <0x30000000 0x30000000 0x400000>; |
275 | 305 | |
276 | - sai1: sai@30010000 { | |
277 | - #sound-dai-cells = <0>; | |
278 | - compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
279 | - reg = <0x30010000 0x10000>; | |
280 | - interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; | |
281 | - clocks = <&clk IMX8MM_CLK_SAI1_IPG>, | |
282 | - <&clk IMX8MM_CLK_SAI1_ROOT>, | |
283 | - <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
284 | - clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
285 | - dmas = <&sdma2 0 2 0>, <&sdma2 1 2 0>; | |
286 | - dma-names = "rx", "tx"; | |
287 | - status = "disabled"; | |
288 | - }; | |
306 | + spba2: spba-bus@30000000 { | |
307 | + compatible = "fsl,spba-bus", "simple-bus"; | |
308 | + #address-cells = <1>; | |
309 | + #size-cells = <1>; | |
310 | + reg = <0x30000000 0x100000>; | |
311 | + ranges; | |
312 | + | |
313 | + sai1: sai@30010000 { | |
314 | + #sound-dai-cells = <0>; | |
315 | + compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
316 | + reg = <0x30010000 0x10000>; | |
317 | + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; | |
318 | + clocks = <&clk IMX8MM_CLK_SAI1_IPG>, | |
319 | + <&clk IMX8MM_CLK_SAI1_ROOT>, | |
320 | + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
321 | + clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
322 | + dmas = <&sdma2 0 2 0>, <&sdma2 1 2 0>; | |
323 | + dma-names = "rx", "tx"; | |
324 | + status = "disabled"; | |
325 | + }; | |
289 | 326 | |
290 | - sai2: sai@30020000 { | |
291 | - #sound-dai-cells = <0>; | |
292 | - compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
293 | - reg = <0x30020000 0x10000>; | |
294 | - interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; | |
295 | - clocks = <&clk IMX8MM_CLK_SAI2_IPG>, | |
296 | - <&clk IMX8MM_CLK_SAI2_ROOT>, | |
297 | - <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
298 | - clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
299 | - dmas = <&sdma2 2 2 0>, <&sdma2 3 2 0>; | |
300 | - dma-names = "rx", "tx"; | |
301 | - status = "disabled"; | |
302 | - }; | |
327 | + sai2: sai@30020000 { | |
328 | + #sound-dai-cells = <0>; | |
329 | + compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
330 | + reg = <0x30020000 0x10000>; | |
331 | + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; | |
332 | + clocks = <&clk IMX8MM_CLK_SAI2_IPG>, | |
333 | + <&clk IMX8MM_CLK_SAI2_ROOT>, | |
334 | + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
335 | + clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
336 | + dmas = <&sdma2 2 2 0>, <&sdma2 3 2 0>; | |
337 | + dma-names = "rx", "tx"; | |
338 | + status = "disabled"; | |
339 | + }; | |
303 | 340 | |
304 | - sai3: sai@30030000 { | |
305 | - #sound-dai-cells = <0>; | |
306 | - compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
307 | - reg = <0x30030000 0x10000>; | |
308 | - interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; | |
309 | - clocks = <&clk IMX8MM_CLK_SAI3_IPG>, | |
310 | - <&clk IMX8MM_CLK_SAI3_ROOT>, | |
311 | - <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
312 | - clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
313 | - dmas = <&sdma2 4 2 0>, <&sdma2 5 2 0>; | |
314 | - dma-names = "rx", "tx"; | |
315 | - status = "disabled"; | |
316 | - }; | |
341 | + sai3: sai@30030000 { | |
342 | + #sound-dai-cells = <0>; | |
343 | + compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
344 | + reg = <0x30030000 0x10000>; | |
345 | + interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; | |
346 | + clocks = <&clk IMX8MM_CLK_SAI3_IPG>, | |
347 | + <&clk IMX8MM_CLK_SAI3_ROOT>, | |
348 | + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
349 | + clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
350 | + dmas = <&sdma2 4 2 0>, <&sdma2 5 2 0>; | |
351 | + dma-names = "rx", "tx"; | |
352 | + status = "disabled"; | |
353 | + }; | |
317 | 354 | |
318 | - sai5: sai@30050000 { | |
319 | - #sound-dai-cells = <0>; | |
320 | - compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
321 | - reg = <0x30050000 0x10000>; | |
322 | - interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; | |
323 | - clocks = <&clk IMX8MM_CLK_SAI5_IPG>, | |
324 | - <&clk IMX8MM_CLK_SAI5_ROOT>, | |
325 | - <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
326 | - clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
327 | - dmas = <&sdma2 8 2 0>, <&sdma2 9 2 0>; | |
328 | - dma-names = "rx", "tx"; | |
329 | - status = "disabled"; | |
330 | - }; | |
355 | + sai5: sai@30050000 { | |
356 | + #sound-dai-cells = <0>; | |
357 | + compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
358 | + reg = <0x30050000 0x10000>; | |
359 | + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; | |
360 | + clocks = <&clk IMX8MM_CLK_SAI5_IPG>, | |
361 | + <&clk IMX8MM_CLK_SAI5_ROOT>, | |
362 | + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
363 | + clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
364 | + dmas = <&sdma2 8 2 0>, <&sdma2 9 2 0>; | |
365 | + dma-names = "rx", "tx"; | |
366 | + status = "disabled"; | |
367 | + }; | |
331 | 368 | |
332 | - sai6: sai@30060000 { | |
333 | - #sound-dai-cells = <0>; | |
334 | - compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
335 | - reg = <0x30060000 0x10000>; | |
336 | - interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; | |
337 | - clocks = <&clk IMX8MM_CLK_SAI6_IPG>, | |
338 | - <&clk IMX8MM_CLK_SAI6_ROOT>, | |
339 | - <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
340 | - clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
341 | - dmas = <&sdma2 10 2 0>, <&sdma2 11 2 0>; | |
342 | - dma-names = "rx", "tx"; | |
343 | - status = "disabled"; | |
344 | - }; | |
369 | + sai6: sai@30060000 { | |
370 | + #sound-dai-cells = <0>; | |
371 | + compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; | |
372 | + reg = <0x30060000 0x10000>; | |
373 | + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; | |
374 | + clocks = <&clk IMX8MM_CLK_SAI6_IPG>, | |
375 | + <&clk IMX8MM_CLK_SAI6_ROOT>, | |
376 | + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; | |
377 | + clock-names = "bus", "mclk1", "mclk2", "mclk3"; | |
378 | + dmas = <&sdma2 10 2 0>, <&sdma2 11 2 0>; | |
379 | + dma-names = "rx", "tx"; | |
380 | + status = "disabled"; | |
381 | + }; | |
345 | 382 | |
346 | - micfil: audio-controller@30080000 { | |
347 | - compatible = "fsl,imx8mm-micfil"; | |
348 | - reg = <0x30080000 0x10000>; | |
349 | - interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, | |
350 | - <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, | |
351 | - <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, | |
352 | - <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | |
353 | - clocks = <&clk IMX8MM_CLK_PDM_IPG>, | |
354 | - <&clk IMX8MM_CLK_PDM_ROOT>, | |
355 | - <&clk IMX8MM_AUDIO_PLL1_OUT>, | |
356 | - <&clk IMX8MM_AUDIO_PLL2_OUT>, | |
357 | - <&clk IMX8MM_CLK_EXT3>; | |
358 | - clock-names = "ipg_clk", "ipg_clk_app", | |
359 | - "pll8k", "pll11k", "clkext3"; | |
360 | - dmas = <&sdma2 24 25 0x80000000>; | |
361 | - dma-names = "rx"; | |
362 | - status = "disabled"; | |
363 | - }; | |
383 | + micfil: audio-controller@30080000 { | |
384 | + compatible = "fsl,imx8mm-micfil"; | |
385 | + reg = <0x30080000 0x10000>; | |
386 | + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, | |
387 | + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, | |
388 | + <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, | |
389 | + <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | |
390 | + clocks = <&clk IMX8MM_CLK_PDM_IPG>, | |
391 | + <&clk IMX8MM_CLK_PDM_ROOT>, | |
392 | + <&clk IMX8MM_AUDIO_PLL1_OUT>, | |
393 | + <&clk IMX8MM_AUDIO_PLL2_OUT>, | |
394 | + <&clk IMX8MM_CLK_EXT3>; | |
395 | + clock-names = "ipg_clk", "ipg_clk_app", | |
396 | + "pll8k", "pll11k", "clkext3"; | |
397 | + dmas = <&sdma2 24 25 0x80000000>; | |
398 | + dma-names = "rx"; | |
399 | + status = "disabled"; | |
400 | + }; | |
364 | 401 | |
365 | - spdif1: spdif@30090000 { | |
366 | - compatible = "fsl,imx35-spdif"; | |
367 | - reg = <0x30090000 0x10000>; | |
368 | - interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | |
369 | - clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, /* core */ | |
370 | - <&clk IMX8MM_CLK_24M>, /* rxtx0 */ | |
371 | - <&clk IMX8MM_CLK_SPDIF1>, /* rxtx1 */ | |
372 | - <&clk IMX8MM_CLK_DUMMY>, /* rxtx2 */ | |
373 | - <&clk IMX8MM_CLK_DUMMY>, /* rxtx3 */ | |
374 | - <&clk IMX8MM_CLK_DUMMY>, /* rxtx4 */ | |
375 | - <&clk IMX8MM_CLK_AUDIO_AHB>, /* rxtx5 */ | |
376 | - <&clk IMX8MM_CLK_DUMMY>, /* rxtx6 */ | |
377 | - <&clk IMX8MM_CLK_DUMMY>, /* rxtx7 */ | |
378 | - <&clk IMX8MM_CLK_DUMMY>; /* spba */ | |
379 | - clock-names = "core", "rxtx0", | |
380 | - "rxtx1", "rxtx2", | |
381 | - "rxtx3", "rxtx4", | |
382 | - "rxtx5", "rxtx6", | |
383 | - "rxtx7", "spba"; | |
384 | - dmas = <&sdma2 28 18 0>, <&sdma2 29 18 0>; | |
385 | - dma-names = "rx", "tx"; | |
386 | - status = "disabled"; | |
402 | + spdif1: spdif@30090000 { | |
403 | + compatible = "fsl,imx35-spdif"; | |
404 | + reg = <0x30090000 0x10000>; | |
405 | + interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | |
406 | + clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, /* core */ | |
407 | + <&clk IMX8MM_CLK_24M>, /* rxtx0 */ | |
408 | + <&clk IMX8MM_CLK_SPDIF1>, /* rxtx1 */ | |
409 | + <&clk IMX8MM_CLK_DUMMY>, /* rxtx2 */ | |
410 | + <&clk IMX8MM_CLK_DUMMY>, /* rxtx3 */ | |
411 | + <&clk IMX8MM_CLK_DUMMY>, /* rxtx4 */ | |
412 | + <&clk IMX8MM_CLK_AUDIO_AHB>, /* rxtx5 */ | |
413 | + <&clk IMX8MM_CLK_DUMMY>, /* rxtx6 */ | |
414 | + <&clk IMX8MM_CLK_DUMMY>, /* rxtx7 */ | |
415 | + <&clk IMX8MM_CLK_DUMMY>; /* spba */ | |
416 | + clock-names = "core", "rxtx0", | |
417 | + "rxtx1", "rxtx2", | |
418 | + "rxtx3", "rxtx4", | |
419 | + "rxtx5", "rxtx6", | |
420 | + "rxtx7", "spba"; | |
421 | + dmas = <&sdma2 28 18 0>, <&sdma2 29 18 0>; | |
422 | + dma-names = "rx", "tx"; | |
423 | + status = "disabled"; | |
424 | + }; | |
387 | 425 | }; |
388 | 426 | |
389 | 427 | gpio1: gpio@30200000 { |
@@ -522,9 +560,17 @@ | ||
522 | 560 | #address-cells = <1>; |
523 | 561 | #size-cells = <1>; |
524 | 562 | |
563 | + imx8mm_uid: unique-id@410 { | |
564 | + reg = <0x4 0x8>; | |
565 | + }; | |
566 | + | |
525 | 567 | cpu_speed_grade: speed-grade@10 { |
526 | 568 | reg = <0x10 4>; |
527 | 569 | }; |
570 | + | |
571 | + fec_mac_address: mac-address@90 { | |
572 | + reg = <0x90 6>; | |
573 | + }; | |
528 | 574 | }; |
529 | 575 | |
530 | 576 | anatop: anatop@30360000 { |
@@ -556,6 +602,11 @@ | ||
556 | 602 | wakeup-source; |
557 | 603 | status = "disabled"; |
558 | 604 | }; |
605 | + | |
606 | + snvs_lpgpr: snvs-lpgpr { | |
607 | + compatible = "fsl,imx8mm-snvs-lpgpr", | |
608 | + "fsl,imx7d-snvs-lpgpr"; | |
609 | + }; | |
559 | 610 | }; |
560 | 611 | |
561 | 612 | clk: clock-controller@30380000 { |
@@ -573,8 +624,7 @@ | ||
573 | 624 | <&clk IMX8MM_CLK_IPG_AUDIO_ROOT>, |
574 | 625 | <&clk IMX8MM_SYS_PLL3>, |
575 | 626 | <&clk IMX8MM_VIDEO_PLL1>, |
576 | - <&clk IMX8MM_AUDIO_PLL1>, | |
577 | - <&clk IMX8MM_AUDIO_PLL2>; | |
627 | + <&clk IMX8MM_AUDIO_PLL1>; | |
578 | 628 | assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>, |
579 | 629 | <&clk IMX8MM_ARM_PLL_OUT>, |
580 | 630 | <&clk IMX8MM_SYS_PLL3_OUT>, |
@@ -584,8 +634,7 @@ | ||
584 | 634 | <400000000>, |
585 | 635 | <750000000>, |
586 | 636 | <594000000>, |
587 | - <393216000>, | |
588 | - <361267200>; | |
637 | + <393216000>; | |
589 | 638 | }; |
590 | 639 | |
591 | 640 | src: reset-controller@30390000 { |
@@ -598,6 +647,7 @@ | ||
598 | 647 | gpc: gpc@303a0000 { |
599 | 648 | compatible = "fsl,imx8mm-gpc"; |
600 | 649 | reg = <0x303a0000 0x10000>; |
650 | + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; | |
601 | 651 | interrupt-parent = <&gic>; |
602 | 652 | interrupt-controller; |
603 | 653 | #interrupt-cells = <3>; |
@@ -610,12 +660,15 @@ | ||
610 | 660 | #power-domain-cells = <0>; |
611 | 661 | reg = <IMX8MM_POWER_DOMAIN_HSIOMIX>; |
612 | 662 | clocks = <&clk IMX8MM_CLK_USB_BUS>; |
663 | + assigned-clocks = <&clk IMX8MM_CLK_USB_BUS>; | |
664 | + assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_500M>; | |
613 | 665 | }; |
614 | 666 | |
615 | 667 | pgc_pcie: power-domain@1 { |
616 | 668 | #power-domain-cells = <0>; |
617 | 669 | reg = <IMX8MM_POWER_DOMAIN_PCIE>; |
618 | 670 | power-domains = <&pgc_hsiomix>; |
671 | + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>; | |
619 | 672 | }; |
620 | 673 | |
621 | 674 | pgc_otg1: power-domain@2 { |
@@ -634,32 +687,63 @@ | ||
634 | 687 | #power-domain-cells = <0>; |
635 | 688 | reg = <IMX8MM_POWER_DOMAIN_GPUMIX>; |
636 | 689 | clocks = <&clk IMX8MM_CLK_GPU_BUS_ROOT>, |
637 | - <&clk IMX8MM_CLK_GPU_AHB>; | |
690 | + <&clk IMX8MM_CLK_GPU_AHB>; | |
691 | + assigned-clocks = <&clk IMX8MM_CLK_GPU_AXI>, | |
692 | + <&clk IMX8MM_CLK_GPU_AHB>; | |
693 | + assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>, | |
694 | + <&clk IMX8MM_SYS_PLL1_800M>; | |
695 | + assigned-clock-rates = <800000000>, <400000000>; | |
638 | 696 | }; |
639 | 697 | |
640 | 698 | pgc_gpu: power-domain@5 { |
641 | 699 | #power-domain-cells = <0>; |
642 | 700 | reg = <IMX8MM_POWER_DOMAIN_GPU>; |
643 | 701 | clocks = <&clk IMX8MM_CLK_GPU_AHB>, |
644 | - <&clk IMX8MM_CLK_GPU_BUS_ROOT>, | |
645 | - <&clk IMX8MM_CLK_GPU2D_ROOT>, | |
646 | - <&clk IMX8MM_CLK_GPU3D_ROOT>; | |
702 | + <&clk IMX8MM_CLK_GPU_BUS_ROOT>, | |
703 | + <&clk IMX8MM_CLK_GPU2D_ROOT>, | |
704 | + <&clk IMX8MM_CLK_GPU3D_ROOT>; | |
647 | 705 | resets = <&src IMX8MQ_RESET_GPU_RESET>; |
648 | 706 | power-domains = <&pgc_gpumix>; |
649 | 707 | }; |
650 | 708 | |
651 | - dispmix_pd: power-domain@10 { | |
709 | + pgc_vpumix: power-domain@6 { | |
710 | + #power-domain-cells = <0>; | |
711 | + reg = <IMX8MM_POWER_DOMAIN_VPUMIX>; | |
712 | + clocks = <&clk IMX8MM_CLK_VPU_DEC_ROOT>; | |
713 | + assigned-clocks = <&clk IMX8MM_CLK_VPU_BUS>; | |
714 | + assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>; | |
715 | + }; | |
716 | + | |
717 | + pgc_vpu_g1: power-domain@7 { | |
718 | + #power-domain-cells = <0>; | |
719 | + reg = <IMX8MM_POWER_DOMAIN_VPUG1>; | |
720 | + }; | |
721 | + | |
722 | + pgc_vpu_g2: power-domain@8 { | |
723 | + #power-domain-cells = <0>; | |
724 | + reg = <IMX8MM_POWER_DOMAIN_VPUG2>; | |
725 | + }; | |
726 | + | |
727 | + pgc_vpu_h1: power-domain@9 { | |
728 | + #power-domain-cells = <0>; | |
729 | + reg = <IMX8MM_POWER_DOMAIN_VPUH1>; | |
730 | + }; | |
731 | + | |
732 | + pgc_dispmix: power-domain@10 { | |
652 | 733 | #power-domain-cells = <0>; |
653 | 734 | reg = <IMX8MM_POWER_DOMAIN_DISPMIX>; |
654 | - clocks = <&clk IMX8MM_CLK_DISP_ROOT>, | |
655 | - <&clk IMX8MM_CLK_DISP_AXI_ROOT>, | |
656 | - <&clk IMX8MM_CLK_DISP_APB_ROOT>; | |
735 | + clocks = <&clk IMX8MM_CLK_DISP_APB_ROOT>, | |
736 | + <&clk IMX8MM_CLK_DISP_AXI_ROOT>; | |
737 | + assigned-clocks = <&clk IMX8MM_CLK_DISP_AXI>, | |
738 | + <&clk IMX8MM_CLK_DISP_APB>; | |
739 | + assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_1000M>, | |
740 | + <&clk IMX8MM_SYS_PLL1_800M>; | |
741 | + assigned-clock-rates = <500000000>, <200000000>; | |
657 | 742 | }; |
658 | 743 | |
659 | - mipi_pd: power-domain@11 { | |
744 | + pgc_mipi: power-domain@11 { | |
660 | 745 | #power-domain-cells = <0>; |
661 | 746 | reg = <IMX8MM_POWER_DOMAIN_MIPI>; |
662 | - power-domains = <&dispmix_pd>; | |
663 | 747 | }; |
664 | 748 | }; |
665 | 749 | }; |
@@ -679,7 +763,7 @@ | ||
679 | 763 | clocks = <&clk IMX8MM_CLK_PWM1_ROOT>, |
680 | 764 | <&clk IMX8MM_CLK_PWM1_ROOT>; |
681 | 765 | clock-names = "ipg", "per"; |
682 | - #pwm-cells = <2>; | |
766 | + #pwm-cells = <3>; | |
683 | 767 | status = "disabled"; |
684 | 768 | }; |
685 | 769 |
@@ -690,7 +774,7 @@ | ||
690 | 774 | clocks = <&clk IMX8MM_CLK_PWM2_ROOT>, |
691 | 775 | <&clk IMX8MM_CLK_PWM2_ROOT>; |
692 | 776 | clock-names = "ipg", "per"; |
693 | - #pwm-cells = <2>; | |
777 | + #pwm-cells = <3>; | |
694 | 778 | status = "disabled"; |
695 | 779 | }; |
696 | 780 |
@@ -701,7 +785,7 @@ | ||
701 | 785 | clocks = <&clk IMX8MM_CLK_PWM3_ROOT>, |
702 | 786 | <&clk IMX8MM_CLK_PWM3_ROOT>; |
703 | 787 | clock-names = "ipg", "per"; |
704 | - #pwm-cells = <2>; | |
788 | + #pwm-cells = <3>; | |
705 | 789 | status = "disabled"; |
706 | 790 | }; |
707 | 791 |
@@ -712,7 +796,7 @@ | ||
712 | 796 | clocks = <&clk IMX8MM_CLK_PWM4_ROOT>, |
713 | 797 | <&clk IMX8MM_CLK_PWM4_ROOT>; |
714 | 798 | clock-names = "ipg", "per"; |
715 | - #pwm-cells = <2>; | |
799 | + #pwm-cells = <3>; | |
716 | 800 | status = "disabled"; |
717 | 801 | }; |
718 | 802 |
@@ -733,80 +817,88 @@ | ||
733 | 817 | ranges = <0x30800000 0x30800000 0x400000>, |
734 | 818 | <0x8000000 0x8000000 0x10000000>; |
735 | 819 | |
736 | - ecspi1: spi@30820000 { | |
737 | - compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; | |
820 | + spba1: spba-bus@30800000 { | |
821 | + compatible = "fsl,spba-bus", "simple-bus"; | |
738 | 822 | #address-cells = <1>; |
739 | - #size-cells = <0>; | |
740 | - reg = <0x30820000 0x10000>; | |
741 | - interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; | |
742 | - clocks = <&clk IMX8MM_CLK_ECSPI1_ROOT>, | |
743 | - <&clk IMX8MM_CLK_ECSPI1_ROOT>; | |
744 | - clock-names = "ipg", "per"; | |
745 | - dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; | |
746 | - dma-names = "rx", "tx"; | |
747 | - status = "disabled"; | |
748 | - }; | |
823 | + #size-cells = <1>; | |
824 | + reg = <0x30800000 0x100000>; | |
825 | + ranges; | |
749 | 826 | |
750 | - ecspi2: spi@30830000 { | |
751 | - compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; | |
752 | - #address-cells = <1>; | |
753 | - #size-cells = <0>; | |
754 | - reg = <0x30830000 0x10000>; | |
755 | - interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | |
756 | - clocks = <&clk IMX8MM_CLK_ECSPI2_ROOT>, | |
757 | - <&clk IMX8MM_CLK_ECSPI2_ROOT>; | |
758 | - clock-names = "ipg", "per"; | |
759 | - dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; | |
760 | - dma-names = "rx", "tx"; | |
761 | - status = "disabled"; | |
762 | - }; | |
827 | + ecspi1: spi@30820000 { | |
828 | + compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; | |
829 | + #address-cells = <1>; | |
830 | + #size-cells = <0>; | |
831 | + reg = <0x30820000 0x10000>; | |
832 | + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; | |
833 | + clocks = <&clk IMX8MM_CLK_ECSPI1_ROOT>, | |
834 | + <&clk IMX8MM_CLK_ECSPI1_ROOT>; | |
835 | + clock-names = "ipg", "per"; | |
836 | + dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; | |
837 | + dma-names = "rx", "tx"; | |
838 | + status = "disabled"; | |
839 | + }; | |
763 | 840 | |
764 | - ecspi3: spi@30840000 { | |
765 | - compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; | |
766 | - #address-cells = <1>; | |
767 | - #size-cells = <0>; | |
768 | - reg = <0x30840000 0x10000>; | |
769 | - interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; | |
770 | - clocks = <&clk IMX8MM_CLK_ECSPI3_ROOT>, | |
771 | - <&clk IMX8MM_CLK_ECSPI3_ROOT>; | |
772 | - clock-names = "ipg", "per"; | |
773 | - dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; | |
774 | - dma-names = "rx", "tx"; | |
775 | - status = "disabled"; | |
776 | - }; | |
841 | + ecspi2: spi@30830000 { | |
842 | + compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; | |
843 | + #address-cells = <1>; | |
844 | + #size-cells = <0>; | |
845 | + reg = <0x30830000 0x10000>; | |
846 | + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | |
847 | + clocks = <&clk IMX8MM_CLK_ECSPI2_ROOT>, | |
848 | + <&clk IMX8MM_CLK_ECSPI2_ROOT>; | |
849 | + clock-names = "ipg", "per"; | |
850 | + dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; | |
851 | + dma-names = "rx", "tx"; | |
852 | + status = "disabled"; | |
853 | + }; | |
777 | 854 | |
778 | - uart1: serial@30860000 { | |
779 | - compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; | |
780 | - reg = <0x30860000 0x10000>; | |
781 | - interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; | |
782 | - clocks = <&clk IMX8MM_CLK_UART1_ROOT>, | |
783 | - <&clk IMX8MM_CLK_UART1_ROOT>; | |
784 | - clock-names = "ipg", "per"; | |
785 | - dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; | |
786 | - dma-names = "rx", "tx"; | |
787 | - status = "disabled"; | |
788 | - }; | |
855 | + ecspi3: spi@30840000 { | |
856 | + compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; | |
857 | + #address-cells = <1>; | |
858 | + #size-cells = <0>; | |
859 | + reg = <0x30840000 0x10000>; | |
860 | + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; | |
861 | + clocks = <&clk IMX8MM_CLK_ECSPI3_ROOT>, | |
862 | + <&clk IMX8MM_CLK_ECSPI3_ROOT>; | |
863 | + clock-names = "ipg", "per"; | |
864 | + dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; | |
865 | + dma-names = "rx", "tx"; | |
866 | + status = "disabled"; | |
867 | + }; | |
789 | 868 | |
790 | - uart3: serial@30880000 { | |
791 | - compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; | |
792 | - reg = <0x30880000 0x10000>; | |
793 | - interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | |
794 | - clocks = <&clk IMX8MM_CLK_UART3_ROOT>, | |
795 | - <&clk IMX8MM_CLK_UART3_ROOT>; | |
796 | - clock-names = "ipg", "per"; | |
797 | - dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; | |
798 | - dma-names = "rx", "tx"; | |
799 | - status = "disabled"; | |
800 | - }; | |
869 | + uart1: serial@30860000 { | |
870 | + compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; | |
871 | + reg = <0x30860000 0x10000>; | |
872 | + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; | |
873 | + clocks = <&clk IMX8MM_CLK_UART1_ROOT>, | |
874 | + <&clk IMX8MM_CLK_UART1_ROOT>; | |
875 | + clock-names = "ipg", "per"; | |
876 | + dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; | |
877 | + dma-names = "rx", "tx"; | |
878 | + status = "disabled"; | |
879 | + }; | |
801 | 880 | |
802 | - uart2: serial@30890000 { | |
803 | - compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; | |
804 | - reg = <0x30890000 0x10000>; | |
805 | - interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; | |
806 | - clocks = <&clk IMX8MM_CLK_UART2_ROOT>, | |
807 | - <&clk IMX8MM_CLK_UART2_ROOT>; | |
808 | - clock-names = "ipg", "per"; | |
809 | - status = "disabled"; | |
881 | + uart3: serial@30880000 { | |
882 | + compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; | |
883 | + reg = <0x30880000 0x10000>; | |
884 | + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | |
885 | + clocks = <&clk IMX8MM_CLK_UART3_ROOT>, | |
886 | + <&clk IMX8MM_CLK_UART3_ROOT>; | |
887 | + clock-names = "ipg", "per"; | |
888 | + dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; | |
889 | + dma-names = "rx", "tx"; | |
890 | + status = "disabled"; | |
891 | + }; | |
892 | + | |
893 | + uart2: serial@30890000 { | |
894 | + compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; | |
895 | + reg = <0x30890000 0x10000>; | |
896 | + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; | |
897 | + clocks = <&clk IMX8MM_CLK_UART2_ROOT>, | |
898 | + <&clk IMX8MM_CLK_UART2_ROOT>; | |
899 | + clock-names = "ipg", "per"; | |
900 | + status = "disabled"; | |
901 | + }; | |
810 | 902 | }; |
811 | 903 | |
812 | 904 | crypto: crypto@30900000 { |
@@ -824,6 +916,7 @@ | ||
824 | 916 | compatible = "fsl,sec-v4.0-job-ring"; |
825 | 917 | reg = <0x1000 0x1000>; |
826 | 918 | interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; |
919 | + status = "disabled"; | |
827 | 920 | }; |
828 | 921 | |
829 | 922 | sec_jr1: jr@2000 { |
@@ -908,7 +1001,7 @@ | ||
908 | 1001 | <&clk IMX8MM_CLK_USDHC1_ROOT>; |
909 | 1002 | clock-names = "ipg", "ahb", "per"; |
910 | 1003 | fsl,tuning-start-tap = <20>; |
911 | - fsl,tuning-step= <2>; | |
1004 | + fsl,tuning-step = <2>; | |
912 | 1005 | bus-width = <4>; |
913 | 1006 | status = "disabled"; |
914 | 1007 | }; |
@@ -922,7 +1015,7 @@ | ||
922 | 1015 | <&clk IMX8MM_CLK_USDHC2_ROOT>; |
923 | 1016 | clock-names = "ipg", "ahb", "per"; |
924 | 1017 | fsl,tuning-start-tap = <20>; |
925 | - fsl,tuning-step= <2>; | |
1018 | + fsl,tuning-step = <2>; | |
926 | 1019 | bus-width = <4>; |
927 | 1020 | status = "disabled"; |
928 | 1021 | }; |
@@ -936,7 +1029,7 @@ | ||
936 | 1029 | <&clk IMX8MM_CLK_USDHC3_ROOT>; |
937 | 1030 | clock-names = "ipg", "ahb", "per"; |
938 | 1031 | fsl,tuning-start-tap = <20>; |
939 | - fsl,tuning-step= <2>; | |
1032 | + fsl,tuning-step = <2>; | |
940 | 1033 | bus-width = <4>; |
941 | 1034 | status = "disabled"; |
942 | 1035 | }; |
@@ -950,7 +1043,7 @@ | ||
950 | 1043 | interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; |
951 | 1044 | clocks = <&clk IMX8MM_CLK_QSPI_ROOT>, |
952 | 1045 | <&clk IMX8MM_CLK_QSPI_ROOT>; |
953 | - clock-names = "fspi", "fspi_en"; | |
1046 | + clock-names = "fspi_en", "fspi"; | |
954 | 1047 | status = "disabled"; |
955 | 1048 | }; |
956 | 1049 |
@@ -966,7 +1059,7 @@ | ||
966 | 1059 | }; |
967 | 1060 | |
968 | 1061 | fec1: ethernet@30be0000 { |
969 | - compatible = "fsl,imx8mm-fec", "fsl,imx6sx-fec"; | |
1062 | + compatible = "fsl,imx8mm-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec"; | |
970 | 1063 | reg = <0x30be0000 0x10000>; |
971 | 1064 | interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, |
972 | 1065 | <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, |
@@ -982,13 +1075,17 @@ | ||
982 | 1075 | assigned-clocks = <&clk IMX8MM_CLK_ENET_AXI>, |
983 | 1076 | <&clk IMX8MM_CLK_ENET_TIMER>, |
984 | 1077 | <&clk IMX8MM_CLK_ENET_REF>, |
985 | - <&clk IMX8MM_CLK_ENET_TIMER>; | |
1078 | + <&clk IMX8MM_CLK_ENET_PHY_REF>; | |
986 | 1079 | assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_266M>, |
987 | 1080 | <&clk IMX8MM_SYS_PLL2_100M>, |
988 | - <&clk IMX8MM_SYS_PLL2_125M>; | |
989 | - assigned-clock-rates = <0>, <0>, <125000000>, <100000000>; | |
1081 | + <&clk IMX8MM_SYS_PLL2_125M>, | |
1082 | + <&clk IMX8MM_SYS_PLL2_50M>; | |
1083 | + assigned-clock-rates = <0>, <100000000>, <125000000>, <0>; | |
990 | 1084 | fsl,num-tx-queues = <3>; |
991 | 1085 | fsl,num-rx-queues = <3>; |
1086 | + nvmem-cells = <&fec_mac_address>; | |
1087 | + nvmem-cell-names = "mac-address"; | |
1088 | + fsl,stop-mode = <&gpr 0x10 3>; | |
992 | 1089 | status = "disabled"; |
993 | 1090 | }; |
994 | 1091 |
@@ -1001,6 +1098,84 @@ | ||
1001 | 1098 | #size-cells = <1>; |
1002 | 1099 | ranges = <0x32c00000 0x32c00000 0x400000>; |
1003 | 1100 | |
1101 | + csi: csi@32e20000 { | |
1102 | + compatible = "fsl,imx8mm-csi", "fsl,imx7-csi"; | |
1103 | + reg = <0x32e20000 0x1000>; | |
1104 | + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | |
1105 | + clocks = <&clk IMX8MM_CLK_CSI1_ROOT>; | |
1106 | + clock-names = "mclk"; | |
1107 | + power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_CSI_BRIDGE>; | |
1108 | + status = "disabled"; | |
1109 | + | |
1110 | + port { | |
1111 | + csi_in: endpoint { | |
1112 | + remote-endpoint = <&imx8mm_mipi_csi_out>; | |
1113 | + }; | |
1114 | + }; | |
1115 | + }; | |
1116 | + | |
1117 | + disp_blk_ctrl: blk-ctrl@32e28000 { | |
1118 | + compatible = "fsl,imx8mm-disp-blk-ctrl", "syscon"; | |
1119 | + reg = <0x32e28000 0x100>; | |
1120 | + power-domains = <&pgc_dispmix>, <&pgc_dispmix>, | |
1121 | + <&pgc_dispmix>, <&pgc_mipi>, | |
1122 | + <&pgc_mipi>; | |
1123 | + power-domain-names = "bus", "csi-bridge", | |
1124 | + "lcdif", "mipi-dsi", | |
1125 | + "mipi-csi"; | |
1126 | + clocks = <&clk IMX8MM_CLK_DISP_AXI_ROOT>, | |
1127 | + <&clk IMX8MM_CLK_DISP_APB_ROOT>, | |
1128 | + <&clk IMX8MM_CLK_CSI1_ROOT>, | |
1129 | + <&clk IMX8MM_CLK_DISP_AXI_ROOT>, | |
1130 | + <&clk IMX8MM_CLK_DISP_APB_ROOT>, | |
1131 | + <&clk IMX8MM_CLK_DISP_ROOT>, | |
1132 | + <&clk IMX8MM_CLK_DSI_CORE>, | |
1133 | + <&clk IMX8MM_CLK_DSI_PHY_REF>, | |
1134 | + <&clk IMX8MM_CLK_CSI1_CORE>, | |
1135 | + <&clk IMX8MM_CLK_CSI1_PHY_REF>; | |
1136 | + clock-names = "csi-bridge-axi","csi-bridge-apb", | |
1137 | + "csi-bridge-core", "lcdif-axi", | |
1138 | + "lcdif-apb", "lcdif-pix", | |
1139 | + "dsi-pclk", "dsi-ref", | |
1140 | + "csi-aclk", "csi-pclk"; | |
1141 | + #power-domain-cells = <1>; | |
1142 | + }; | |
1143 | + | |
1144 | + mipi_csi: mipi-csi@32e30000 { | |
1145 | + compatible = "fsl,imx8mm-mipi-csi2"; | |
1146 | + reg = <0x32e30000 0x1000>; | |
1147 | + interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; | |
1148 | + assigned-clocks = <&clk IMX8MM_CLK_CSI1_CORE>, | |
1149 | + <&clk IMX8MM_CLK_CSI1_PHY_REF>; | |
1150 | + assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_1000M>, | |
1151 | + <&clk IMX8MM_SYS_PLL2_1000M>; | |
1152 | + clock-frequency = <333000000>; | |
1153 | + clocks = <&clk IMX8MM_CLK_DISP_APB_ROOT>, | |
1154 | + <&clk IMX8MM_CLK_CSI1_ROOT>, | |
1155 | + <&clk IMX8MM_CLK_CSI1_PHY_REF>, | |
1156 | + <&clk IMX8MM_CLK_DISP_AXI_ROOT>; | |
1157 | + clock-names = "pclk", "wrap", "phy", "axi"; | |
1158 | + power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_MIPI_CSI>; | |
1159 | + status = "disabled"; | |
1160 | + | |
1161 | + ports { | |
1162 | + #address-cells = <1>; | |
1163 | + #size-cells = <0>; | |
1164 | + | |
1165 | + port@0 { | |
1166 | + reg = <0>; | |
1167 | + }; | |
1168 | + | |
1169 | + port@1 { | |
1170 | + reg = <1>; | |
1171 | + | |
1172 | + imx8mm_mipi_csi_out: endpoint { | |
1173 | + remote-endpoint = <&csi_in>; | |
1174 | + }; | |
1175 | + }; | |
1176 | + }; | |
1177 | + }; | |
1178 | + | |
1004 | 1179 | usbotg1: usb@32e40000 { |
1005 | 1180 | compatible = "fsl,imx8mm-usb", "fsl,imx7d-usb"; |
1006 | 1181 | reg = <0x32e40000 0x200>; |
@@ -1116,6 +1291,72 @@ | ||
1116 | 1291 | status = "disabled"; |
1117 | 1292 | }; |
1118 | 1293 | |
1294 | + gpu_3d: gpu@38000000 { | |
1295 | + compatible = "vivante,gc"; | |
1296 | + reg = <0x38000000 0x8000>; | |
1297 | + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; | |
1298 | + clocks = <&clk IMX8MM_CLK_GPU_AHB>, | |
1299 | + <&clk IMX8MM_CLK_GPU_BUS_ROOT>, | |
1300 | + <&clk IMX8MM_CLK_GPU3D_ROOT>, | |
1301 | + <&clk IMX8MM_CLK_GPU3D_ROOT>; | |
1302 | + clock-names = "reg", "bus", "core", "shader"; | |
1303 | + assigned-clocks = <&clk IMX8MM_CLK_GPU3D_CORE>, | |
1304 | + <&clk IMX8MM_GPU_PLL_OUT>; | |
1305 | + assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>; | |
1306 | + assigned-clock-rates = <0>, <1000000000>; | |
1307 | + power-domains = <&pgc_gpu>; | |
1308 | + }; | |
1309 | + | |
1310 | + gpu_2d: gpu@38008000 { | |
1311 | + compatible = "vivante,gc"; | |
1312 | + reg = <0x38008000 0x8000>; | |
1313 | + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | |
1314 | + clocks = <&clk IMX8MM_CLK_GPU_AHB>, | |
1315 | + <&clk IMX8MM_CLK_GPU_BUS_ROOT>, | |
1316 | + <&clk IMX8MM_CLK_GPU2D_ROOT>; | |
1317 | + clock-names = "reg", "bus", "core"; | |
1318 | + assigned-clocks = <&clk IMX8MM_CLK_GPU2D_CORE>, | |
1319 | + <&clk IMX8MM_GPU_PLL_OUT>; | |
1320 | + assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>; | |
1321 | + assigned-clock-rates = <0>, <1000000000>; | |
1322 | + power-domains = <&pgc_gpu>; | |
1323 | + }; | |
1324 | + | |
1325 | + vpu_g1: video-codec@38300000 { | |
1326 | + compatible = "nxp,imx8mm-vpu-g1"; | |
1327 | + reg = <0x38300000 0x10000>; | |
1328 | + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | |
1329 | + clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>; | |
1330 | + power-domains = <&vpu_blk_ctrl IMX8MM_VPUBLK_PD_G1>; | |
1331 | + }; | |
1332 | + | |
1333 | + vpu_g2: video-codec@38310000 { | |
1334 | + compatible = "nxp,imx8mq-vpu-g2"; | |
1335 | + reg = <0x38310000 0x10000>; | |
1336 | + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | |
1337 | + clocks = <&clk IMX8MM_CLK_VPU_G2_ROOT>; | |
1338 | + power-domains = <&vpu_blk_ctrl IMX8MM_VPUBLK_PD_G2>; | |
1339 | + }; | |
1340 | + | |
1341 | + vpu_blk_ctrl: blk-ctrl@38330000 { | |
1342 | + compatible = "fsl,imx8mm-vpu-blk-ctrl", "syscon"; | |
1343 | + reg = <0x38330000 0x100>; | |
1344 | + power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>, | |
1345 | + <&pgc_vpu_g2>, <&pgc_vpu_h1>; | |
1346 | + power-domain-names = "bus", "g1", "g2", "h1"; | |
1347 | + clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>, | |
1348 | + <&clk IMX8MM_CLK_VPU_G2_ROOT>, | |
1349 | + <&clk IMX8MM_CLK_VPU_H1_ROOT>; | |
1350 | + clock-names = "g1", "g2", "h1"; | |
1351 | + assigned-clocks = <&clk IMX8MM_CLK_VPU_G1>, | |
1352 | + <&clk IMX8MM_CLK_VPU_G2>; | |
1353 | + assigned-clock-parents = <&clk IMX8MM_VPU_PLL_OUT>, | |
1354 | + <&clk IMX8MM_VPU_PLL_OUT>; | |
1355 | + assigned-clock-rates = <600000000>, | |
1356 | + <600000000>; | |
1357 | + #power-domain-cells = <1>; | |
1358 | + }; | |
1359 | + | |
1119 | 1360 | gic: interrupt-controller@38800000 { |
1120 | 1361 | compatible = "arm,gic-v3"; |
1121 | 1362 | reg = <0x38800000 0x10000>, /* GIC Dist */ |
@@ -19,4 +19,13 @@ | ||
19 | 19 | #define IMX8MM_POWER_DOMAIN_DISPMIX 10 |
20 | 20 | #define IMX8MM_POWER_DOMAIN_MIPI 11 |
21 | 21 | |
22 | +#define IMX8MM_VPUBLK_PD_G1 0 | |
23 | +#define IMX8MM_VPUBLK_PD_G2 1 | |
24 | +#define IMX8MM_VPUBLK_PD_H1 2 | |
25 | + | |
26 | +#define IMX8MM_DISPBLK_PD_CSI_BRIDGE 0 | |
27 | +#define IMX8MM_DISPBLK_PD_LCDIF 1 | |
28 | +#define IMX8MM_DISPBLK_PD_MIPI_DSI 2 | |
29 | +#define IMX8MM_DISPBLK_PD_MIPI_CSI 3 | |
30 | + | |
22 | 31 | #endif |