xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mp.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Copyright 2019 NXP
4c66ec88fSEmmanuel Vadot */
5c66ec88fSEmmanuel Vadot
6c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/imx8mp-clock.h>
7d5b0e70fSEmmanuel Vadot#include <dt-bindings/power/imx8mp-power.h>
87ef62cebSEmmanuel Vadot#include <dt-bindings/reset/imx8mp-reset.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h>
117ef62cebSEmmanuel Vadot#include <dt-bindings/interconnect/fsl,imx8mp.h>
12c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
13c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadot#include "imx8mp-pinfunc.h"
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadot/ {
18c66ec88fSEmmanuel Vadot	interrupt-parent = <&gic>;
19c66ec88fSEmmanuel Vadot	#address-cells = <2>;
20c66ec88fSEmmanuel Vadot	#size-cells = <2>;
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot	aliases {
23c66ec88fSEmmanuel Vadot		ethernet0 = &fec;
242eb4d8dcSEmmanuel Vadot		ethernet1 = &eqos;
25c66ec88fSEmmanuel Vadot		gpio0 = &gpio1;
26c66ec88fSEmmanuel Vadot		gpio1 = &gpio2;
27c66ec88fSEmmanuel Vadot		gpio2 = &gpio3;
28c66ec88fSEmmanuel Vadot		gpio3 = &gpio4;
29c66ec88fSEmmanuel Vadot		gpio4 = &gpio5;
30c66ec88fSEmmanuel Vadot		i2c0 = &i2c1;
31c66ec88fSEmmanuel Vadot		i2c1 = &i2c2;
32c66ec88fSEmmanuel Vadot		i2c2 = &i2c3;
33c66ec88fSEmmanuel Vadot		i2c3 = &i2c4;
34c66ec88fSEmmanuel Vadot		i2c4 = &i2c5;
35c66ec88fSEmmanuel Vadot		i2c5 = &i2c6;
36c66ec88fSEmmanuel Vadot		mmc0 = &usdhc1;
37c66ec88fSEmmanuel Vadot		mmc1 = &usdhc2;
38c66ec88fSEmmanuel Vadot		mmc2 = &usdhc3;
39c66ec88fSEmmanuel Vadot		serial0 = &uart1;
40c66ec88fSEmmanuel Vadot		serial1 = &uart2;
41c66ec88fSEmmanuel Vadot		serial2 = &uart3;
42c66ec88fSEmmanuel Vadot		serial3 = &uart4;
435956d97fSEmmanuel Vadot		spi0 = &flexspi;
44c66ec88fSEmmanuel Vadot	};
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot	cpus {
47c66ec88fSEmmanuel Vadot		#address-cells = <1>;
48c66ec88fSEmmanuel Vadot		#size-cells = <0>;
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot		A53_0: cpu@0 {
51c66ec88fSEmmanuel Vadot			device_type = "cpu";
52c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
53c66ec88fSEmmanuel Vadot			reg = <0x0>;
54c66ec88fSEmmanuel Vadot			clock-latency = <61036>;
55c66ec88fSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_ARM>;
56c66ec88fSEmmanuel Vadot			enable-method = "psci";
57e67e8565SEmmanuel Vadot			i-cache-size = <0x8000>;
58e67e8565SEmmanuel Vadot			i-cache-line-size = <64>;
59e67e8565SEmmanuel Vadot			i-cache-sets = <256>;
60e67e8565SEmmanuel Vadot			d-cache-size = <0x8000>;
61e67e8565SEmmanuel Vadot			d-cache-line-size = <64>;
62e67e8565SEmmanuel Vadot			d-cache-sets = <128>;
63c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
64d5b0e70fSEmmanuel Vadot			nvmem-cells = <&cpu_speed_grade>;
65d5b0e70fSEmmanuel Vadot			nvmem-cell-names = "speed_grade";
66d5b0e70fSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
67c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
68c66ec88fSEmmanuel Vadot		};
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot		A53_1: cpu@1 {
71c66ec88fSEmmanuel Vadot			device_type = "cpu";
72c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
73c66ec88fSEmmanuel Vadot			reg = <0x1>;
74c66ec88fSEmmanuel Vadot			clock-latency = <61036>;
75c66ec88fSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_ARM>;
76c66ec88fSEmmanuel Vadot			enable-method = "psci";
77e67e8565SEmmanuel Vadot			i-cache-size = <0x8000>;
78e67e8565SEmmanuel Vadot			i-cache-line-size = <64>;
79e67e8565SEmmanuel Vadot			i-cache-sets = <256>;
80e67e8565SEmmanuel Vadot			d-cache-size = <0x8000>;
81e67e8565SEmmanuel Vadot			d-cache-line-size = <64>;
82e67e8565SEmmanuel Vadot			d-cache-sets = <128>;
83c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
84d5b0e70fSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
85c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
86c66ec88fSEmmanuel Vadot		};
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot		A53_2: cpu@2 {
89c66ec88fSEmmanuel Vadot			device_type = "cpu";
90c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
91c66ec88fSEmmanuel Vadot			reg = <0x2>;
92c66ec88fSEmmanuel Vadot			clock-latency = <61036>;
93c66ec88fSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_ARM>;
94c66ec88fSEmmanuel Vadot			enable-method = "psci";
95e67e8565SEmmanuel Vadot			i-cache-size = <0x8000>;
96e67e8565SEmmanuel Vadot			i-cache-line-size = <64>;
97e67e8565SEmmanuel Vadot			i-cache-sets = <256>;
98e67e8565SEmmanuel Vadot			d-cache-size = <0x8000>;
99e67e8565SEmmanuel Vadot			d-cache-line-size = <64>;
100e67e8565SEmmanuel Vadot			d-cache-sets = <128>;
101c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
102d5b0e70fSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
103c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
104c66ec88fSEmmanuel Vadot		};
105c66ec88fSEmmanuel Vadot
106c66ec88fSEmmanuel Vadot		A53_3: cpu@3 {
107c66ec88fSEmmanuel Vadot			device_type = "cpu";
108c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
109c66ec88fSEmmanuel Vadot			reg = <0x3>;
110c66ec88fSEmmanuel Vadot			clock-latency = <61036>;
111c66ec88fSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_ARM>;
112c66ec88fSEmmanuel Vadot			enable-method = "psci";
113e67e8565SEmmanuel Vadot			i-cache-size = <0x8000>;
114e67e8565SEmmanuel Vadot			i-cache-line-size = <64>;
115e67e8565SEmmanuel Vadot			i-cache-sets = <256>;
116e67e8565SEmmanuel Vadot			d-cache-size = <0x8000>;
117e67e8565SEmmanuel Vadot			d-cache-line-size = <64>;
118e67e8565SEmmanuel Vadot			d-cache-sets = <128>;
119c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
120d5b0e70fSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
121c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
122c66ec88fSEmmanuel Vadot		};
123c66ec88fSEmmanuel Vadot
124c66ec88fSEmmanuel Vadot		A53_L2: l2-cache0 {
125c66ec88fSEmmanuel Vadot			compatible = "cache";
1268bab661aSEmmanuel Vadot			cache-unified;
127e67e8565SEmmanuel Vadot			cache-level = <2>;
128e67e8565SEmmanuel Vadot			cache-size = <0x80000>;
129e67e8565SEmmanuel Vadot			cache-line-size = <64>;
130e67e8565SEmmanuel Vadot			cache-sets = <512>;
131c66ec88fSEmmanuel Vadot		};
132c66ec88fSEmmanuel Vadot	};
133c66ec88fSEmmanuel Vadot
134d5b0e70fSEmmanuel Vadot	a53_opp_table: opp-table {
135d5b0e70fSEmmanuel Vadot		compatible = "operating-points-v2";
136d5b0e70fSEmmanuel Vadot		opp-shared;
137d5b0e70fSEmmanuel Vadot
138d5b0e70fSEmmanuel Vadot		opp-1200000000 {
139d5b0e70fSEmmanuel Vadot			opp-hz = /bits/ 64 <1200000000>;
140d5b0e70fSEmmanuel Vadot			opp-microvolt = <850000>;
141d5b0e70fSEmmanuel Vadot			opp-supported-hw = <0x8a0>, <0x7>;
142d5b0e70fSEmmanuel Vadot			clock-latency-ns = <150000>;
143d5b0e70fSEmmanuel Vadot			opp-suspend;
144d5b0e70fSEmmanuel Vadot		};
145d5b0e70fSEmmanuel Vadot
146d5b0e70fSEmmanuel Vadot		opp-1600000000 {
147d5b0e70fSEmmanuel Vadot			opp-hz = /bits/ 64 <1600000000>;
148d5b0e70fSEmmanuel Vadot			opp-microvolt = <950000>;
149d5b0e70fSEmmanuel Vadot			opp-supported-hw = <0xa0>, <0x7>;
150d5b0e70fSEmmanuel Vadot			clock-latency-ns = <150000>;
151d5b0e70fSEmmanuel Vadot			opp-suspend;
152d5b0e70fSEmmanuel Vadot		};
153d5b0e70fSEmmanuel Vadot
154d5b0e70fSEmmanuel Vadot		opp-1800000000 {
155d5b0e70fSEmmanuel Vadot			opp-hz = /bits/ 64 <1800000000>;
156d5b0e70fSEmmanuel Vadot			opp-microvolt = <1000000>;
157d5b0e70fSEmmanuel Vadot			opp-supported-hw = <0x20>, <0x3>;
158d5b0e70fSEmmanuel Vadot			clock-latency-ns = <150000>;
159d5b0e70fSEmmanuel Vadot			opp-suspend;
160d5b0e70fSEmmanuel Vadot		};
161d5b0e70fSEmmanuel Vadot	};
162d5b0e70fSEmmanuel Vadot
163c66ec88fSEmmanuel Vadot	osc_32k: clock-osc-32k {
164c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
165c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
166c66ec88fSEmmanuel Vadot		clock-frequency = <32768>;
167c66ec88fSEmmanuel Vadot		clock-output-names = "osc_32k";
168c66ec88fSEmmanuel Vadot	};
169c66ec88fSEmmanuel Vadot
170c66ec88fSEmmanuel Vadot	osc_24m: clock-osc-24m {
171c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
172c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
173c66ec88fSEmmanuel Vadot		clock-frequency = <24000000>;
174c66ec88fSEmmanuel Vadot		clock-output-names = "osc_24m";
175c66ec88fSEmmanuel Vadot	};
176c66ec88fSEmmanuel Vadot
177c66ec88fSEmmanuel Vadot	clk_ext1: clock-ext1 {
178c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
179c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
180c66ec88fSEmmanuel Vadot		clock-frequency = <133000000>;
181c66ec88fSEmmanuel Vadot		clock-output-names = "clk_ext1";
182c66ec88fSEmmanuel Vadot	};
183c66ec88fSEmmanuel Vadot
184c66ec88fSEmmanuel Vadot	clk_ext2: clock-ext2 {
185c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
186c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
187c66ec88fSEmmanuel Vadot		clock-frequency = <133000000>;
188c66ec88fSEmmanuel Vadot		clock-output-names = "clk_ext2";
189c66ec88fSEmmanuel Vadot	};
190c66ec88fSEmmanuel Vadot
191c66ec88fSEmmanuel Vadot	clk_ext3: clock-ext3 {
192c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
193c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
194c66ec88fSEmmanuel Vadot		clock-frequency = <133000000>;
195c66ec88fSEmmanuel Vadot		clock-output-names = "clk_ext3";
196c66ec88fSEmmanuel Vadot	};
197c66ec88fSEmmanuel Vadot
198c66ec88fSEmmanuel Vadot	clk_ext4: clock-ext4 {
199c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
200c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
201c66ec88fSEmmanuel Vadot		clock-frequency = <133000000>;
202c66ec88fSEmmanuel Vadot		clock-output-names = "clk_ext4";
203c66ec88fSEmmanuel Vadot	};
204c66ec88fSEmmanuel Vadot
20584943d6fSEmmanuel Vadot	funnel {
20684943d6fSEmmanuel Vadot		/*
20784943d6fSEmmanuel Vadot		 * non-configurable funnel don't show up on the AMBA
20884943d6fSEmmanuel Vadot		 * bus.  As such no need to add "arm,primecell".
20984943d6fSEmmanuel Vadot		 */
21084943d6fSEmmanuel Vadot		compatible = "arm,coresight-static-funnel";
21184943d6fSEmmanuel Vadot
21284943d6fSEmmanuel Vadot		in-ports {
21384943d6fSEmmanuel Vadot			#address-cells = <1>;
21484943d6fSEmmanuel Vadot			#size-cells = <0>;
21584943d6fSEmmanuel Vadot
21684943d6fSEmmanuel Vadot			port@0 {
21784943d6fSEmmanuel Vadot				reg = <0>;
21884943d6fSEmmanuel Vadot
21984943d6fSEmmanuel Vadot				ca_funnel_in_port0: endpoint {
22084943d6fSEmmanuel Vadot					remote-endpoint = <&etm0_out_port>;
22184943d6fSEmmanuel Vadot				};
22284943d6fSEmmanuel Vadot			};
22384943d6fSEmmanuel Vadot
22484943d6fSEmmanuel Vadot			port@1 {
22584943d6fSEmmanuel Vadot				reg = <1>;
22684943d6fSEmmanuel Vadot
22784943d6fSEmmanuel Vadot				ca_funnel_in_port1: endpoint {
22884943d6fSEmmanuel Vadot					remote-endpoint = <&etm1_out_port>;
22984943d6fSEmmanuel Vadot				};
23084943d6fSEmmanuel Vadot			};
23184943d6fSEmmanuel Vadot
23284943d6fSEmmanuel Vadot			port@2 {
23384943d6fSEmmanuel Vadot				reg = <2>;
23484943d6fSEmmanuel Vadot
23584943d6fSEmmanuel Vadot				ca_funnel_in_port2: endpoint {
23684943d6fSEmmanuel Vadot					remote-endpoint = <&etm2_out_port>;
23784943d6fSEmmanuel Vadot				};
23884943d6fSEmmanuel Vadot			};
23984943d6fSEmmanuel Vadot
24084943d6fSEmmanuel Vadot			port@3 {
24184943d6fSEmmanuel Vadot				reg = <3>;
24284943d6fSEmmanuel Vadot
24384943d6fSEmmanuel Vadot					ca_funnel_in_port3: endpoint {
24484943d6fSEmmanuel Vadot					remote-endpoint = <&etm3_out_port>;
24584943d6fSEmmanuel Vadot				};
24684943d6fSEmmanuel Vadot			};
24784943d6fSEmmanuel Vadot		};
24884943d6fSEmmanuel Vadot
24984943d6fSEmmanuel Vadot		out-ports {
25084943d6fSEmmanuel Vadot			port {
25184943d6fSEmmanuel Vadot
25284943d6fSEmmanuel Vadot				ca_funnel_out_port0: endpoint {
25384943d6fSEmmanuel Vadot					remote-endpoint = <&hugo_funnel_in_port0>;
25484943d6fSEmmanuel Vadot				};
25584943d6fSEmmanuel Vadot			};
25684943d6fSEmmanuel Vadot		};
25784943d6fSEmmanuel Vadot	};
25884943d6fSEmmanuel Vadot
259354d7675SEmmanuel Vadot	reserved-memory {
260354d7675SEmmanuel Vadot		#address-cells = <2>;
261354d7675SEmmanuel Vadot		#size-cells = <2>;
262354d7675SEmmanuel Vadot		ranges;
263354d7675SEmmanuel Vadot
264354d7675SEmmanuel Vadot		dsp_reserved: dsp@92400000 {
265354d7675SEmmanuel Vadot			reg = <0 0x92400000 0 0x2000000>;
266354d7675SEmmanuel Vadot			no-map;
2678d13bc63SEmmanuel Vadot			status = "disabled";
268354d7675SEmmanuel Vadot		};
269354d7675SEmmanuel Vadot	};
270354d7675SEmmanuel Vadot
2715def4c47SEmmanuel Vadot	pmu {
2725def4c47SEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
2735def4c47SEmmanuel Vadot		interrupts = <GIC_PPI 7
2745def4c47SEmmanuel Vadot			     (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
2755def4c47SEmmanuel Vadot	};
2765def4c47SEmmanuel Vadot
277c66ec88fSEmmanuel Vadot	psci {
278c66ec88fSEmmanuel Vadot		compatible = "arm,psci-1.0";
279c66ec88fSEmmanuel Vadot		method = "smc";
280c66ec88fSEmmanuel Vadot	};
281c66ec88fSEmmanuel Vadot
282c66ec88fSEmmanuel Vadot	thermal-zones {
283c66ec88fSEmmanuel Vadot		cpu-thermal {
284c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
285c66ec88fSEmmanuel Vadot			polling-delay = <2000>;
286c66ec88fSEmmanuel Vadot			thermal-sensors = <&tmu 0>;
287c66ec88fSEmmanuel Vadot			trips {
288c66ec88fSEmmanuel Vadot				cpu_alert0: trip0 {
289c66ec88fSEmmanuel Vadot					temperature = <85000>;
290c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
291c66ec88fSEmmanuel Vadot					type = "passive";
292c66ec88fSEmmanuel Vadot				};
293c66ec88fSEmmanuel Vadot
294c66ec88fSEmmanuel Vadot				cpu_crit0: trip1 {
295c66ec88fSEmmanuel Vadot					temperature = <95000>;
296c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
297c66ec88fSEmmanuel Vadot					type = "critical";
298c66ec88fSEmmanuel Vadot				};
299c66ec88fSEmmanuel Vadot			};
300c66ec88fSEmmanuel Vadot
301c66ec88fSEmmanuel Vadot			cooling-maps {
302c66ec88fSEmmanuel Vadot				map0 {
303c66ec88fSEmmanuel Vadot					trip = <&cpu_alert0>;
304c66ec88fSEmmanuel Vadot					cooling-device =
305c66ec88fSEmmanuel Vadot						<&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
306c66ec88fSEmmanuel Vadot						<&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
307c66ec88fSEmmanuel Vadot						<&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
308c66ec88fSEmmanuel Vadot						<&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
309c66ec88fSEmmanuel Vadot				};
310c66ec88fSEmmanuel Vadot			};
311c66ec88fSEmmanuel Vadot		};
312c66ec88fSEmmanuel Vadot
313c66ec88fSEmmanuel Vadot		soc-thermal {
314c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
315c66ec88fSEmmanuel Vadot			polling-delay = <2000>;
316c66ec88fSEmmanuel Vadot			thermal-sensors = <&tmu 1>;
317c66ec88fSEmmanuel Vadot			trips {
318c66ec88fSEmmanuel Vadot				soc_alert0: trip0 {
319c66ec88fSEmmanuel Vadot					temperature = <85000>;
320c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
321c66ec88fSEmmanuel Vadot					type = "passive";
322c66ec88fSEmmanuel Vadot				};
323c66ec88fSEmmanuel Vadot
324c66ec88fSEmmanuel Vadot				soc_crit0: trip1 {
325c66ec88fSEmmanuel Vadot					temperature = <95000>;
326c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
327c66ec88fSEmmanuel Vadot					type = "critical";
328c66ec88fSEmmanuel Vadot				};
329c66ec88fSEmmanuel Vadot			};
330c66ec88fSEmmanuel Vadot
331c66ec88fSEmmanuel Vadot			cooling-maps {
332c66ec88fSEmmanuel Vadot				map0 {
333c66ec88fSEmmanuel Vadot					trip = <&soc_alert0>;
334c66ec88fSEmmanuel Vadot					cooling-device =
335c66ec88fSEmmanuel Vadot						<&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
336c66ec88fSEmmanuel Vadot						<&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
337c66ec88fSEmmanuel Vadot						<&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
338c66ec88fSEmmanuel Vadot						<&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
339c66ec88fSEmmanuel Vadot				};
340c66ec88fSEmmanuel Vadot			};
341c66ec88fSEmmanuel Vadot		};
342c66ec88fSEmmanuel Vadot	};
343c66ec88fSEmmanuel Vadot
344c66ec88fSEmmanuel Vadot	timer {
345c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
3465def4c47SEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3475def4c47SEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3485def4c47SEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3495def4c47SEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
350c66ec88fSEmmanuel Vadot		clock-frequency = <8000000>;
351c66ec88fSEmmanuel Vadot		arm,no-tick-in-suspend;
352c66ec88fSEmmanuel Vadot	};
353c66ec88fSEmmanuel Vadot
354b97ee269SEmmanuel Vadot	soc: soc@0 {
3555def4c47SEmmanuel Vadot		compatible = "fsl,imx8mp-soc", "simple-bus";
356c66ec88fSEmmanuel Vadot		#address-cells = <1>;
357c66ec88fSEmmanuel Vadot		#size-cells = <1>;
358c66ec88fSEmmanuel Vadot		ranges = <0x0 0x0 0x0 0x3e000000>;
3595def4c47SEmmanuel Vadot		nvmem-cells = <&imx8mp_uid>;
3605def4c47SEmmanuel Vadot		nvmem-cell-names = "soc_unique_id";
361c66ec88fSEmmanuel Vadot
362f126890aSEmmanuel Vadot		etm0: etm@28440000 {
363f126890aSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
364aa1a8ff2SEmmanuel Vadot			reg = <0x28440000 0x1000>;
365f126890aSEmmanuel Vadot			cpu = <&A53_0>;
366f126890aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_MAIN_AXI>;
367f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
368f126890aSEmmanuel Vadot
369f126890aSEmmanuel Vadot			out-ports {
370f126890aSEmmanuel Vadot				port {
371f126890aSEmmanuel Vadot					etm0_out_port: endpoint {
372f126890aSEmmanuel Vadot						remote-endpoint = <&ca_funnel_in_port0>;
373f126890aSEmmanuel Vadot					};
374f126890aSEmmanuel Vadot				};
375f126890aSEmmanuel Vadot			};
376f126890aSEmmanuel Vadot		};
377f126890aSEmmanuel Vadot
378f126890aSEmmanuel Vadot		etm1: etm@28540000 {
379f126890aSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
380aa1a8ff2SEmmanuel Vadot			reg = <0x28540000 0x1000>;
381f126890aSEmmanuel Vadot			cpu = <&A53_1>;
382f126890aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_MAIN_AXI>;
383f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
384f126890aSEmmanuel Vadot
385f126890aSEmmanuel Vadot			out-ports {
386f126890aSEmmanuel Vadot				port {
387f126890aSEmmanuel Vadot					etm1_out_port: endpoint {
388f126890aSEmmanuel Vadot						remote-endpoint = <&ca_funnel_in_port1>;
389f126890aSEmmanuel Vadot					};
390f126890aSEmmanuel Vadot				};
391f126890aSEmmanuel Vadot			};
392f126890aSEmmanuel Vadot		};
393f126890aSEmmanuel Vadot
394f126890aSEmmanuel Vadot		etm2: etm@28640000 {
395f126890aSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
396aa1a8ff2SEmmanuel Vadot			reg = <0x28640000 0x1000>;
397f126890aSEmmanuel Vadot			cpu = <&A53_2>;
398f126890aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_MAIN_AXI>;
399f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
400f126890aSEmmanuel Vadot
401f126890aSEmmanuel Vadot			out-ports {
402f126890aSEmmanuel Vadot				port {
403f126890aSEmmanuel Vadot					etm2_out_port: endpoint {
404f126890aSEmmanuel Vadot						remote-endpoint = <&ca_funnel_in_port2>;
405f126890aSEmmanuel Vadot					};
406f126890aSEmmanuel Vadot				};
407f126890aSEmmanuel Vadot			};
408f126890aSEmmanuel Vadot		};
409f126890aSEmmanuel Vadot
410f126890aSEmmanuel Vadot		etm3: etm@28740000 {
411f126890aSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
412aa1a8ff2SEmmanuel Vadot			reg = <0x28740000 0x1000>;
413f126890aSEmmanuel Vadot			cpu = <&A53_3>;
414f126890aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_MAIN_AXI>;
415f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
416f126890aSEmmanuel Vadot
417f126890aSEmmanuel Vadot			out-ports {
418f126890aSEmmanuel Vadot				port {
419f126890aSEmmanuel Vadot					etm3_out_port: endpoint {
420f126890aSEmmanuel Vadot						remote-endpoint = <&ca_funnel_in_port3>;
421f126890aSEmmanuel Vadot					};
422f126890aSEmmanuel Vadot				};
423f126890aSEmmanuel Vadot			};
424f126890aSEmmanuel Vadot		};
425f126890aSEmmanuel Vadot
426f126890aSEmmanuel Vadot		funnel@28c03000 {
427f126890aSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
428f126890aSEmmanuel Vadot			reg = <0x28c03000 0x1000>;
429f126890aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_MAIN_AXI>;
430f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot			in-ports {
433f126890aSEmmanuel Vadot				#address-cells = <1>;
434f126890aSEmmanuel Vadot				#size-cells = <0>;
435f126890aSEmmanuel Vadot
436f126890aSEmmanuel Vadot				port@0 {
437f126890aSEmmanuel Vadot					reg = <0>;
438f126890aSEmmanuel Vadot
439f126890aSEmmanuel Vadot					hugo_funnel_in_port0: endpoint {
440f126890aSEmmanuel Vadot						remote-endpoint = <&ca_funnel_out_port0>;
441f126890aSEmmanuel Vadot					};
442f126890aSEmmanuel Vadot				};
443f126890aSEmmanuel Vadot
444f126890aSEmmanuel Vadot				port@1 {
445f126890aSEmmanuel Vadot					reg = <1>;
446f126890aSEmmanuel Vadot
447f126890aSEmmanuel Vadot					hugo_funnel_in_port1: endpoint {
448f126890aSEmmanuel Vadot					/* M7 input */
449f126890aSEmmanuel Vadot					};
450f126890aSEmmanuel Vadot				};
451f126890aSEmmanuel Vadot
452f126890aSEmmanuel Vadot				port@2 {
453f126890aSEmmanuel Vadot					reg = <2>;
454f126890aSEmmanuel Vadot
455f126890aSEmmanuel Vadot					hugo_funnel_in_port2: endpoint {
456f126890aSEmmanuel Vadot					/* DSP input */
457f126890aSEmmanuel Vadot					};
458f126890aSEmmanuel Vadot				};
459f126890aSEmmanuel Vadot				/* the other input ports are not connect to anything */
460f126890aSEmmanuel Vadot			};
461f126890aSEmmanuel Vadot
462f126890aSEmmanuel Vadot			out-ports {
463f126890aSEmmanuel Vadot				port {
464f126890aSEmmanuel Vadot					hugo_funnel_out_port0: endpoint {
465f126890aSEmmanuel Vadot						remote-endpoint = <&etf_in_port>;
466f126890aSEmmanuel Vadot					};
467f126890aSEmmanuel Vadot				};
468f126890aSEmmanuel Vadot			};
469f126890aSEmmanuel Vadot		};
470f126890aSEmmanuel Vadot
471f126890aSEmmanuel Vadot		etf@28c04000 {
472f126890aSEmmanuel Vadot			compatible = "arm,coresight-tmc", "arm,primecell";
473f126890aSEmmanuel Vadot			reg = <0x28c04000 0x1000>;
474f126890aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_MAIN_AXI>;
475f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
476f126890aSEmmanuel Vadot
477f126890aSEmmanuel Vadot			in-ports {
478f126890aSEmmanuel Vadot				port {
479f126890aSEmmanuel Vadot					etf_in_port: endpoint {
480f126890aSEmmanuel Vadot						remote-endpoint = <&hugo_funnel_out_port0>;
481f126890aSEmmanuel Vadot					};
482f126890aSEmmanuel Vadot				};
483f126890aSEmmanuel Vadot			};
484f126890aSEmmanuel Vadot
485f126890aSEmmanuel Vadot			out-ports {
486f126890aSEmmanuel Vadot				port {
487f126890aSEmmanuel Vadot					etf_out_port: endpoint {
488f126890aSEmmanuel Vadot						remote-endpoint = <&etr_in_port>;
489f126890aSEmmanuel Vadot					};
490f126890aSEmmanuel Vadot				};
491f126890aSEmmanuel Vadot			};
492f126890aSEmmanuel Vadot		};
493f126890aSEmmanuel Vadot
494f126890aSEmmanuel Vadot		etr@28c06000 {
495f126890aSEmmanuel Vadot			compatible = "arm,coresight-tmc", "arm,primecell";
496f126890aSEmmanuel Vadot			reg = <0x28c06000 0x1000>;
497f126890aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_MAIN_AXI>;
498f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
499f126890aSEmmanuel Vadot
500f126890aSEmmanuel Vadot			in-ports {
501f126890aSEmmanuel Vadot				port {
502f126890aSEmmanuel Vadot					etr_in_port: endpoint {
503f126890aSEmmanuel Vadot						remote-endpoint = <&etf_out_port>;
504f126890aSEmmanuel Vadot					};
505f126890aSEmmanuel Vadot				};
506f126890aSEmmanuel Vadot			};
507f126890aSEmmanuel Vadot		};
508f126890aSEmmanuel Vadot
509c66ec88fSEmmanuel Vadot		aips1: bus@30000000 {
510c66ec88fSEmmanuel Vadot			compatible = "fsl,aips-bus", "simple-bus";
511c66ec88fSEmmanuel Vadot			reg = <0x30000000 0x400000>;
512c66ec88fSEmmanuel Vadot			#address-cells = <1>;
513c66ec88fSEmmanuel Vadot			#size-cells = <1>;
514c66ec88fSEmmanuel Vadot			ranges;
515c66ec88fSEmmanuel Vadot
516c66ec88fSEmmanuel Vadot			gpio1: gpio@30200000 {
517c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
518c66ec88fSEmmanuel Vadot				reg = <0x30200000 0x10000>;
519c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
520c66ec88fSEmmanuel Vadot					     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
521c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPIO1_ROOT>;
522c66ec88fSEmmanuel Vadot				gpio-controller;
523c66ec88fSEmmanuel Vadot				#gpio-cells = <2>;
524c66ec88fSEmmanuel Vadot				interrupt-controller;
525c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
526c66ec88fSEmmanuel Vadot				gpio-ranges = <&iomuxc 0 5 30>;
527c66ec88fSEmmanuel Vadot			};
528c66ec88fSEmmanuel Vadot
529c66ec88fSEmmanuel Vadot			gpio2: gpio@30210000 {
530c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
531c66ec88fSEmmanuel Vadot				reg = <0x30210000 0x10000>;
532c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
533c66ec88fSEmmanuel Vadot					     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
534c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPIO2_ROOT>;
535c66ec88fSEmmanuel Vadot				gpio-controller;
536c66ec88fSEmmanuel Vadot				#gpio-cells = <2>;
537c66ec88fSEmmanuel Vadot				interrupt-controller;
538c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
539c66ec88fSEmmanuel Vadot				gpio-ranges = <&iomuxc 0 35 21>;
540c66ec88fSEmmanuel Vadot			};
541c66ec88fSEmmanuel Vadot
542c66ec88fSEmmanuel Vadot			gpio3: gpio@30220000 {
543c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
544c66ec88fSEmmanuel Vadot				reg = <0x30220000 0x10000>;
545c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
546c66ec88fSEmmanuel Vadot					     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
547c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPIO3_ROOT>;
548c66ec88fSEmmanuel Vadot				gpio-controller;
549c66ec88fSEmmanuel Vadot				#gpio-cells = <2>;
550c66ec88fSEmmanuel Vadot				interrupt-controller;
551c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
5525def4c47SEmmanuel Vadot				gpio-ranges = <&iomuxc 0 56 26>, <&iomuxc 26 144 4>;
553c66ec88fSEmmanuel Vadot			};
554c66ec88fSEmmanuel Vadot
555c66ec88fSEmmanuel Vadot			gpio4: gpio@30230000 {
556c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
557c66ec88fSEmmanuel Vadot				reg = <0x30230000 0x10000>;
558c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
559c66ec88fSEmmanuel Vadot					     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
560c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPIO4_ROOT>;
561c66ec88fSEmmanuel Vadot				gpio-controller;
562c66ec88fSEmmanuel Vadot				#gpio-cells = <2>;
563c66ec88fSEmmanuel Vadot				interrupt-controller;
564c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
565c66ec88fSEmmanuel Vadot				gpio-ranges = <&iomuxc 0 82 32>;
566c66ec88fSEmmanuel Vadot			};
567c66ec88fSEmmanuel Vadot
568c66ec88fSEmmanuel Vadot			gpio5: gpio@30240000 {
569c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
570c66ec88fSEmmanuel Vadot				reg = <0x30240000 0x10000>;
571c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
572c66ec88fSEmmanuel Vadot					     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
573c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPIO5_ROOT>;
574c66ec88fSEmmanuel Vadot				gpio-controller;
575c66ec88fSEmmanuel Vadot				#gpio-cells = <2>;
576c66ec88fSEmmanuel Vadot				interrupt-controller;
577c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
578c66ec88fSEmmanuel Vadot				gpio-ranges = <&iomuxc 0 114 30>;
579c66ec88fSEmmanuel Vadot			};
580c66ec88fSEmmanuel Vadot
581c66ec88fSEmmanuel Vadot			tmu: tmu@30260000 {
582c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-tmu";
583c66ec88fSEmmanuel Vadot				reg = <0x30260000 0x10000>;
584c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_TSENSOR_ROOT>;
585cb7aa33aSEmmanuel Vadot				nvmem-cells = <&tmu_calib>;
586cb7aa33aSEmmanuel Vadot				nvmem-cell-names = "calib";
587c66ec88fSEmmanuel Vadot				#thermal-sensor-cells = <1>;
588c66ec88fSEmmanuel Vadot			};
589c66ec88fSEmmanuel Vadot
590c66ec88fSEmmanuel Vadot			wdog1: watchdog@30280000 {
591c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt";
592c66ec88fSEmmanuel Vadot				reg = <0x30280000 0x10000>;
593c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
594c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_WDOG1_ROOT>;
595c66ec88fSEmmanuel Vadot				status = "disabled";
596c66ec88fSEmmanuel Vadot			};
597c66ec88fSEmmanuel Vadot
5982eb4d8dcSEmmanuel Vadot			wdog2: watchdog@30290000 {
5992eb4d8dcSEmmanuel Vadot				compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt";
6002eb4d8dcSEmmanuel Vadot				reg = <0x30290000 0x10000>;
6012eb4d8dcSEmmanuel Vadot				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
6022eb4d8dcSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_WDOG2_ROOT>;
6032eb4d8dcSEmmanuel Vadot				status = "disabled";
6042eb4d8dcSEmmanuel Vadot			};
6052eb4d8dcSEmmanuel Vadot
6062eb4d8dcSEmmanuel Vadot			wdog3: watchdog@302a0000 {
6072eb4d8dcSEmmanuel Vadot				compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt";
6082eb4d8dcSEmmanuel Vadot				reg = <0x302a0000 0x10000>;
6092eb4d8dcSEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
6102eb4d8dcSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_WDOG3_ROOT>;
6112eb4d8dcSEmmanuel Vadot				status = "disabled";
6122eb4d8dcSEmmanuel Vadot			};
6132eb4d8dcSEmmanuel Vadot
614fac71e4eSEmmanuel Vadot			gpt1: timer@302d0000 {
615fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
616fac71e4eSEmmanuel Vadot				reg = <0x302d0000 0x10000>;
617fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
618fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPT1_ROOT>, <&clk IMX8MP_CLK_GPT1>;
619fac71e4eSEmmanuel Vadot				clock-names = "ipg", "per";
620fac71e4eSEmmanuel Vadot			};
621fac71e4eSEmmanuel Vadot
622fac71e4eSEmmanuel Vadot			gpt2: timer@302e0000 {
623fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
624fac71e4eSEmmanuel Vadot				reg = <0x302e0000 0x10000>;
625fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
626fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPT2_ROOT>, <&clk IMX8MP_CLK_GPT2>;
627fac71e4eSEmmanuel Vadot				clock-names = "ipg", "per";
628fac71e4eSEmmanuel Vadot			};
629fac71e4eSEmmanuel Vadot
630fac71e4eSEmmanuel Vadot			gpt3: timer@302f0000 {
631fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
632fac71e4eSEmmanuel Vadot				reg = <0x302f0000 0x10000>;
633fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
634fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPT3_ROOT>, <&clk IMX8MP_CLK_GPT3>;
635fac71e4eSEmmanuel Vadot				clock-names = "ipg", "per";
636fac71e4eSEmmanuel Vadot			};
637fac71e4eSEmmanuel Vadot
638c66ec88fSEmmanuel Vadot			iomuxc: pinctrl@30330000 {
639c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-iomuxc";
640c66ec88fSEmmanuel Vadot				reg = <0x30330000 0x10000>;
641c66ec88fSEmmanuel Vadot			};
642c66ec88fSEmmanuel Vadot
643cb7aa33aSEmmanuel Vadot			gpr: syscon@30340000 {
644c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-iomuxc-gpr", "syscon";
645c66ec88fSEmmanuel Vadot				reg = <0x30340000 0x10000>;
646c66ec88fSEmmanuel Vadot			};
647c66ec88fSEmmanuel Vadot
648c66ec88fSEmmanuel Vadot			ocotp: efuse@30350000 {
649c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-ocotp", "fsl,imx8mm-ocotp", "syscon";
650c66ec88fSEmmanuel Vadot				reg = <0x30350000 0x10000>;
651c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_OCOTP_ROOT>;
652c66ec88fSEmmanuel Vadot				/* For nvmem subnodes */
653c66ec88fSEmmanuel Vadot				#address-cells = <1>;
654c66ec88fSEmmanuel Vadot				#size-cells = <1>;
655c66ec88fSEmmanuel Vadot
656cb7aa33aSEmmanuel Vadot				/*
657cb7aa33aSEmmanuel Vadot				 * The register address below maps to the MX8M
658cb7aa33aSEmmanuel Vadot				 * Fusemap Description Table entries this way.
659cb7aa33aSEmmanuel Vadot				 * Assuming
660cb7aa33aSEmmanuel Vadot				 *   reg = <ADDR SIZE>;
661cb7aa33aSEmmanuel Vadot				 * then
662cb7aa33aSEmmanuel Vadot				 *   Fuse Address = (ADDR * 4) + 0x400
663cb7aa33aSEmmanuel Vadot				 * Note that if SIZE is greater than 4, then
664cb7aa33aSEmmanuel Vadot				 * each subsequent fuse is located at offset
665cb7aa33aSEmmanuel Vadot				 * +0x10 in Fusemap Description Table (e.g.
666cb7aa33aSEmmanuel Vadot				 * reg = <0x8 0x8> describes fuses 0x420 and
667cb7aa33aSEmmanuel Vadot				 * 0x430).
668cb7aa33aSEmmanuel Vadot				 */
669cb7aa33aSEmmanuel Vadot				imx8mp_uid: unique-id@8 { /* 0x420-0x430 */
6705def4c47SEmmanuel Vadot					reg = <0x8 0x8>;
6715def4c47SEmmanuel Vadot				};
6725def4c47SEmmanuel Vadot
673cb7aa33aSEmmanuel Vadot				cpu_speed_grade: speed-grade@10 { /* 0x440 */
674c66ec88fSEmmanuel Vadot					reg = <0x10 4>;
675c66ec88fSEmmanuel Vadot				};
6765def4c47SEmmanuel Vadot
677cb7aa33aSEmmanuel Vadot				eth_mac1: mac-address@90 { /* 0x640 */
6785def4c47SEmmanuel Vadot					reg = <0x90 6>;
6795def4c47SEmmanuel Vadot				};
680e67e8565SEmmanuel Vadot
681cb7aa33aSEmmanuel Vadot				eth_mac2: mac-address@96 { /* 0x658 */
682e67e8565SEmmanuel Vadot					reg = <0x96 6>;
683e67e8565SEmmanuel Vadot				};
684cb7aa33aSEmmanuel Vadot
685cb7aa33aSEmmanuel Vadot				tmu_calib: calib@264 { /* 0xd90-0xdc0 */
686cb7aa33aSEmmanuel Vadot					reg = <0x264 0x10>;
687cb7aa33aSEmmanuel Vadot				};
688c66ec88fSEmmanuel Vadot			};
689c66ec88fSEmmanuel Vadot
6908bab661aSEmmanuel Vadot			anatop: clock-controller@30360000 {
6918bab661aSEmmanuel Vadot				compatible = "fsl,imx8mp-anatop", "fsl,imx8mm-anatop";
692c66ec88fSEmmanuel Vadot				reg = <0x30360000 0x10000>;
6938bab661aSEmmanuel Vadot				#clock-cells = <1>;
694c66ec88fSEmmanuel Vadot			};
695c66ec88fSEmmanuel Vadot
696c66ec88fSEmmanuel Vadot			snvs: snvs@30370000 {
697c66ec88fSEmmanuel Vadot				compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd";
698c66ec88fSEmmanuel Vadot				reg = <0x30370000 0x10000>;
699c66ec88fSEmmanuel Vadot
700c66ec88fSEmmanuel Vadot				snvs_rtc: snvs-rtc-lp {
701c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v4.0-mon-rtc-lp";
702c66ec88fSEmmanuel Vadot					regmap = <&snvs>;
703c66ec88fSEmmanuel Vadot					offset = <0x34>;
704c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
705c66ec88fSEmmanuel Vadot						     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
706c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_SNVS_ROOT>;
707c66ec88fSEmmanuel Vadot					clock-names = "snvs-rtc";
708c66ec88fSEmmanuel Vadot				};
709c66ec88fSEmmanuel Vadot
710c66ec88fSEmmanuel Vadot				snvs_pwrkey: snvs-powerkey {
711c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v4.0-pwrkey";
712c66ec88fSEmmanuel Vadot					regmap = <&snvs>;
713c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
714c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_SNVS_ROOT>;
715c66ec88fSEmmanuel Vadot					clock-names = "snvs-pwrkey";
716c66ec88fSEmmanuel Vadot					linux,keycode = <KEY_POWER>;
717c66ec88fSEmmanuel Vadot					wakeup-source;
718c66ec88fSEmmanuel Vadot					status = "disabled";
719c66ec88fSEmmanuel Vadot				};
7207ef62cebSEmmanuel Vadot
7217ef62cebSEmmanuel Vadot				snvs_lpgpr: snvs-lpgpr {
7227ef62cebSEmmanuel Vadot					compatible = "fsl,imx8mp-snvs-lpgpr",
7237ef62cebSEmmanuel Vadot						     "fsl,imx7d-snvs-lpgpr";
7247ef62cebSEmmanuel Vadot				};
725c66ec88fSEmmanuel Vadot			};
726c66ec88fSEmmanuel Vadot
727c66ec88fSEmmanuel Vadot			clk: clock-controller@30380000 {
728c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-ccm";
729c66ec88fSEmmanuel Vadot				reg = <0x30380000 0x10000>;
7308d13bc63SEmmanuel Vadot				interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
7318d13bc63SEmmanuel Vadot					     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
732c66ec88fSEmmanuel Vadot				#clock-cells = <1>;
733c66ec88fSEmmanuel Vadot				clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>,
734c66ec88fSEmmanuel Vadot					 <&clk_ext3>, <&clk_ext4>;
735c66ec88fSEmmanuel Vadot				clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
736c66ec88fSEmmanuel Vadot					      "clk_ext3", "clk_ext4";
737c66ec88fSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_A53_SRC>,
738c66ec88fSEmmanuel Vadot						  <&clk IMX8MP_CLK_A53_CORE>,
739c66ec88fSEmmanuel Vadot						  <&clk IMX8MP_CLK_NOC>,
740c66ec88fSEmmanuel Vadot						  <&clk IMX8MP_CLK_NOC_IO>,
741f126890aSEmmanuel Vadot						  <&clk IMX8MP_CLK_GIC>;
742c66ec88fSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
743c66ec88fSEmmanuel Vadot							 <&clk IMX8MP_ARM_PLL_OUT>,
744c66ec88fSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_1000M>,
745c66ec88fSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL1_800M>,
746f126890aSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_500M>;
747c66ec88fSEmmanuel Vadot				assigned-clock-rates = <0>, <0>,
748c66ec88fSEmmanuel Vadot						       <1000000000>,
749c66ec88fSEmmanuel Vadot						       <800000000>,
750f126890aSEmmanuel Vadot						       <500000000>;
751c66ec88fSEmmanuel Vadot			};
752c66ec88fSEmmanuel Vadot
753c66ec88fSEmmanuel Vadot			src: reset-controller@30390000 {
754c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-src", "syscon";
755c66ec88fSEmmanuel Vadot				reg = <0x30390000 0x10000>;
756c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
757c66ec88fSEmmanuel Vadot				#reset-cells = <1>;
758c66ec88fSEmmanuel Vadot			};
759d5b0e70fSEmmanuel Vadot
760d5b0e70fSEmmanuel Vadot			gpc: gpc@303a0000 {
761d5b0e70fSEmmanuel Vadot				compatible = "fsl,imx8mp-gpc";
762d5b0e70fSEmmanuel Vadot				reg = <0x303a0000 0x1000>;
763d5b0e70fSEmmanuel Vadot				interrupt-parent = <&gic>;
7648bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
765d5b0e70fSEmmanuel Vadot				interrupt-controller;
766d5b0e70fSEmmanuel Vadot				#interrupt-cells = <3>;
767d5b0e70fSEmmanuel Vadot
768d5b0e70fSEmmanuel Vadot				pgc {
769d5b0e70fSEmmanuel Vadot					#address-cells = <1>;
770d5b0e70fSEmmanuel Vadot					#size-cells = <0>;
771d5b0e70fSEmmanuel Vadot
772d5b0e70fSEmmanuel Vadot					pgc_mipi_phy1: power-domain@0 {
773d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
774d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_MIPI_PHY1>;
775d5b0e70fSEmmanuel Vadot					};
776d5b0e70fSEmmanuel Vadot
777d5b0e70fSEmmanuel Vadot					pgc_pcie_phy: power-domain@1 {
778d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
779d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_PCIE_PHY>;
780d5b0e70fSEmmanuel Vadot					};
781d5b0e70fSEmmanuel Vadot
782d5b0e70fSEmmanuel Vadot					pgc_usb1_phy: power-domain@2 {
783d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
784d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_USB1_PHY>;
785d5b0e70fSEmmanuel Vadot					};
786d5b0e70fSEmmanuel Vadot
787d5b0e70fSEmmanuel Vadot					pgc_usb2_phy: power-domain@3 {
788d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
789d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_USB2_PHY>;
790d5b0e70fSEmmanuel Vadot					};
791d5b0e70fSEmmanuel Vadot
7920e8011faSEmmanuel Vadot					pgc_mlmix: power-domain@4 {
7930e8011faSEmmanuel Vadot						#power-domain-cells = <0>;
7940e8011faSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_MLMIX>;
7950e8011faSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_ML_AXI>,
7960e8011faSEmmanuel Vadot							 <&clk IMX8MP_CLK_ML_AHB>,
7970e8011faSEmmanuel Vadot							 <&clk IMX8MP_CLK_NPU_ROOT>;
7980e8011faSEmmanuel Vadot						assigned-clocks = <&clk IMX8MP_CLK_ML_CORE>,
7990e8011faSEmmanuel Vadot								  <&clk IMX8MP_CLK_ML_AXI>,
8000e8011faSEmmanuel Vadot								  <&clk IMX8MP_CLK_ML_AHB>;
8010e8011faSEmmanuel Vadot						assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
8020e8011faSEmmanuel Vadot									 <&clk IMX8MP_SYS_PLL1_800M>,
8030e8011faSEmmanuel Vadot									 <&clk IMX8MP_SYS_PLL1_800M>;
8040e8011faSEmmanuel Vadot						assigned-clock-rates = <800000000>,
8050e8011faSEmmanuel Vadot								       <800000000>,
8060e8011faSEmmanuel Vadot								       <300000000>;
8070e8011faSEmmanuel Vadot					};
8080e8011faSEmmanuel Vadot
809f126890aSEmmanuel Vadot					pgc_audio: power-domain@5 {
810f126890aSEmmanuel Vadot						#power-domain-cells = <0>;
811f126890aSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_AUDIOMIX>;
812f126890aSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_AUDIO_ROOT>,
813f126890aSEmmanuel Vadot							 <&clk IMX8MP_CLK_AUDIO_AXI>;
814aa1a8ff2SEmmanuel Vadot						assigned-clocks = <&clk IMX8MP_CLK_AUDIO_AHB>,
815aa1a8ff2SEmmanuel Vadot								  <&clk IMX8MP_CLK_AUDIO_AXI_SRC>;
816aa1a8ff2SEmmanuel Vadot						assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
817aa1a8ff2SEmmanuel Vadot									 <&clk IMX8MP_SYS_PLL1_800M>;
818aa1a8ff2SEmmanuel Vadot						assigned-clock-rates = <400000000>,
819aa1a8ff2SEmmanuel Vadot								       <600000000>;
820f126890aSEmmanuel Vadot					};
821f126890aSEmmanuel Vadot
822d5b0e70fSEmmanuel Vadot					pgc_gpu2d: power-domain@6 {
823d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
824d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_GPU2D>;
825d5b0e70fSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_GPU2D_ROOT>;
826d5b0e70fSEmmanuel Vadot						power-domains = <&pgc_gpumix>;
827d5b0e70fSEmmanuel Vadot					};
828d5b0e70fSEmmanuel Vadot
829d5b0e70fSEmmanuel Vadot					pgc_gpumix: power-domain@7 {
830d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
831d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_GPUMIX>;
832d5b0e70fSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_GPU_ROOT>,
833d5b0e70fSEmmanuel Vadot							 <&clk IMX8MP_CLK_GPU_AHB>;
834d5b0e70fSEmmanuel Vadot						assigned-clocks = <&clk IMX8MP_CLK_GPU_AXI>,
835d5b0e70fSEmmanuel Vadot								  <&clk IMX8MP_CLK_GPU_AHB>;
836d5b0e70fSEmmanuel Vadot						assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
837d5b0e70fSEmmanuel Vadot									 <&clk IMX8MP_SYS_PLL1_800M>;
838d5b0e70fSEmmanuel Vadot						assigned-clock-rates = <800000000>, <400000000>;
839d5b0e70fSEmmanuel Vadot					};
840d5b0e70fSEmmanuel Vadot
8410e8011faSEmmanuel Vadot					pgc_vpumix: power-domain@8 {
8420e8011faSEmmanuel Vadot						#power-domain-cells = <0>;
8430e8011faSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_VPUMIX>;
8440e8011faSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_VPU_ROOT>;
8450e8011faSEmmanuel Vadot					};
8460e8011faSEmmanuel Vadot
847d5b0e70fSEmmanuel Vadot					pgc_gpu3d: power-domain@9 {
848d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
849d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_GPU3D>;
850d5b0e70fSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_GPU3D_ROOT>,
851d5b0e70fSEmmanuel Vadot							 <&clk IMX8MP_CLK_GPU3D_SHADER_CORE>;
852d5b0e70fSEmmanuel Vadot						power-domains = <&pgc_gpumix>;
853d5b0e70fSEmmanuel Vadot					};
854d5b0e70fSEmmanuel Vadot
855d5b0e70fSEmmanuel Vadot					pgc_mediamix: power-domain@10 {
856d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
857d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_MEDIAMIX>;
858d5b0e70fSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
859d5b0e70fSEmmanuel Vadot							 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
860d5b0e70fSEmmanuel Vadot					};
861d5b0e70fSEmmanuel Vadot
8620e8011faSEmmanuel Vadot					pgc_vpu_g1: power-domain@11 {
8630e8011faSEmmanuel Vadot						#power-domain-cells = <0>;
8640e8011faSEmmanuel Vadot						power-domains = <&pgc_vpumix>;
8650e8011faSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_VPU_G1>;
8660e8011faSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>;
8670e8011faSEmmanuel Vadot					};
8680e8011faSEmmanuel Vadot
8690e8011faSEmmanuel Vadot					pgc_vpu_g2: power-domain@12 {
8700e8011faSEmmanuel Vadot						#power-domain-cells = <0>;
8710e8011faSEmmanuel Vadot						power-domains = <&pgc_vpumix>;
8720e8011faSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_VPU_G2>;
8730e8011faSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>;
8740e8011faSEmmanuel Vadot
8750e8011faSEmmanuel Vadot					};
8760e8011faSEmmanuel Vadot
8770e8011faSEmmanuel Vadot					pgc_vpu_vc8000e: power-domain@13 {
8780e8011faSEmmanuel Vadot						#power-domain-cells = <0>;
8790e8011faSEmmanuel Vadot						power-domains = <&pgc_vpumix>;
8800e8011faSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_VPU_VC8000E>;
8810e8011faSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
8820e8011faSEmmanuel Vadot					};
8830e8011faSEmmanuel Vadot
8847d0873ebSEmmanuel Vadot					pgc_hdmimix: power-domain@14 {
8857d0873ebSEmmanuel Vadot						#power-domain-cells = <0>;
8867d0873ebSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_HDMIMIX>;
8877d0873ebSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_HDMI_ROOT>,
8887d0873ebSEmmanuel Vadot							 <&clk IMX8MP_CLK_HDMI_APB>;
8897d0873ebSEmmanuel Vadot						assigned-clocks = <&clk IMX8MP_CLK_HDMI_AXI>,
8907d0873ebSEmmanuel Vadot								  <&clk IMX8MP_CLK_HDMI_APB>;
8917d0873ebSEmmanuel Vadot						assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>,
8927d0873ebSEmmanuel Vadot									 <&clk IMX8MP_SYS_PLL1_133M>;
8937d0873ebSEmmanuel Vadot						assigned-clock-rates = <500000000>, <133000000>;
8947d0873ebSEmmanuel Vadot					};
8957d0873ebSEmmanuel Vadot
8967d0873ebSEmmanuel Vadot					pgc_hdmi_phy: power-domain@15 {
8977d0873ebSEmmanuel Vadot						#power-domain-cells = <0>;
8987d0873ebSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_HDMI_PHY>;
8997d0873ebSEmmanuel Vadot					};
9007d0873ebSEmmanuel Vadot
901d5b0e70fSEmmanuel Vadot					pgc_mipi_phy2: power-domain@16 {
902d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
903d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_MIPI_PHY2>;
904d5b0e70fSEmmanuel Vadot					};
905d5b0e70fSEmmanuel Vadot
9068bab661aSEmmanuel Vadot					pgc_hsiomix: power-domain@17 {
907d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
908d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_HSIOMIX>;
909d5b0e70fSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_HSIO_AXI>,
910d5b0e70fSEmmanuel Vadot							 <&clk IMX8MP_CLK_HSIO_ROOT>;
911d5b0e70fSEmmanuel Vadot						assigned-clocks = <&clk IMX8MP_CLK_HSIO_AXI>;
912d5b0e70fSEmmanuel Vadot						assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>;
913d5b0e70fSEmmanuel Vadot						assigned-clock-rates = <500000000>;
914d5b0e70fSEmmanuel Vadot					};
915d5b0e70fSEmmanuel Vadot
916d5b0e70fSEmmanuel Vadot					pgc_ispdwp: power-domain@18 {
917d5b0e70fSEmmanuel Vadot						#power-domain-cells = <0>;
918d5b0e70fSEmmanuel Vadot						reg = <IMX8MP_POWER_DOMAIN_MEDIAMIX_ISPDWP>;
919d5b0e70fSEmmanuel Vadot						clocks = <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>;
920d5b0e70fSEmmanuel Vadot					};
921d5b0e70fSEmmanuel Vadot				};
922d5b0e70fSEmmanuel Vadot			};
923c66ec88fSEmmanuel Vadot		};
924c66ec88fSEmmanuel Vadot
925c66ec88fSEmmanuel Vadot		aips2: bus@30400000 {
926c66ec88fSEmmanuel Vadot			compatible = "fsl,aips-bus", "simple-bus";
927c66ec88fSEmmanuel Vadot			reg = <0x30400000 0x400000>;
928c66ec88fSEmmanuel Vadot			#address-cells = <1>;
929c66ec88fSEmmanuel Vadot			#size-cells = <1>;
930c66ec88fSEmmanuel Vadot			ranges;
931c66ec88fSEmmanuel Vadot
932c66ec88fSEmmanuel Vadot			pwm1: pwm@30660000 {
933c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
934c66ec88fSEmmanuel Vadot				reg = <0x30660000 0x10000>;
935c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
936c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_PWM1_ROOT>,
937c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_PWM1_ROOT>;
938c66ec88fSEmmanuel Vadot				clock-names = "ipg", "per";
939d5b0e70fSEmmanuel Vadot				#pwm-cells = <3>;
940c66ec88fSEmmanuel Vadot				status = "disabled";
941c66ec88fSEmmanuel Vadot			};
942c66ec88fSEmmanuel Vadot
943c66ec88fSEmmanuel Vadot			pwm2: pwm@30670000 {
944c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
945c66ec88fSEmmanuel Vadot				reg = <0x30670000 0x10000>;
946c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
947c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_PWM2_ROOT>,
948c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_PWM2_ROOT>;
949c66ec88fSEmmanuel Vadot				clock-names = "ipg", "per";
950d5b0e70fSEmmanuel Vadot				#pwm-cells = <3>;
951c66ec88fSEmmanuel Vadot				status = "disabled";
952c66ec88fSEmmanuel Vadot			};
953c66ec88fSEmmanuel Vadot
954c66ec88fSEmmanuel Vadot			pwm3: pwm@30680000 {
955c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
956c66ec88fSEmmanuel Vadot				reg = <0x30680000 0x10000>;
957c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
958c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_PWM3_ROOT>,
959c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_PWM3_ROOT>;
960c66ec88fSEmmanuel Vadot				clock-names = "ipg", "per";
961d5b0e70fSEmmanuel Vadot				#pwm-cells = <3>;
962c66ec88fSEmmanuel Vadot				status = "disabled";
963c66ec88fSEmmanuel Vadot			};
964c66ec88fSEmmanuel Vadot
965c66ec88fSEmmanuel Vadot			pwm4: pwm@30690000 {
966c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
967c66ec88fSEmmanuel Vadot				reg = <0x30690000 0x10000>;
968c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
969c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_PWM4_ROOT>,
970c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_PWM4_ROOT>;
971c66ec88fSEmmanuel Vadot				clock-names = "ipg", "per";
972d5b0e70fSEmmanuel Vadot				#pwm-cells = <3>;
973c66ec88fSEmmanuel Vadot				status = "disabled";
974c66ec88fSEmmanuel Vadot			};
975c66ec88fSEmmanuel Vadot
976c66ec88fSEmmanuel Vadot			system_counter: timer@306a0000 {
977c66ec88fSEmmanuel Vadot				compatible = "nxp,sysctr-timer";
978c66ec88fSEmmanuel Vadot				reg = <0x306a0000 0x20000>;
979c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
980c66ec88fSEmmanuel Vadot				clocks = <&osc_24m>;
981c66ec88fSEmmanuel Vadot				clock-names = "per";
982c66ec88fSEmmanuel Vadot			};
983fac71e4eSEmmanuel Vadot
984fac71e4eSEmmanuel Vadot			gpt6: timer@306e0000 {
985fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
986fac71e4eSEmmanuel Vadot				reg = <0x306e0000 0x10000>;
987fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
988fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPT6_ROOT>, <&clk IMX8MP_CLK_GPT6>;
989fac71e4eSEmmanuel Vadot				clock-names = "ipg", "per";
990fac71e4eSEmmanuel Vadot			};
991fac71e4eSEmmanuel Vadot
992fac71e4eSEmmanuel Vadot			gpt5: timer@306f0000 {
993fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
994fac71e4eSEmmanuel Vadot				reg = <0x306f0000 0x10000>;
995fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
996fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPT5_ROOT>, <&clk IMX8MP_CLK_GPT5>;
997fac71e4eSEmmanuel Vadot				clock-names = "ipg", "per";
998fac71e4eSEmmanuel Vadot			};
999fac71e4eSEmmanuel Vadot
1000fac71e4eSEmmanuel Vadot			gpt4: timer@30700000 {
1001fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
1002fac71e4eSEmmanuel Vadot				reg = <0x30700000 0x10000>;
1003fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
1004fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_GPT4_ROOT>, <&clk IMX8MP_CLK_GPT4>;
1005fac71e4eSEmmanuel Vadot				clock-names = "ipg", "per";
1006fac71e4eSEmmanuel Vadot			};
1007c66ec88fSEmmanuel Vadot		};
1008c66ec88fSEmmanuel Vadot
1009c66ec88fSEmmanuel Vadot		aips3: bus@30800000 {
1010c66ec88fSEmmanuel Vadot			compatible = "fsl,aips-bus", "simple-bus";
1011c66ec88fSEmmanuel Vadot			reg = <0x30800000 0x400000>;
1012c66ec88fSEmmanuel Vadot			#address-cells = <1>;
1013c66ec88fSEmmanuel Vadot			#size-cells = <1>;
1014c66ec88fSEmmanuel Vadot			ranges;
1015c66ec88fSEmmanuel Vadot
1016cb7aa33aSEmmanuel Vadot			spba-bus@30800000 {
1017cb7aa33aSEmmanuel Vadot				compatible = "fsl,spba-bus", "simple-bus";
1018cb7aa33aSEmmanuel Vadot				reg = <0x30800000 0x100000>;
1019cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
1020cb7aa33aSEmmanuel Vadot				#size-cells = <1>;
1021cb7aa33aSEmmanuel Vadot				ranges;
1022cb7aa33aSEmmanuel Vadot
1023c66ec88fSEmmanuel Vadot				ecspi1: spi@30820000 {
1024c66ec88fSEmmanuel Vadot					#address-cells = <1>;
1025c66ec88fSEmmanuel Vadot					#size-cells = <0>;
10268bab661aSEmmanuel Vadot					compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi";
1027c66ec88fSEmmanuel Vadot					reg = <0x30820000 0x10000>;
1028c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1029c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_ECSPI1_ROOT>,
1030c66ec88fSEmmanuel Vadot						 <&clk IMX8MP_CLK_ECSPI1_ROOT>;
1031c66ec88fSEmmanuel Vadot					clock-names = "ipg", "per";
10328bab661aSEmmanuel Vadot					assigned-clock-rates = <80000000>;
10338bab661aSEmmanuel Vadot					assigned-clocks = <&clk IMX8MP_CLK_ECSPI1>;
10348bab661aSEmmanuel Vadot					assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
1035c66ec88fSEmmanuel Vadot					dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
1036c66ec88fSEmmanuel Vadot					dma-names = "rx", "tx";
1037c66ec88fSEmmanuel Vadot					status = "disabled";
1038c66ec88fSEmmanuel Vadot				};
1039c66ec88fSEmmanuel Vadot
1040c66ec88fSEmmanuel Vadot				ecspi2: spi@30830000 {
1041c66ec88fSEmmanuel Vadot					#address-cells = <1>;
1042c66ec88fSEmmanuel Vadot					#size-cells = <0>;
10438bab661aSEmmanuel Vadot					compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi";
1044c66ec88fSEmmanuel Vadot					reg = <0x30830000 0x10000>;
1045c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1046c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_ECSPI2_ROOT>,
1047c66ec88fSEmmanuel Vadot						 <&clk IMX8MP_CLK_ECSPI2_ROOT>;
1048c66ec88fSEmmanuel Vadot					clock-names = "ipg", "per";
10498bab661aSEmmanuel Vadot					assigned-clock-rates = <80000000>;
10508bab661aSEmmanuel Vadot					assigned-clocks = <&clk IMX8MP_CLK_ECSPI2>;
10518bab661aSEmmanuel Vadot					assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
1052c66ec88fSEmmanuel Vadot					dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>;
1053c66ec88fSEmmanuel Vadot					dma-names = "rx", "tx";
1054c66ec88fSEmmanuel Vadot					status = "disabled";
1055c66ec88fSEmmanuel Vadot				};
1056c66ec88fSEmmanuel Vadot
1057c66ec88fSEmmanuel Vadot				ecspi3: spi@30840000 {
1058c66ec88fSEmmanuel Vadot					#address-cells = <1>;
1059c66ec88fSEmmanuel Vadot					#size-cells = <0>;
10608bab661aSEmmanuel Vadot					compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi";
1061c66ec88fSEmmanuel Vadot					reg = <0x30840000 0x10000>;
1062c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1063c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_ECSPI3_ROOT>,
1064c66ec88fSEmmanuel Vadot						 <&clk IMX8MP_CLK_ECSPI3_ROOT>;
1065c66ec88fSEmmanuel Vadot					clock-names = "ipg", "per";
10668bab661aSEmmanuel Vadot					assigned-clock-rates = <80000000>;
10678bab661aSEmmanuel Vadot					assigned-clocks = <&clk IMX8MP_CLK_ECSPI3>;
10688bab661aSEmmanuel Vadot					assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
1069c66ec88fSEmmanuel Vadot					dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>;
1070c66ec88fSEmmanuel Vadot					dma-names = "rx", "tx";
1071c66ec88fSEmmanuel Vadot					status = "disabled";
1072c66ec88fSEmmanuel Vadot				};
1073c66ec88fSEmmanuel Vadot
1074c66ec88fSEmmanuel Vadot				uart1: serial@30860000 {
1075c66ec88fSEmmanuel Vadot					compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1076c66ec88fSEmmanuel Vadot					reg = <0x30860000 0x10000>;
1077c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
1078c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_UART1_ROOT>,
1079c66ec88fSEmmanuel Vadot						 <&clk IMX8MP_CLK_UART1_ROOT>;
1080c66ec88fSEmmanuel Vadot					clock-names = "ipg", "per";
1081c66ec88fSEmmanuel Vadot					dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>;
1082c66ec88fSEmmanuel Vadot					dma-names = "rx", "tx";
1083c66ec88fSEmmanuel Vadot					status = "disabled";
1084c66ec88fSEmmanuel Vadot				};
1085c66ec88fSEmmanuel Vadot
1086c66ec88fSEmmanuel Vadot				uart3: serial@30880000 {
1087c66ec88fSEmmanuel Vadot					compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1088c66ec88fSEmmanuel Vadot					reg = <0x30880000 0x10000>;
1089c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
1090c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_UART3_ROOT>,
1091c66ec88fSEmmanuel Vadot						 <&clk IMX8MP_CLK_UART3_ROOT>;
1092c66ec88fSEmmanuel Vadot					clock-names = "ipg", "per";
1093c66ec88fSEmmanuel Vadot					dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>;
1094c66ec88fSEmmanuel Vadot					dma-names = "rx", "tx";
1095c66ec88fSEmmanuel Vadot					status = "disabled";
1096c66ec88fSEmmanuel Vadot				};
1097c66ec88fSEmmanuel Vadot
1098c66ec88fSEmmanuel Vadot				uart2: serial@30890000 {
1099c66ec88fSEmmanuel Vadot					compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1100c66ec88fSEmmanuel Vadot					reg = <0x30890000 0x10000>;
1101c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
1102c66ec88fSEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_UART2_ROOT>,
1103c66ec88fSEmmanuel Vadot						 <&clk IMX8MP_CLK_UART2_ROOT>;
1104c66ec88fSEmmanuel Vadot					clock-names = "ipg", "per";
1105d5b0e70fSEmmanuel Vadot					dmas = <&sdma1 24 4 0>, <&sdma1 25 4 0>;
1106d5b0e70fSEmmanuel Vadot					dma-names = "rx", "tx";
1107c66ec88fSEmmanuel Vadot					status = "disabled";
1108c66ec88fSEmmanuel Vadot				};
1109c66ec88fSEmmanuel Vadot
11105def4c47SEmmanuel Vadot				flexcan1: can@308c0000 {
11115956d97fSEmmanuel Vadot					compatible = "fsl,imx8mp-flexcan";
11125def4c47SEmmanuel Vadot					reg = <0x308c0000 0x10000>;
11135def4c47SEmmanuel Vadot					interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
11145def4c47SEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_IPG_ROOT>,
11155def4c47SEmmanuel Vadot						 <&clk IMX8MP_CLK_CAN1_ROOT>;
11165def4c47SEmmanuel Vadot					clock-names = "ipg", "per";
11175def4c47SEmmanuel Vadot					assigned-clocks = <&clk IMX8MP_CLK_CAN1>;
11185def4c47SEmmanuel Vadot					assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>;
11195def4c47SEmmanuel Vadot					assigned-clock-rates = <40000000>;
11205def4c47SEmmanuel Vadot					fsl,clk-source = /bits/ 8 <0>;
11215def4c47SEmmanuel Vadot					fsl,stop-mode = <&gpr 0x10 4>;
11225def4c47SEmmanuel Vadot					status = "disabled";
11235def4c47SEmmanuel Vadot				};
11245def4c47SEmmanuel Vadot
11255def4c47SEmmanuel Vadot				flexcan2: can@308d0000 {
11265956d97fSEmmanuel Vadot					compatible = "fsl,imx8mp-flexcan";
11275def4c47SEmmanuel Vadot					reg = <0x308d0000 0x10000>;
11285def4c47SEmmanuel Vadot					interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
11295def4c47SEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_IPG_ROOT>,
11305def4c47SEmmanuel Vadot						 <&clk IMX8MP_CLK_CAN2_ROOT>;
11315def4c47SEmmanuel Vadot					clock-names = "ipg", "per";
11325def4c47SEmmanuel Vadot					assigned-clocks = <&clk IMX8MP_CLK_CAN2>;
11335def4c47SEmmanuel Vadot					assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>;
11345def4c47SEmmanuel Vadot					assigned-clock-rates = <40000000>;
11355def4c47SEmmanuel Vadot					fsl,clk-source = /bits/ 8 <0>;
11365def4c47SEmmanuel Vadot					fsl,stop-mode = <&gpr 0x10 5>;
11375def4c47SEmmanuel Vadot					status = "disabled";
11385def4c47SEmmanuel Vadot				};
1139cb7aa33aSEmmanuel Vadot			};
11405def4c47SEmmanuel Vadot
1141c66ec88fSEmmanuel Vadot			crypto: crypto@30900000 {
1142c66ec88fSEmmanuel Vadot				compatible = "fsl,sec-v4.0";
1143c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1144c66ec88fSEmmanuel Vadot				#size-cells = <1>;
1145c66ec88fSEmmanuel Vadot				reg = <0x30900000 0x40000>;
1146c66ec88fSEmmanuel Vadot				ranges = <0 0x30900000 0x40000>;
1147c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
1148c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_AHB>,
1149c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_IPG_ROOT>;
1150c66ec88fSEmmanuel Vadot				clock-names = "aclk", "ipg";
1151c66ec88fSEmmanuel Vadot
1152c66ec88fSEmmanuel Vadot				sec_jr0: jr@1000 {
1153c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v4.0-job-ring";
1154c66ec88fSEmmanuel Vadot					reg = <0x1000 0x1000>;
1155c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1156b97ee269SEmmanuel Vadot					status = "disabled";
1157c66ec88fSEmmanuel Vadot				};
1158c66ec88fSEmmanuel Vadot
1159c66ec88fSEmmanuel Vadot				sec_jr1: jr@2000 {
1160c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v4.0-job-ring";
1161c66ec88fSEmmanuel Vadot					reg = <0x2000 0x1000>;
1162c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1163c66ec88fSEmmanuel Vadot				};
1164c66ec88fSEmmanuel Vadot
1165c66ec88fSEmmanuel Vadot				sec_jr2: jr@3000 {
1166c66ec88fSEmmanuel Vadot					compatible = "fsl,sec-v4.0-job-ring";
1167c66ec88fSEmmanuel Vadot					reg = <0x3000 0x1000>;
1168c66ec88fSEmmanuel Vadot					interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
1169c66ec88fSEmmanuel Vadot				};
1170c66ec88fSEmmanuel Vadot			};
1171c66ec88fSEmmanuel Vadot
1172c66ec88fSEmmanuel Vadot			i2c1: i2c@30a20000 {
1173c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1174c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1175c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1176c66ec88fSEmmanuel Vadot				reg = <0x30a20000 0x10000>;
1177c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1178c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_I2C1_ROOT>;
1179c66ec88fSEmmanuel Vadot				status = "disabled";
1180c66ec88fSEmmanuel Vadot			};
1181c66ec88fSEmmanuel Vadot
1182c66ec88fSEmmanuel Vadot			i2c2: i2c@30a30000 {
1183c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1184c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1185c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1186c66ec88fSEmmanuel Vadot				reg = <0x30a30000 0x10000>;
1187c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
1188c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_I2C2_ROOT>;
1189c66ec88fSEmmanuel Vadot				status = "disabled";
1190c66ec88fSEmmanuel Vadot			};
1191c66ec88fSEmmanuel Vadot
1192c66ec88fSEmmanuel Vadot			i2c3: i2c@30a40000 {
1193c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1194c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1195c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1196c66ec88fSEmmanuel Vadot				reg = <0x30a40000 0x10000>;
1197c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1198c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_I2C3_ROOT>;
1199c66ec88fSEmmanuel Vadot				status = "disabled";
1200c66ec88fSEmmanuel Vadot			};
1201c66ec88fSEmmanuel Vadot
1202c66ec88fSEmmanuel Vadot			i2c4: i2c@30a50000 {
1203c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1204c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1205c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1206c66ec88fSEmmanuel Vadot				reg = <0x30a50000 0x10000>;
1207c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
1208c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_I2C4_ROOT>;
1209c66ec88fSEmmanuel Vadot				status = "disabled";
1210c66ec88fSEmmanuel Vadot			};
1211c66ec88fSEmmanuel Vadot
1212c66ec88fSEmmanuel Vadot			uart4: serial@30a60000 {
1213c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1214c66ec88fSEmmanuel Vadot				reg = <0x30a60000 0x10000>;
1215c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1216c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_UART4_ROOT>,
1217c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_UART4_ROOT>;
1218c66ec88fSEmmanuel Vadot				clock-names = "ipg", "per";
1219c66ec88fSEmmanuel Vadot				dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>;
1220c66ec88fSEmmanuel Vadot				dma-names = "rx", "tx";
1221c66ec88fSEmmanuel Vadot				status = "disabled";
1222c66ec88fSEmmanuel Vadot			};
1223c66ec88fSEmmanuel Vadot
1224c66ec88fSEmmanuel Vadot			mu: mailbox@30aa0000 {
1225c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-mu", "fsl,imx6sx-mu";
1226c66ec88fSEmmanuel Vadot				reg = <0x30aa0000 0x10000>;
1227c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
1228c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MU_ROOT>;
1229c66ec88fSEmmanuel Vadot				#mbox-cells = <2>;
1230c66ec88fSEmmanuel Vadot			};
1231c66ec88fSEmmanuel Vadot
1232354d7675SEmmanuel Vadot			mu2: mailbox@30e60000 {
1233354d7675SEmmanuel Vadot				compatible = "fsl,imx8mp-mu", "fsl,imx6sx-mu";
1234354d7675SEmmanuel Vadot				reg = <0x30e60000 0x10000>;
1235354d7675SEmmanuel Vadot				interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1236354d7675SEmmanuel Vadot				#mbox-cells = <2>;
1237354d7675SEmmanuel Vadot				status = "disabled";
1238354d7675SEmmanuel Vadot			};
1239354d7675SEmmanuel Vadot
1240c66ec88fSEmmanuel Vadot			i2c5: i2c@30ad0000 {
1241c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1242c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1243c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1244c66ec88fSEmmanuel Vadot				reg = <0x30ad0000 0x10000>;
1245c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
1246c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_I2C5_ROOT>;
1247c66ec88fSEmmanuel Vadot				status = "disabled";
1248c66ec88fSEmmanuel Vadot			};
1249c66ec88fSEmmanuel Vadot
1250c66ec88fSEmmanuel Vadot			i2c6: i2c@30ae0000 {
1251c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1252c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1253c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1254c66ec88fSEmmanuel Vadot				reg = <0x30ae0000 0x10000>;
1255c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
1256c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_I2C6_ROOT>;
1257c66ec88fSEmmanuel Vadot				status = "disabled";
1258c66ec88fSEmmanuel Vadot			};
1259c66ec88fSEmmanuel Vadot
1260c66ec88fSEmmanuel Vadot			usdhc1: mmc@30b40000 {
1261d5b0e70fSEmmanuel Vadot				compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
1262c66ec88fSEmmanuel Vadot				reg = <0x30b40000 0x10000>;
1263c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
1264*b2d2a78aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_IPG_ROOT>,
1265c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_NAND_USDHC_BUS>,
1266c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_USDHC1_ROOT>;
1267c66ec88fSEmmanuel Vadot				clock-names = "ipg", "ahb", "per";
1268c66ec88fSEmmanuel Vadot				fsl,tuning-start-tap = <20>;
1269c66ec88fSEmmanuel Vadot				fsl,tuning-step = <2>;
1270c66ec88fSEmmanuel Vadot				bus-width = <4>;
1271c66ec88fSEmmanuel Vadot				status = "disabled";
1272c66ec88fSEmmanuel Vadot			};
1273c66ec88fSEmmanuel Vadot
1274c66ec88fSEmmanuel Vadot			usdhc2: mmc@30b50000 {
1275d5b0e70fSEmmanuel Vadot				compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
1276c66ec88fSEmmanuel Vadot				reg = <0x30b50000 0x10000>;
1277c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
1278*b2d2a78aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_IPG_ROOT>,
1279c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_NAND_USDHC_BUS>,
1280c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_USDHC2_ROOT>;
1281c66ec88fSEmmanuel Vadot				clock-names = "ipg", "ahb", "per";
1282c66ec88fSEmmanuel Vadot				fsl,tuning-start-tap = <20>;
1283c66ec88fSEmmanuel Vadot				fsl,tuning-step = <2>;
1284c66ec88fSEmmanuel Vadot				bus-width = <4>;
1285c66ec88fSEmmanuel Vadot				status = "disabled";
1286c66ec88fSEmmanuel Vadot			};
1287c66ec88fSEmmanuel Vadot
1288c66ec88fSEmmanuel Vadot			usdhc3: mmc@30b60000 {
1289d5b0e70fSEmmanuel Vadot				compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
1290c66ec88fSEmmanuel Vadot				reg = <0x30b60000 0x10000>;
1291c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
1292*b2d2a78aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_IPG_ROOT>,
1293c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_NAND_USDHC_BUS>,
1294c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_USDHC3_ROOT>;
1295c66ec88fSEmmanuel Vadot				clock-names = "ipg", "ahb", "per";
1296c66ec88fSEmmanuel Vadot				fsl,tuning-start-tap = <20>;
1297c66ec88fSEmmanuel Vadot				fsl,tuning-step = <2>;
1298c66ec88fSEmmanuel Vadot				bus-width = <4>;
1299c66ec88fSEmmanuel Vadot				status = "disabled";
1300c66ec88fSEmmanuel Vadot			};
1301c66ec88fSEmmanuel Vadot
13025956d97fSEmmanuel Vadot			flexspi: spi@30bb0000 {
13035956d97fSEmmanuel Vadot				compatible = "nxp,imx8mp-fspi";
13045956d97fSEmmanuel Vadot				reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>;
13055956d97fSEmmanuel Vadot				reg-names = "fspi_base", "fspi_mmap";
13065956d97fSEmmanuel Vadot				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
13075956d97fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_QSPI_ROOT>,
13085956d97fSEmmanuel Vadot					 <&clk IMX8MP_CLK_QSPI_ROOT>;
13098cc087a1SEmmanuel Vadot				clock-names = "fspi_en", "fspi";
13105956d97fSEmmanuel Vadot				assigned-clock-rates = <80000000>;
13115956d97fSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_QSPI>;
13125956d97fSEmmanuel Vadot				#address-cells = <1>;
13135956d97fSEmmanuel Vadot				#size-cells = <0>;
13145956d97fSEmmanuel Vadot				status = "disabled";
13155956d97fSEmmanuel Vadot			};
13165956d97fSEmmanuel Vadot
1317c66ec88fSEmmanuel Vadot			sdma1: dma-controller@30bd0000 {
1318c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma";
1319c66ec88fSEmmanuel Vadot				reg = <0x30bd0000 0x10000>;
1320c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
1321c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_SDMA1_ROOT>,
1322c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_AHB>;
1323c66ec88fSEmmanuel Vadot				clock-names = "ipg", "ahb";
1324c66ec88fSEmmanuel Vadot				#dma-cells = <3>;
1325c66ec88fSEmmanuel Vadot				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
1326c66ec88fSEmmanuel Vadot			};
1327c66ec88fSEmmanuel Vadot
1328c66ec88fSEmmanuel Vadot			fec: ethernet@30be0000 {
1329c66ec88fSEmmanuel Vadot				compatible = "fsl,imx8mp-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec";
1330c66ec88fSEmmanuel Vadot				reg = <0x30be0000 0x10000>;
1331c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1332c66ec88fSEmmanuel Vadot					     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
13336be33864SEmmanuel Vadot					     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
13346be33864SEmmanuel Vadot					     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
1335c66ec88fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_ENET1_ROOT>,
1336c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_SIM_ENET_ROOT>,
1337c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_ENET_TIMER>,
1338c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_ENET_REF>,
1339c66ec88fSEmmanuel Vadot					 <&clk IMX8MP_CLK_ENET_PHY_REF>;
1340c66ec88fSEmmanuel Vadot				clock-names = "ipg", "ahb", "ptp",
1341c66ec88fSEmmanuel Vadot					      "enet_clk_ref", "enet_out";
1342c66ec88fSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>,
1343c66ec88fSEmmanuel Vadot						  <&clk IMX8MP_CLK_ENET_TIMER>,
1344c66ec88fSEmmanuel Vadot						  <&clk IMX8MP_CLK_ENET_REF>,
13455def4c47SEmmanuel Vadot						  <&clk IMX8MP_CLK_ENET_PHY_REF>;
1346c66ec88fSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>,
1347c66ec88fSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_100M>,
13485def4c47SEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_125M>,
13495def4c47SEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_50M>;
13505def4c47SEmmanuel Vadot				assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
1351c66ec88fSEmmanuel Vadot				fsl,num-tx-queues = <3>;
1352c66ec88fSEmmanuel Vadot				fsl,num-rx-queues = <3>;
13535def4c47SEmmanuel Vadot				nvmem-cells = <&eth_mac1>;
13545def4c47SEmmanuel Vadot				nvmem-cell-names = "mac-address";
13555def4c47SEmmanuel Vadot				fsl,stop-mode = <&gpr 0x10 3>;
1356c66ec88fSEmmanuel Vadot				status = "disabled";
1357c66ec88fSEmmanuel Vadot			};
13582eb4d8dcSEmmanuel Vadot
13592eb4d8dcSEmmanuel Vadot			eqos: ethernet@30bf0000 {
13602eb4d8dcSEmmanuel Vadot				compatible = "nxp,imx8mp-dwmac-eqos", "snps,dwmac-5.10a";
13612eb4d8dcSEmmanuel Vadot				reg = <0x30bf0000 0x10000>;
13625956d97fSEmmanuel Vadot				interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
13635956d97fSEmmanuel Vadot					     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
13645956d97fSEmmanuel Vadot				interrupt-names = "macirq", "eth_wake_irq";
13652eb4d8dcSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_ENET_QOS_ROOT>,
13662eb4d8dcSEmmanuel Vadot					 <&clk IMX8MP_CLK_QOS_ENET_ROOT>,
13672eb4d8dcSEmmanuel Vadot					 <&clk IMX8MP_CLK_ENET_QOS_TIMER>,
13682eb4d8dcSEmmanuel Vadot					 <&clk IMX8MP_CLK_ENET_QOS>;
13692eb4d8dcSEmmanuel Vadot				clock-names = "stmmaceth", "pclk", "ptp_ref", "tx";
13702eb4d8dcSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>,
13712eb4d8dcSEmmanuel Vadot						  <&clk IMX8MP_CLK_ENET_QOS_TIMER>,
13722eb4d8dcSEmmanuel Vadot						  <&clk IMX8MP_CLK_ENET_QOS>;
13732eb4d8dcSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>,
13742eb4d8dcSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_100M>,
13752eb4d8dcSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_125M>;
13762eb4d8dcSEmmanuel Vadot				assigned-clock-rates = <0>, <100000000>, <125000000>;
1377e67e8565SEmmanuel Vadot				nvmem-cells = <&eth_mac2>;
1378e67e8565SEmmanuel Vadot				nvmem-cell-names = "mac-address";
13792eb4d8dcSEmmanuel Vadot				intf_mode = <&gpr 0x4>;
13802eb4d8dcSEmmanuel Vadot				status = "disabled";
13812eb4d8dcSEmmanuel Vadot			};
1382c66ec88fSEmmanuel Vadot		};
1383c66ec88fSEmmanuel Vadot
1384f126890aSEmmanuel Vadot		aips5: bus@30c00000 {
1385f126890aSEmmanuel Vadot			compatible = "fsl,aips-bus", "simple-bus";
1386f126890aSEmmanuel Vadot			reg = <0x30c00000 0x400000>;
1387f126890aSEmmanuel Vadot			#address-cells = <1>;
1388f126890aSEmmanuel Vadot			#size-cells = <1>;
1389f126890aSEmmanuel Vadot			ranges;
1390f126890aSEmmanuel Vadot
1391f126890aSEmmanuel Vadot			spba-bus@30c00000 {
1392f126890aSEmmanuel Vadot				compatible = "fsl,spba-bus", "simple-bus";
1393f126890aSEmmanuel Vadot				reg = <0x30c00000 0x100000>;
1394f126890aSEmmanuel Vadot				#address-cells = <1>;
1395f126890aSEmmanuel Vadot				#size-cells = <1>;
1396f126890aSEmmanuel Vadot				ranges;
1397f126890aSEmmanuel Vadot
1398f126890aSEmmanuel Vadot				sai1: sai@30c10000 {
1399f126890aSEmmanuel Vadot					compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1400f126890aSEmmanuel Vadot					reg = <0x30c10000 0x10000>;
1401f126890aSEmmanuel Vadot					#sound-dai-cells = <0>;
1402f126890aSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_IPG>,
1403f126890aSEmmanuel Vadot						 <&clk IMX8MP_CLK_DUMMY>,
1404f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>,
1405f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK2>,
1406f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK3>;
1407f126890aSEmmanuel Vadot					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1408f126890aSEmmanuel Vadot					dmas = <&sdma2 0 2 0>, <&sdma2 1 2 0>;
1409f126890aSEmmanuel Vadot					dma-names = "rx", "tx";
1410f126890aSEmmanuel Vadot					interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
1411f126890aSEmmanuel Vadot					status = "disabled";
1412f126890aSEmmanuel Vadot				};
1413f126890aSEmmanuel Vadot
1414f126890aSEmmanuel Vadot				sai2: sai@30c20000 {
1415f126890aSEmmanuel Vadot					compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1416f126890aSEmmanuel Vadot					reg = <0x30c20000 0x10000>;
1417f126890aSEmmanuel Vadot					#sound-dai-cells = <0>;
1418f126890aSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_IPG>,
1419f126890aSEmmanuel Vadot						 <&clk IMX8MP_CLK_DUMMY>,
1420f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_MCLK1>,
1421f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_MCLK2>,
1422f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_MCLK3>;
1423f126890aSEmmanuel Vadot					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1424f126890aSEmmanuel Vadot					dmas = <&sdma2 2 2 0>, <&sdma2 3 2 0>;
1425f126890aSEmmanuel Vadot					dma-names = "rx", "tx";
1426f126890aSEmmanuel Vadot					interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1427f126890aSEmmanuel Vadot					status = "disabled";
1428f126890aSEmmanuel Vadot				};
1429f126890aSEmmanuel Vadot
1430f126890aSEmmanuel Vadot				sai3: sai@30c30000 {
1431f126890aSEmmanuel Vadot					compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1432f126890aSEmmanuel Vadot					reg = <0x30c30000 0x10000>;
1433f126890aSEmmanuel Vadot					#sound-dai-cells = <0>;
1434f126890aSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG>,
1435f126890aSEmmanuel Vadot						 <&clk IMX8MP_CLK_DUMMY>,
1436f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>,
1437f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK2>,
1438f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK3>;
1439f126890aSEmmanuel Vadot					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1440f126890aSEmmanuel Vadot					dmas = <&sdma2 4 2 0>, <&sdma2 5 2 0>;
1441f126890aSEmmanuel Vadot					dma-names = "rx", "tx";
1442f126890aSEmmanuel Vadot					interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
1443f126890aSEmmanuel Vadot					status = "disabled";
1444f126890aSEmmanuel Vadot				};
1445f126890aSEmmanuel Vadot
1446f126890aSEmmanuel Vadot				sai5: sai@30c50000 {
1447f126890aSEmmanuel Vadot					compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1448f126890aSEmmanuel Vadot					reg = <0x30c50000 0x10000>;
1449f126890aSEmmanuel Vadot					#sound-dai-cells = <0>;
1450f126890aSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_IPG>,
1451f126890aSEmmanuel Vadot						 <&clk IMX8MP_CLK_DUMMY>,
1452f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK1>,
1453f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK2>,
1454f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK3>;
1455f126890aSEmmanuel Vadot					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1456f126890aSEmmanuel Vadot					dmas = <&sdma2 8 2 0>, <&sdma2 9 2 0>;
1457f126890aSEmmanuel Vadot					dma-names = "rx", "tx";
1458f126890aSEmmanuel Vadot					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1459f126890aSEmmanuel Vadot					status = "disabled";
1460f126890aSEmmanuel Vadot				};
1461f126890aSEmmanuel Vadot
1462f126890aSEmmanuel Vadot				sai6: sai@30c60000 {
1463f126890aSEmmanuel Vadot					compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1464f126890aSEmmanuel Vadot					reg = <0x30c60000 0x10000>;
1465f126890aSEmmanuel Vadot					#sound-dai-cells = <0>;
1466f126890aSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_IPG>,
1467f126890aSEmmanuel Vadot						 <&clk IMX8MP_CLK_DUMMY>,
1468f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_MCLK1>,
1469f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_MCLK2>,
1470f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_MCLK3>;
1471f126890aSEmmanuel Vadot					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1472f126890aSEmmanuel Vadot					dmas = <&sdma2 10 2 0>, <&sdma2 11 2 0>;
1473f126890aSEmmanuel Vadot					dma-names = "rx", "tx";
1474f126890aSEmmanuel Vadot					interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1475f126890aSEmmanuel Vadot					status = "disabled";
1476f126890aSEmmanuel Vadot				};
1477f126890aSEmmanuel Vadot
1478f126890aSEmmanuel Vadot				sai7: sai@30c80000 {
1479f126890aSEmmanuel Vadot					compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1480f126890aSEmmanuel Vadot					reg = <0x30c80000 0x10000>;
1481f126890aSEmmanuel Vadot					#sound-dai-cells = <0>;
1482f126890aSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_IPG>,
1483f126890aSEmmanuel Vadot						 <&clk IMX8MP_CLK_DUMMY>,
1484f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_MCLK1>,
1485f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_MCLK2>,
1486f126890aSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_MCLK3>;
1487f126890aSEmmanuel Vadot					clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1488f126890aSEmmanuel Vadot					dmas = <&sdma2 12 2 0>, <&sdma2 13 2 0>;
1489f126890aSEmmanuel Vadot					dma-names = "rx", "tx";
1490f126890aSEmmanuel Vadot					interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1491f126890aSEmmanuel Vadot					status = "disabled";
1492f126890aSEmmanuel Vadot				};
149384943d6fSEmmanuel Vadot
149484943d6fSEmmanuel Vadot				easrc: easrc@30c90000 {
149584943d6fSEmmanuel Vadot					compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
149684943d6fSEmmanuel Vadot					reg = <0x30c90000 0x10000>;
149784943d6fSEmmanuel Vadot					interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
149884943d6fSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>;
149984943d6fSEmmanuel Vadot					clock-names = "mem";
150084943d6fSEmmanuel Vadot					dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
150184943d6fSEmmanuel Vadot					       <&sdma2 18 23 0> , <&sdma2 19 23 0>,
150284943d6fSEmmanuel Vadot					       <&sdma2 20 23 0> , <&sdma2 21 23 0>,
150384943d6fSEmmanuel Vadot					       <&sdma2 22 23 0> , <&sdma2 23 23 0>;
150484943d6fSEmmanuel Vadot					dma-names = "ctx0_rx", "ctx0_tx",
150584943d6fSEmmanuel Vadot						    "ctx1_rx", "ctx1_tx",
150684943d6fSEmmanuel Vadot						    "ctx2_rx", "ctx2_tx",
150784943d6fSEmmanuel Vadot						    "ctx3_rx", "ctx3_tx";
150884943d6fSEmmanuel Vadot					firmware-name = "imx/easrc/easrc-imx8mn.bin";
150984943d6fSEmmanuel Vadot					fsl,asrc-rate = <8000>;
151084943d6fSEmmanuel Vadot					fsl,asrc-format = <2>;
151184943d6fSEmmanuel Vadot					status = "disabled";
151284943d6fSEmmanuel Vadot				};
151384943d6fSEmmanuel Vadot
151484943d6fSEmmanuel Vadot				micfil: audio-controller@30ca0000 {
151584943d6fSEmmanuel Vadot					compatible = "fsl,imx8mp-micfil";
151684943d6fSEmmanuel Vadot					reg = <0x30ca0000 0x10000>;
151784943d6fSEmmanuel Vadot					#sound-dai-cells = <0>;
151884943d6fSEmmanuel Vadot					interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
151984943d6fSEmmanuel Vadot						     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
152084943d6fSEmmanuel Vadot						     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
152184943d6fSEmmanuel Vadot						     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
152284943d6fSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_IPG>,
152384943d6fSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_SEL>,
152484943d6fSEmmanuel Vadot						 <&clk IMX8MP_AUDIO_PLL1_OUT>,
152584943d6fSEmmanuel Vadot						 <&clk IMX8MP_AUDIO_PLL2_OUT>,
152684943d6fSEmmanuel Vadot						 <&clk IMX8MP_CLK_EXT3>;
152784943d6fSEmmanuel Vadot					clock-names = "ipg_clk", "ipg_clk_app",
152884943d6fSEmmanuel Vadot						      "pll8k", "pll11k", "clkext3";
152984943d6fSEmmanuel Vadot					dmas = <&sdma2 24 25 0x80000000>;
153084943d6fSEmmanuel Vadot					dma-names = "rx";
153184943d6fSEmmanuel Vadot					status = "disabled";
153284943d6fSEmmanuel Vadot				};
153384943d6fSEmmanuel Vadot
15347d0873ebSEmmanuel Vadot				aud2htx: aud2htx@30cb0000 {
15357d0873ebSEmmanuel Vadot					compatible = "fsl,imx8mp-aud2htx";
15367d0873ebSEmmanuel Vadot					reg = <0x30cb0000 0x10000>;
15377d0873ebSEmmanuel Vadot					interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
15387d0873ebSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_AUD2HTX_IPG>;
15397d0873ebSEmmanuel Vadot					clock-names = "bus";
15407d0873ebSEmmanuel Vadot					dmas = <&sdma2 26 2 0>;
15417d0873ebSEmmanuel Vadot					dma-names = "tx";
15427d0873ebSEmmanuel Vadot					status = "disabled";
15437d0873ebSEmmanuel Vadot				};
15440e8011faSEmmanuel Vadot
15450e8011faSEmmanuel Vadot				xcvr: xcvr@30cc0000 {
15460e8011faSEmmanuel Vadot					compatible = "fsl,imx8mp-xcvr";
15470e8011faSEmmanuel Vadot					reg = <0x30cc0000 0x800>,
15480e8011faSEmmanuel Vadot					      <0x30cc0800 0x400>,
15490e8011faSEmmanuel Vadot					      <0x30cc0c00 0x080>,
15500e8011faSEmmanuel Vadot					      <0x30cc0e00 0x080>;
15510e8011faSEmmanuel Vadot					reg-names = "ram", "regs", "rxfifo",
15520e8011faSEmmanuel Vadot						    "txfifo";
15530e8011faSEmmanuel Vadot					interrupts = /* XCVR IRQ 0 */
15540e8011faSEmmanuel Vadot						     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
15550e8011faSEmmanuel Vadot						     /* XCVR IRQ 1 */
15560e8011faSEmmanuel Vadot						     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
15570e8011faSEmmanuel Vadot						     /* XCVR PHY - SPDIF wakeup IRQ */
15580e8011faSEmmanuel Vadot						     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
15590e8011faSEmmanuel Vadot					clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_EARC_IPG>,
15600e8011faSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_EARC_PHY>,
15610e8011faSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SPBA2_ROOT>,
15620e8011faSEmmanuel Vadot						 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_AUDPLL_ROOT>;
15630e8011faSEmmanuel Vadot					clock-names = "ipg", "phy", "spba", "pll_ipg";
15640e8011faSEmmanuel Vadot					dmas = <&sdma2 30 2 0>, <&sdma2 31 2 0>;
15650e8011faSEmmanuel Vadot					dma-names = "rx", "tx";
15660e8011faSEmmanuel Vadot					resets = <&audio_blk_ctrl 0>;
15670e8011faSEmmanuel Vadot					status = "disabled";
15680e8011faSEmmanuel Vadot				};
1569f126890aSEmmanuel Vadot			};
1570f126890aSEmmanuel Vadot
1571f126890aSEmmanuel Vadot			sdma3: dma-controller@30e00000 {
1572f126890aSEmmanuel Vadot				compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma";
1573f126890aSEmmanuel Vadot				reg = <0x30e00000 0x10000>;
1574f126890aSEmmanuel Vadot				#dma-cells = <3>;
1575f126890aSEmmanuel Vadot				clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SDMA3_ROOT>,
1576f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_AUDIO_ROOT>;
1577f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb";
1578f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
1579f126890aSEmmanuel Vadot				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
1580f126890aSEmmanuel Vadot			};
1581f126890aSEmmanuel Vadot
1582f126890aSEmmanuel Vadot			sdma2: dma-controller@30e10000 {
1583f126890aSEmmanuel Vadot				compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma";
1584f126890aSEmmanuel Vadot				reg = <0x30e10000 0x10000>;
1585f126890aSEmmanuel Vadot				#dma-cells = <3>;
1586f126890aSEmmanuel Vadot				clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SDMA2_ROOT>,
1587f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_AUDIO_ROOT>;
1588f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb";
1589f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1590f126890aSEmmanuel Vadot				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
1591f126890aSEmmanuel Vadot			};
1592f126890aSEmmanuel Vadot
1593f126890aSEmmanuel Vadot			audio_blk_ctrl: clock-controller@30e20000 {
1594f126890aSEmmanuel Vadot				compatible = "fsl,imx8mp-audio-blk-ctrl";
1595f126890aSEmmanuel Vadot				reg = <0x30e20000 0x10000>;
1596f126890aSEmmanuel Vadot				#clock-cells = <1>;
15970e8011faSEmmanuel Vadot				#reset-cells = <1>;
1598f126890aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_AUDIO_ROOT>,
1599f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_SAI1>,
1600f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_SAI2>,
1601f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_SAI3>,
1602f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_SAI5>,
1603f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_SAI6>,
1604f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_SAI7>;
1605f126890aSEmmanuel Vadot				clock-names = "ahb",
1606f126890aSEmmanuel Vadot					      "sai1", "sai2", "sai3",
1607f126890aSEmmanuel Vadot					      "sai5", "sai6", "sai7";
1608f126890aSEmmanuel Vadot				power-domains = <&pgc_audio>;
16090e8011faSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_AUDIO_PLL1>,
16100e8011faSEmmanuel Vadot						  <&clk IMX8MP_AUDIO_PLL2>;
16110e8011faSEmmanuel Vadot				assigned-clock-rates = <393216000>, <361267200>;
1612f126890aSEmmanuel Vadot			};
1613f126890aSEmmanuel Vadot		};
1614f126890aSEmmanuel Vadot
1615b97ee269SEmmanuel Vadot		noc: interconnect@32700000 {
1616b97ee269SEmmanuel Vadot			compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc";
1617b97ee269SEmmanuel Vadot			reg = <0x32700000 0x100000>;
1618b97ee269SEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_NOC>;
1619b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
1620b97ee269SEmmanuel Vadot			operating-points-v2 = <&noc_opp_table>;
1621b97ee269SEmmanuel Vadot
1622b97ee269SEmmanuel Vadot			noc_opp_table: opp-table {
1623b97ee269SEmmanuel Vadot				compatible = "operating-points-v2";
1624b97ee269SEmmanuel Vadot
16258bab661aSEmmanuel Vadot				opp-200000000 {
1626b97ee269SEmmanuel Vadot					opp-hz = /bits/ 64 <200000000>;
1627b97ee269SEmmanuel Vadot				};
1628b97ee269SEmmanuel Vadot
16298bab661aSEmmanuel Vadot				opp-1000000000 {
1630b97ee269SEmmanuel Vadot					opp-hz = /bits/ 64 <1000000000>;
1631b97ee269SEmmanuel Vadot				};
1632b97ee269SEmmanuel Vadot			};
1633b97ee269SEmmanuel Vadot		};
1634b97ee269SEmmanuel Vadot
1635d5b0e70fSEmmanuel Vadot		aips4: bus@32c00000 {
1636d5b0e70fSEmmanuel Vadot			compatible = "fsl,aips-bus", "simple-bus";
1637d5b0e70fSEmmanuel Vadot			reg = <0x32c00000 0x400000>;
1638d5b0e70fSEmmanuel Vadot			#address-cells = <1>;
1639d5b0e70fSEmmanuel Vadot			#size-cells = <1>;
1640d5b0e70fSEmmanuel Vadot			ranges;
1641d5b0e70fSEmmanuel Vadot
1642f126890aSEmmanuel Vadot			isi_0: isi@32e00000 {
1643f126890aSEmmanuel Vadot				compatible = "fsl,imx8mp-isi";
1644f126890aSEmmanuel Vadot				reg = <0x32e00000 0x4000>;
1645f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
1646f126890aSEmmanuel Vadot					     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
1647f126890aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
1648f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
1649f126890aSEmmanuel Vadot				clock-names = "axi", "apb";
1650f126890aSEmmanuel Vadot				fsl,blk-ctrl = <&media_blk_ctrl>;
1651f126890aSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISI>;
1652f126890aSEmmanuel Vadot				status = "disabled";
1653f126890aSEmmanuel Vadot
1654f126890aSEmmanuel Vadot				ports {
1655f126890aSEmmanuel Vadot					#address-cells = <1>;
1656f126890aSEmmanuel Vadot					#size-cells = <0>;
1657f126890aSEmmanuel Vadot
1658f126890aSEmmanuel Vadot					port@0 {
1659f126890aSEmmanuel Vadot						reg = <0>;
1660f126890aSEmmanuel Vadot
1661f126890aSEmmanuel Vadot						isi_in_0: endpoint {
1662f126890aSEmmanuel Vadot							remote-endpoint = <&mipi_csi_0_out>;
1663f126890aSEmmanuel Vadot						};
1664f126890aSEmmanuel Vadot					};
1665f126890aSEmmanuel Vadot
1666f126890aSEmmanuel Vadot					port@1 {
1667f126890aSEmmanuel Vadot						reg = <1>;
1668f126890aSEmmanuel Vadot
1669f126890aSEmmanuel Vadot						isi_in_1: endpoint {
1670f126890aSEmmanuel Vadot							remote-endpoint = <&mipi_csi_1_out>;
1671f126890aSEmmanuel Vadot						};
1672f126890aSEmmanuel Vadot					};
1673f126890aSEmmanuel Vadot				};
1674f126890aSEmmanuel Vadot			};
1675f126890aSEmmanuel Vadot
1676*b2d2a78aSEmmanuel Vadot			isp_0: isp@32e10000 {
1677*b2d2a78aSEmmanuel Vadot				compatible = "fsl,imx8mp-isp";
1678*b2d2a78aSEmmanuel Vadot				reg = <0x32e10000 0x10000>;
1679*b2d2a78aSEmmanuel Vadot				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
1680*b2d2a78aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>,
1681*b2d2a78aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
1682*b2d2a78aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
1683*b2d2a78aSEmmanuel Vadot				clock-names = "isp", "aclk", "hclk";
1684*b2d2a78aSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISP>;
1685*b2d2a78aSEmmanuel Vadot				fsl,blk-ctrl = <&media_blk_ctrl 0>;
1686*b2d2a78aSEmmanuel Vadot				status = "disabled";
1687*b2d2a78aSEmmanuel Vadot
1688*b2d2a78aSEmmanuel Vadot				ports {
1689*b2d2a78aSEmmanuel Vadot					#address-cells = <1>;
1690*b2d2a78aSEmmanuel Vadot					#size-cells = <0>;
1691*b2d2a78aSEmmanuel Vadot
1692*b2d2a78aSEmmanuel Vadot					port@1 {
1693*b2d2a78aSEmmanuel Vadot						reg = <1>;
1694*b2d2a78aSEmmanuel Vadot					};
1695*b2d2a78aSEmmanuel Vadot				};
1696*b2d2a78aSEmmanuel Vadot			};
1697*b2d2a78aSEmmanuel Vadot
1698*b2d2a78aSEmmanuel Vadot			isp_1: isp@32e20000 {
1699*b2d2a78aSEmmanuel Vadot				compatible = "fsl,imx8mp-isp";
1700*b2d2a78aSEmmanuel Vadot				reg = <0x32e20000 0x10000>;
1701*b2d2a78aSEmmanuel Vadot				interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
1702*b2d2a78aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>,
1703*b2d2a78aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
1704*b2d2a78aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
1705*b2d2a78aSEmmanuel Vadot				clock-names = "isp", "aclk", "hclk";
1706*b2d2a78aSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISP>;
1707*b2d2a78aSEmmanuel Vadot				fsl,blk-ctrl = <&media_blk_ctrl 1>;
1708*b2d2a78aSEmmanuel Vadot				status = "disabled";
1709*b2d2a78aSEmmanuel Vadot
1710*b2d2a78aSEmmanuel Vadot				ports {
1711*b2d2a78aSEmmanuel Vadot					#address-cells = <1>;
1712*b2d2a78aSEmmanuel Vadot					#size-cells = <0>;
1713*b2d2a78aSEmmanuel Vadot
1714*b2d2a78aSEmmanuel Vadot					port@1 {
1715*b2d2a78aSEmmanuel Vadot						reg = <1>;
1716*b2d2a78aSEmmanuel Vadot					};
1717*b2d2a78aSEmmanuel Vadot				};
1718*b2d2a78aSEmmanuel Vadot			};
1719*b2d2a78aSEmmanuel Vadot
1720f126890aSEmmanuel Vadot			dewarp: dwe@32e30000 {
1721f126890aSEmmanuel Vadot				compatible = "nxp,imx8mp-dw100";
1722f126890aSEmmanuel Vadot				reg = <0x32e30000 0x10000>;
1723f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1724f126890aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
1725f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
1726f126890aSEmmanuel Vadot				clock-names = "axi", "ahb";
1727f126890aSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_DWE>;
1728f126890aSEmmanuel Vadot			};
1729f126890aSEmmanuel Vadot
1730f126890aSEmmanuel Vadot			mipi_csi_0: csi@32e40000 {
1731f126890aSEmmanuel Vadot				compatible = "fsl,imx8mp-mipi-csi2", "fsl,imx8mm-mipi-csi2";
1732f126890aSEmmanuel Vadot				reg = <0x32e40000 0x10000>;
1733f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
1734*b2d2a78aSEmmanuel Vadot				clock-frequency = <250000000>;
1735f126890aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
1736f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>,
1737f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>,
1738f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>;
1739f126890aSEmmanuel Vadot				clock-names = "pclk", "wrap", "phy", "axi";
174001950c46SEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_MEDIA_CAM1_PIX>,
174101950c46SEmmanuel Vadot						  <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>;
1742*b2d2a78aSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_250M>,
174301950c46SEmmanuel Vadot							 <&clk IMX8MP_CLK_24M>;
1744f126890aSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_1>;
1745f126890aSEmmanuel Vadot				status = "disabled";
1746f126890aSEmmanuel Vadot
1747f126890aSEmmanuel Vadot				ports {
1748f126890aSEmmanuel Vadot					#address-cells = <1>;
1749f126890aSEmmanuel Vadot					#size-cells = <0>;
1750f126890aSEmmanuel Vadot
1751f126890aSEmmanuel Vadot					port@0 {
1752f126890aSEmmanuel Vadot						reg = <0>;
1753f126890aSEmmanuel Vadot					};
1754f126890aSEmmanuel Vadot
1755f126890aSEmmanuel Vadot					port@1 {
1756f126890aSEmmanuel Vadot						reg = <1>;
1757f126890aSEmmanuel Vadot
1758f126890aSEmmanuel Vadot						mipi_csi_0_out: endpoint {
1759f126890aSEmmanuel Vadot							remote-endpoint = <&isi_in_0>;
1760f126890aSEmmanuel Vadot						};
1761f126890aSEmmanuel Vadot					};
1762f126890aSEmmanuel Vadot				};
1763f126890aSEmmanuel Vadot			};
1764f126890aSEmmanuel Vadot
1765f126890aSEmmanuel Vadot			mipi_csi_1: csi@32e50000 {
1766f126890aSEmmanuel Vadot				compatible = "fsl,imx8mp-mipi-csi2", "fsl,imx8mm-mipi-csi2";
1767f126890aSEmmanuel Vadot				reg = <0x32e50000 0x10000>;
1768f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
1769*b2d2a78aSEmmanuel Vadot				clock-frequency = <250000000>;
1770f126890aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
1771f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT>,
1772f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>,
1773f126890aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>;
1774f126890aSEmmanuel Vadot				clock-names = "pclk", "wrap", "phy", "axi";
177501950c46SEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_MEDIA_CAM2_PIX>,
177601950c46SEmmanuel Vadot						  <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>;
1777*b2d2a78aSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_250M>,
177801950c46SEmmanuel Vadot							 <&clk IMX8MP_CLK_24M>;
1779f126890aSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_2>;
1780f126890aSEmmanuel Vadot				status = "disabled";
1781f126890aSEmmanuel Vadot
1782f126890aSEmmanuel Vadot				ports {
1783f126890aSEmmanuel Vadot					#address-cells = <1>;
1784f126890aSEmmanuel Vadot					#size-cells = <0>;
1785f126890aSEmmanuel Vadot
1786f126890aSEmmanuel Vadot					port@0 {
1787f126890aSEmmanuel Vadot						reg = <0>;
1788f126890aSEmmanuel Vadot					};
1789f126890aSEmmanuel Vadot
1790f126890aSEmmanuel Vadot					port@1 {
1791f126890aSEmmanuel Vadot						reg = <1>;
1792f126890aSEmmanuel Vadot
1793f126890aSEmmanuel Vadot						mipi_csi_1_out: endpoint {
1794f126890aSEmmanuel Vadot							remote-endpoint = <&isi_in_1>;
1795f126890aSEmmanuel Vadot						};
1796f126890aSEmmanuel Vadot					};
1797f126890aSEmmanuel Vadot				};
1798f126890aSEmmanuel Vadot			};
1799f126890aSEmmanuel Vadot
1800fac71e4eSEmmanuel Vadot			mipi_dsi: dsi@32e60000 {
1801fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-mipi-dsim";
1802fac71e4eSEmmanuel Vadot				reg = <0x32e60000 0x400>;
1803fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
1804fac71e4eSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>;
1805fac71e4eSEmmanuel Vadot				clock-names = "bus_clk", "sclk_mipi";
1806fac71e4eSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_MEDIA_APB>,
1807fac71e4eSEmmanuel Vadot						  <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>;
1808fac71e4eSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
1809fac71e4eSEmmanuel Vadot							 <&clk IMX8MP_CLK_24M>;
1810fac71e4eSEmmanuel Vadot				assigned-clock-rates = <200000000>, <24000000>;
1811fac71e4eSEmmanuel Vadot				samsung,pll-clock-frequency = <24000000>;
1812fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
1813fac71e4eSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_DSI_1>;
1814fac71e4eSEmmanuel Vadot				status = "disabled";
1815fac71e4eSEmmanuel Vadot
1816fac71e4eSEmmanuel Vadot				ports {
1817fac71e4eSEmmanuel Vadot					#address-cells = <1>;
1818fac71e4eSEmmanuel Vadot					#size-cells = <0>;
1819fac71e4eSEmmanuel Vadot
1820fac71e4eSEmmanuel Vadot					port@0 {
1821fac71e4eSEmmanuel Vadot						reg = <0>;
1822fac71e4eSEmmanuel Vadot
1823fac71e4eSEmmanuel Vadot						dsim_from_lcdif1: endpoint {
1824fac71e4eSEmmanuel Vadot							remote-endpoint = <&lcdif1_to_dsim>;
1825fac71e4eSEmmanuel Vadot						};
1826fac71e4eSEmmanuel Vadot					};
18277d0873ebSEmmanuel Vadot
18287d0873ebSEmmanuel Vadot					port@1 {
18297d0873ebSEmmanuel Vadot						reg = <1>;
18307d0873ebSEmmanuel Vadot
18317d0873ebSEmmanuel Vadot						mipi_dsi_out: endpoint {
18327d0873ebSEmmanuel Vadot						};
18337d0873ebSEmmanuel Vadot					};
1834fac71e4eSEmmanuel Vadot				};
1835fac71e4eSEmmanuel Vadot			};
1836fac71e4eSEmmanuel Vadot
1837fac71e4eSEmmanuel Vadot			lcdif1: display-controller@32e80000 {
1838fac71e4eSEmmanuel Vadot				compatible = "fsl,imx8mp-lcdif";
1839fac71e4eSEmmanuel Vadot				reg = <0x32e80000 0x10000>;
1840fac71e4eSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT>,
1841fac71e4eSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
1842fac71e4eSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>;
1843fac71e4eSEmmanuel Vadot				clock-names = "pix", "axi", "disp_axi";
1844fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1845fac71e4eSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_1>;
1846fac71e4eSEmmanuel Vadot				status = "disabled";
1847fac71e4eSEmmanuel Vadot
1848fac71e4eSEmmanuel Vadot				port {
1849fac71e4eSEmmanuel Vadot					lcdif1_to_dsim: endpoint {
1850fac71e4eSEmmanuel Vadot						remote-endpoint = <&dsim_from_lcdif1>;
1851fac71e4eSEmmanuel Vadot					};
1852fac71e4eSEmmanuel Vadot				};
1853fac71e4eSEmmanuel Vadot			};
1854fac71e4eSEmmanuel Vadot
1855cb7aa33aSEmmanuel Vadot			lcdif2: display-controller@32e90000 {
1856cb7aa33aSEmmanuel Vadot				compatible = "fsl,imx8mp-lcdif";
1857cb7aa33aSEmmanuel Vadot				reg = <0x32e90000 0x10000>;
1858cb7aa33aSEmmanuel Vadot				interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1859cb7aa33aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>,
1860cb7aa33aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
1861cb7aa33aSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>;
1862cb7aa33aSEmmanuel Vadot				clock-names = "pix", "axi", "disp_axi";
1863cb7aa33aSEmmanuel Vadot				power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_2>;
1864cb7aa33aSEmmanuel Vadot				status = "disabled";
1865cb7aa33aSEmmanuel Vadot
1866cb7aa33aSEmmanuel Vadot				port {
1867cb7aa33aSEmmanuel Vadot					lcdif2_to_ldb: endpoint {
1868cb7aa33aSEmmanuel Vadot						remote-endpoint = <&ldb_from_lcdif2>;
1869cb7aa33aSEmmanuel Vadot					};
1870cb7aa33aSEmmanuel Vadot				};
1871cb7aa33aSEmmanuel Vadot			};
1872cb7aa33aSEmmanuel Vadot
1873d5b0e70fSEmmanuel Vadot			media_blk_ctrl: blk-ctrl@32ec0000 {
1874d5b0e70fSEmmanuel Vadot				compatible = "fsl,imx8mp-media-blk-ctrl",
1875fac71e4eSEmmanuel Vadot					     "syscon";
1876d5b0e70fSEmmanuel Vadot				reg = <0x32ec0000 0x10000>;
1877cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
1878cb7aa33aSEmmanuel Vadot				#size-cells = <1>;
1879d5b0e70fSEmmanuel Vadot				power-domains = <&pgc_mediamix>,
1880d5b0e70fSEmmanuel Vadot						<&pgc_mipi_phy1>,
1881d5b0e70fSEmmanuel Vadot						<&pgc_mipi_phy1>,
1882d5b0e70fSEmmanuel Vadot						<&pgc_mediamix>,
1883d5b0e70fSEmmanuel Vadot						<&pgc_mediamix>,
1884d5b0e70fSEmmanuel Vadot						<&pgc_mipi_phy2>,
1885d5b0e70fSEmmanuel Vadot						<&pgc_mediamix>,
1886d5b0e70fSEmmanuel Vadot						<&pgc_ispdwp>,
1887d5b0e70fSEmmanuel Vadot						<&pgc_ispdwp>,
1888d5b0e70fSEmmanuel Vadot						<&pgc_mipi_phy2>;
1889d5b0e70fSEmmanuel Vadot				power-domain-names = "bus", "mipi-dsi1", "mipi-csi1",
1890d5b0e70fSEmmanuel Vadot						     "lcdif1", "isi", "mipi-csi2",
1891d5b0e70fSEmmanuel Vadot						     "lcdif2", "isp", "dwe",
1892d5b0e70fSEmmanuel Vadot						     "mipi-dsi2";
18937ef62cebSEmmanuel Vadot				interconnects =
18947ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_LCDIF_RD &noc IMX8MP_ICN_MEDIA>,
18957ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_LCDIF_WR &noc IMX8MP_ICN_MEDIA>,
18967ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_ISI0 &noc IMX8MP_ICN_MEDIA>,
18977ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_ISI1 &noc IMX8MP_ICN_MEDIA>,
18987ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_ISI2 &noc IMX8MP_ICN_MEDIA>,
18997ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_ISP0 &noc IMX8MP_ICN_MEDIA>,
19007ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_ISP1 &noc IMX8MP_ICN_MEDIA>,
19017ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_DWE &noc IMX8MP_ICN_MEDIA>;
19027ef62cebSEmmanuel Vadot				interconnect-names = "lcdif-rd", "lcdif-wr", "isi0",
19037ef62cebSEmmanuel Vadot						     "isi1", "isi2", "isp0", "isp1",
19047ef62cebSEmmanuel Vadot						     "dwe";
1905d5b0e70fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
1906d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
1907d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>,
1908d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT>,
1909d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT>,
1910d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>,
1911d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>,
1912d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>;
1913d5b0e70fSEmmanuel Vadot				clock-names = "apb", "axi", "cam1", "cam2",
1914d5b0e70fSEmmanuel Vadot					      "disp1", "disp2", "isp", "phy";
1915d5b0e70fSEmmanuel Vadot
1916*b2d2a78aSEmmanuel Vadot				/*
1917*b2d2a78aSEmmanuel Vadot				 * The ISP maximum frequency is 400MHz in normal mode
1918*b2d2a78aSEmmanuel Vadot				 * and 500MHz in overdrive mode. The 400MHz operating
1919*b2d2a78aSEmmanuel Vadot				 * point hasn't been successfully tested yet, so set
1920*b2d2a78aSEmmanuel Vadot				 * IMX8MP_CLK_MEDIA_ISP to 500MHz for the time being.
1921*b2d2a78aSEmmanuel Vadot				 */
1922d5b0e70fSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_MEDIA_AXI>,
1923fac71e4eSEmmanuel Vadot						  <&clk IMX8MP_CLK_MEDIA_APB>,
1924fac71e4eSEmmanuel Vadot						  <&clk IMX8MP_CLK_MEDIA_DISP1_PIX>,
1925fac71e4eSEmmanuel Vadot						  <&clk IMX8MP_CLK_MEDIA_DISP2_PIX>,
1926*b2d2a78aSEmmanuel Vadot						  <&clk IMX8MP_CLK_MEDIA_ISP>,
1927fac71e4eSEmmanuel Vadot						  <&clk IMX8MP_VIDEO_PLL1>;
1928d5b0e70fSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
1929fac71e4eSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL1_800M>,
1930fac71e4eSEmmanuel Vadot							 <&clk IMX8MP_VIDEO_PLL1_OUT>,
1931*b2d2a78aSEmmanuel Vadot							 <&clk IMX8MP_VIDEO_PLL1_OUT>,
1932*b2d2a78aSEmmanuel Vadot							 <&clk IMX8MP_SYS_PLL2_500M>;
1933fac71e4eSEmmanuel Vadot				assigned-clock-rates = <500000000>, <200000000>,
1934*b2d2a78aSEmmanuel Vadot						       <0>, <0>, <500000000>,
1935*b2d2a78aSEmmanuel Vadot						       <1039500000>;
1936d5b0e70fSEmmanuel Vadot				#power-domain-cells = <1>;
1937cb7aa33aSEmmanuel Vadot
1938cb7aa33aSEmmanuel Vadot				lvds_bridge: bridge@5c {
1939cb7aa33aSEmmanuel Vadot					compatible = "fsl,imx8mp-ldb";
1940cb7aa33aSEmmanuel Vadot					reg = <0x5c 0x4>, <0x128 0x4>;
1941cb7aa33aSEmmanuel Vadot					reg-names = "ldb", "lvds";
19428d13bc63SEmmanuel Vadot					clocks = <&clk IMX8MP_CLK_MEDIA_LDB_ROOT>;
1943fac71e4eSEmmanuel Vadot					clock-names = "ldb";
1944cb7aa33aSEmmanuel Vadot					assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
1945cb7aa33aSEmmanuel Vadot					assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
1946cb7aa33aSEmmanuel Vadot					status = "disabled";
1947cb7aa33aSEmmanuel Vadot
1948cb7aa33aSEmmanuel Vadot					ports {
1949cb7aa33aSEmmanuel Vadot						#address-cells = <1>;
1950cb7aa33aSEmmanuel Vadot						#size-cells = <0>;
1951cb7aa33aSEmmanuel Vadot
1952cb7aa33aSEmmanuel Vadot						port@0 {
1953cb7aa33aSEmmanuel Vadot							reg = <0>;
1954cb7aa33aSEmmanuel Vadot
1955cb7aa33aSEmmanuel Vadot							ldb_from_lcdif2: endpoint {
1956cb7aa33aSEmmanuel Vadot								remote-endpoint = <&lcdif2_to_ldb>;
1957cb7aa33aSEmmanuel Vadot							};
1958cb7aa33aSEmmanuel Vadot						};
1959cb7aa33aSEmmanuel Vadot
1960cb7aa33aSEmmanuel Vadot						port@1 {
1961cb7aa33aSEmmanuel Vadot							reg = <1>;
1962cb7aa33aSEmmanuel Vadot
1963cb7aa33aSEmmanuel Vadot							ldb_lvds_ch0: endpoint {
1964cb7aa33aSEmmanuel Vadot							};
1965cb7aa33aSEmmanuel Vadot						};
1966cb7aa33aSEmmanuel Vadot
1967cb7aa33aSEmmanuel Vadot						port@2 {
1968cb7aa33aSEmmanuel Vadot							reg = <2>;
1969cb7aa33aSEmmanuel Vadot
1970cb7aa33aSEmmanuel Vadot							ldb_lvds_ch1: endpoint {
1971cb7aa33aSEmmanuel Vadot							};
1972cb7aa33aSEmmanuel Vadot						};
1973cb7aa33aSEmmanuel Vadot					};
1974cb7aa33aSEmmanuel Vadot				};
1975d5b0e70fSEmmanuel Vadot			};
1976d5b0e70fSEmmanuel Vadot
19777ef62cebSEmmanuel Vadot			pcie_phy: pcie-phy@32f00000 {
19787ef62cebSEmmanuel Vadot				compatible = "fsl,imx8mp-pcie-phy";
19797ef62cebSEmmanuel Vadot				reg = <0x32f00000 0x10000>;
19807ef62cebSEmmanuel Vadot				resets = <&src IMX8MP_RESET_PCIEPHY>,
19817ef62cebSEmmanuel Vadot					 <&src IMX8MP_RESET_PCIEPHY_PERST>;
19827ef62cebSEmmanuel Vadot				reset-names = "pciephy", "perst";
19837ef62cebSEmmanuel Vadot				power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE_PHY>;
19847ef62cebSEmmanuel Vadot				#phy-cells = <0>;
19857ef62cebSEmmanuel Vadot				status = "disabled";
19867ef62cebSEmmanuel Vadot			};
19877ef62cebSEmmanuel Vadot
1988d5b0e70fSEmmanuel Vadot			hsio_blk_ctrl: blk-ctrl@32f10000 {
1989d5b0e70fSEmmanuel Vadot				compatible = "fsl,imx8mp-hsio-blk-ctrl", "syscon";
1990d5b0e70fSEmmanuel Vadot				reg = <0x32f10000 0x24>;
1991d5b0e70fSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_USB_ROOT>,
1992d5b0e70fSEmmanuel Vadot					 <&clk IMX8MP_CLK_PCIE_ROOT>;
1993d5b0e70fSEmmanuel Vadot				clock-names = "usb", "pcie";
1994d5b0e70fSEmmanuel Vadot				power-domains = <&pgc_hsiomix>, <&pgc_hsiomix>,
1995d5b0e70fSEmmanuel Vadot						<&pgc_usb1_phy>, <&pgc_usb2_phy>,
1996d5b0e70fSEmmanuel Vadot						<&pgc_hsiomix>, <&pgc_pcie_phy>;
1997d5b0e70fSEmmanuel Vadot				power-domain-names = "bus", "usb", "usb-phy1",
1998d5b0e70fSEmmanuel Vadot						     "usb-phy2", "pcie", "pcie-phy";
19997ef62cebSEmmanuel Vadot				interconnects = <&noc IMX8MP_ICM_NOC_PCIE &noc IMX8MP_ICN_HSIO>,
20007ef62cebSEmmanuel Vadot						<&noc IMX8MP_ICM_USB1 &noc IMX8MP_ICN_HSIO>,
20017ef62cebSEmmanuel Vadot						<&noc IMX8MP_ICM_USB2 &noc IMX8MP_ICN_HSIO>,
20027ef62cebSEmmanuel Vadot						<&noc IMX8MP_ICM_PCIE &noc IMX8MP_ICN_HSIO>;
20037ef62cebSEmmanuel Vadot				interconnect-names = "noc-pcie", "usb1", "usb2", "pcie";
2004d5b0e70fSEmmanuel Vadot				#power-domain-cells = <1>;
2005cb7aa33aSEmmanuel Vadot				#clock-cells = <0>;
2006d5b0e70fSEmmanuel Vadot			};
20077d0873ebSEmmanuel Vadot
20087d0873ebSEmmanuel Vadot			hdmi_blk_ctrl: blk-ctrl@32fc0000 {
20097d0873ebSEmmanuel Vadot				compatible = "fsl,imx8mp-hdmi-blk-ctrl", "syscon";
20107d0873ebSEmmanuel Vadot				reg = <0x32fc0000 0x1000>;
20117d0873ebSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_HDMI_APB>,
20127d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_ROOT>,
20137d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_REF_266M>,
20147d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_24M>,
20157d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_FDCC_TST>;
20167d0873ebSEmmanuel Vadot				clock-names = "apb", "axi", "ref_266m", "ref_24m", "fdcc";
20177d0873ebSEmmanuel Vadot				power-domains = <&pgc_hdmimix>, <&pgc_hdmimix>,
20187d0873ebSEmmanuel Vadot						<&pgc_hdmimix>, <&pgc_hdmimix>,
20197d0873ebSEmmanuel Vadot						<&pgc_hdmimix>, <&pgc_hdmimix>,
20207d0873ebSEmmanuel Vadot						<&pgc_hdmimix>, <&pgc_hdmi_phy>,
20217d0873ebSEmmanuel Vadot						<&pgc_hdmimix>, <&pgc_hdmimix>;
20227d0873ebSEmmanuel Vadot				power-domain-names = "bus", "irqsteer", "lcdif",
20237d0873ebSEmmanuel Vadot						     "pai", "pvi", "trng",
20247d0873ebSEmmanuel Vadot						     "hdmi-tx", "hdmi-tx-phy",
20257d0873ebSEmmanuel Vadot						     "hdcp", "hrv";
20267d0873ebSEmmanuel Vadot				#power-domain-cells = <1>;
20277d0873ebSEmmanuel Vadot			};
20287d0873ebSEmmanuel Vadot
20297d0873ebSEmmanuel Vadot			irqsteer_hdmi: interrupt-controller@32fc2000 {
20300e8011faSEmmanuel Vadot				compatible = "fsl,imx8mp-irqsteer", "fsl,imx-irqsteer";
20317d0873ebSEmmanuel Vadot				reg = <0x32fc2000 0x1000>;
20327d0873ebSEmmanuel Vadot				interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
20337d0873ebSEmmanuel Vadot				interrupt-controller;
20347d0873ebSEmmanuel Vadot				#interrupt-cells = <1>;
20357d0873ebSEmmanuel Vadot				fsl,channel = <1>;
20367d0873ebSEmmanuel Vadot				fsl,num-irqs = <64>;
20377d0873ebSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_HDMI_APB>;
20387d0873ebSEmmanuel Vadot				clock-names = "ipg";
20397d0873ebSEmmanuel Vadot				power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_IRQSTEER>;
20407d0873ebSEmmanuel Vadot			};
20417d0873ebSEmmanuel Vadot
20427d0873ebSEmmanuel Vadot			hdmi_pvi: display-bridge@32fc4000 {
20437d0873ebSEmmanuel Vadot				compatible = "fsl,imx8mp-hdmi-pvi";
20447d0873ebSEmmanuel Vadot				reg = <0x32fc4000 0x1000>;
20457d0873ebSEmmanuel Vadot				interrupt-parent = <&irqsteer_hdmi>;
20467d0873ebSEmmanuel Vadot				interrupts = <12>;
20477d0873ebSEmmanuel Vadot				power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PVI>;
20487d0873ebSEmmanuel Vadot				status = "disabled";
20497d0873ebSEmmanuel Vadot
20507d0873ebSEmmanuel Vadot				ports {
20517d0873ebSEmmanuel Vadot					#address-cells = <1>;
20527d0873ebSEmmanuel Vadot					#size-cells = <0>;
20537d0873ebSEmmanuel Vadot
20547d0873ebSEmmanuel Vadot					port@0 {
20557d0873ebSEmmanuel Vadot						reg = <0>;
20567d0873ebSEmmanuel Vadot						pvi_from_lcdif3: endpoint {
20577d0873ebSEmmanuel Vadot							remote-endpoint = <&lcdif3_to_pvi>;
20587d0873ebSEmmanuel Vadot						};
20597d0873ebSEmmanuel Vadot					};
20607d0873ebSEmmanuel Vadot
20617d0873ebSEmmanuel Vadot					port@1 {
20627d0873ebSEmmanuel Vadot						reg = <1>;
20637d0873ebSEmmanuel Vadot						pvi_to_hdmi_tx: endpoint {
20647d0873ebSEmmanuel Vadot							remote-endpoint = <&hdmi_tx_from_pvi>;
20657d0873ebSEmmanuel Vadot						};
20667d0873ebSEmmanuel Vadot					};
20677d0873ebSEmmanuel Vadot				};
20687d0873ebSEmmanuel Vadot			};
20697d0873ebSEmmanuel Vadot
20707d0873ebSEmmanuel Vadot			lcdif3: display-controller@32fc6000 {
20717d0873ebSEmmanuel Vadot				compatible = "fsl,imx8mp-lcdif";
20727d0873ebSEmmanuel Vadot				reg = <0x32fc6000 0x1000>;
20737d0873ebSEmmanuel Vadot				interrupt-parent = <&irqsteer_hdmi>;
20747d0873ebSEmmanuel Vadot				interrupts = <8>;
20757d0873ebSEmmanuel Vadot				clocks = <&hdmi_tx_phy>,
20767d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_APB>,
20777d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_ROOT>;
20787d0873ebSEmmanuel Vadot				clock-names = "pix", "axi", "disp_axi";
20797d0873ebSEmmanuel Vadot				power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_LCDIF>;
20807d0873ebSEmmanuel Vadot				status = "disabled";
20817d0873ebSEmmanuel Vadot
20827d0873ebSEmmanuel Vadot				port {
20837d0873ebSEmmanuel Vadot					lcdif3_to_pvi: endpoint {
20847d0873ebSEmmanuel Vadot						remote-endpoint = <&pvi_from_lcdif3>;
20857d0873ebSEmmanuel Vadot					};
20867d0873ebSEmmanuel Vadot				};
20877d0873ebSEmmanuel Vadot			};
20887d0873ebSEmmanuel Vadot
20897d0873ebSEmmanuel Vadot			hdmi_tx: hdmi@32fd8000 {
20907d0873ebSEmmanuel Vadot				compatible = "fsl,imx8mp-hdmi-tx";
20917d0873ebSEmmanuel Vadot				reg = <0x32fd8000 0x7eff>;
20927d0873ebSEmmanuel Vadot				interrupt-parent = <&irqsteer_hdmi>;
20937d0873ebSEmmanuel Vadot				interrupts = <0>;
20947d0873ebSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_HDMI_APB>,
20957d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_REF_266M>,
20967d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_32K>,
20977d0873ebSEmmanuel Vadot					 <&hdmi_tx_phy>;
20987d0873ebSEmmanuel Vadot				clock-names = "iahb", "isfr", "cec", "pix";
20997d0873ebSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_HDMI_REF_266M>;
21007d0873ebSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>;
21017d0873ebSEmmanuel Vadot				power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX>;
21027d0873ebSEmmanuel Vadot				reg-io-width = <1>;
21037d0873ebSEmmanuel Vadot				status = "disabled";
21047d0873ebSEmmanuel Vadot
21057d0873ebSEmmanuel Vadot				ports {
21067d0873ebSEmmanuel Vadot					#address-cells = <1>;
21077d0873ebSEmmanuel Vadot					#size-cells = <0>;
21087d0873ebSEmmanuel Vadot
21097d0873ebSEmmanuel Vadot					port@0 {
21107d0873ebSEmmanuel Vadot						reg = <0>;
21117d0873ebSEmmanuel Vadot
21127d0873ebSEmmanuel Vadot						hdmi_tx_from_pvi: endpoint {
21137d0873ebSEmmanuel Vadot							remote-endpoint = <&pvi_to_hdmi_tx>;
21147d0873ebSEmmanuel Vadot						};
21157d0873ebSEmmanuel Vadot					};
21167d0873ebSEmmanuel Vadot
21177d0873ebSEmmanuel Vadot					port@1 {
21187d0873ebSEmmanuel Vadot						reg = <1>;
21197d0873ebSEmmanuel Vadot						/* Point endpoint to the HDMI connector */
21207d0873ebSEmmanuel Vadot					};
21217d0873ebSEmmanuel Vadot				};
21227d0873ebSEmmanuel Vadot			};
21237d0873ebSEmmanuel Vadot
21247d0873ebSEmmanuel Vadot			hdmi_tx_phy: phy@32fdff00 {
21257d0873ebSEmmanuel Vadot				compatible = "fsl,imx8mp-hdmi-phy";
21267d0873ebSEmmanuel Vadot				reg = <0x32fdff00 0x100>;
21277d0873ebSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_HDMI_APB>,
21287d0873ebSEmmanuel Vadot					 <&clk IMX8MP_CLK_HDMI_24M>;
21297d0873ebSEmmanuel Vadot				clock-names = "apb", "ref";
21307d0873ebSEmmanuel Vadot				assigned-clocks = <&clk IMX8MP_CLK_HDMI_24M>;
21317d0873ebSEmmanuel Vadot				assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
21327d0873ebSEmmanuel Vadot				power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX_PHY>;
21337d0873ebSEmmanuel Vadot				#clock-cells = <0>;
21347d0873ebSEmmanuel Vadot				#phy-cells = <0>;
21357d0873ebSEmmanuel Vadot				status = "disabled";
21367d0873ebSEmmanuel Vadot			};
2137d5b0e70fSEmmanuel Vadot		};
2138d5b0e70fSEmmanuel Vadot
21397ef62cebSEmmanuel Vadot		pcie: pcie@33800000 {
21407ef62cebSEmmanuel Vadot			compatible = "fsl,imx8mp-pcie";
21417ef62cebSEmmanuel Vadot			reg = <0x33800000 0x400000>, <0x1ff00000 0x80000>;
21427ef62cebSEmmanuel Vadot			reg-names = "dbi", "config";
2143cb7aa33aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
2144cb7aa33aSEmmanuel Vadot				 <&clk IMX8MP_CLK_HSIO_AXI>,
2145cb7aa33aSEmmanuel Vadot				 <&clk IMX8MP_CLK_PCIE_ROOT>;
2146cb7aa33aSEmmanuel Vadot			clock-names = "pcie", "pcie_bus", "pcie_aux";
2147cb7aa33aSEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
2148cb7aa33aSEmmanuel Vadot			assigned-clock-rates = <10000000>;
2149cb7aa33aSEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
21507ef62cebSEmmanuel Vadot			#address-cells = <3>;
21517ef62cebSEmmanuel Vadot			#size-cells = <2>;
21527ef62cebSEmmanuel Vadot			device_type = "pci";
21537ef62cebSEmmanuel Vadot			bus-range = <0x00 0xff>;
21547ef62cebSEmmanuel Vadot			ranges = <0x81000000 0 0x00000000 0x1ff80000 0 0x00010000>, /* downstream I/O 64KB */
21557ef62cebSEmmanuel Vadot				 <0x82000000 0 0x18000000 0x18000000 0 0x07f00000>; /* non-prefetchable memory */
21567ef62cebSEmmanuel Vadot			num-lanes = <1>;
21577ef62cebSEmmanuel Vadot			num-viewport = <4>;
21587ef62cebSEmmanuel Vadot			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
21597ef62cebSEmmanuel Vadot			interrupt-names = "msi";
21607ef62cebSEmmanuel Vadot			#interrupt-cells = <1>;
21617ef62cebSEmmanuel Vadot			interrupt-map-mask = <0 0 0 0x7>;
21627ef62cebSEmmanuel Vadot			interrupt-map = <0 0 0 1 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
21637ef62cebSEmmanuel Vadot					<0 0 0 2 &gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
21647ef62cebSEmmanuel Vadot					<0 0 0 3 &gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
21657ef62cebSEmmanuel Vadot					<0 0 0 4 &gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
21667ef62cebSEmmanuel Vadot			fsl,max-link-speed = <3>;
21677ef62cebSEmmanuel Vadot			linux,pci-domain = <0>;
21687ef62cebSEmmanuel Vadot			power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>;
21697ef62cebSEmmanuel Vadot			resets = <&src IMX8MP_RESET_PCIE_CTRL_APPS_EN>,
21707ef62cebSEmmanuel Vadot				 <&src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF>;
21717ef62cebSEmmanuel Vadot			reset-names = "apps", "turnoff";
21727ef62cebSEmmanuel Vadot			phys = <&pcie_phy>;
21737ef62cebSEmmanuel Vadot			phy-names = "pcie-phy";
21747ef62cebSEmmanuel Vadot			status = "disabled";
21757ef62cebSEmmanuel Vadot		};
21767ef62cebSEmmanuel Vadot
2177fac71e4eSEmmanuel Vadot		pcie_ep: pcie-ep@33800000 {
2178fac71e4eSEmmanuel Vadot			compatible = "fsl,imx8mp-pcie-ep";
2179fac71e4eSEmmanuel Vadot			reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>;
2180fac71e4eSEmmanuel Vadot			reg-names = "dbi", "addr_space";
2181fac71e4eSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
2182fac71e4eSEmmanuel Vadot				 <&clk IMX8MP_CLK_HSIO_AXI>,
2183fac71e4eSEmmanuel Vadot				 <&clk IMX8MP_CLK_PCIE_ROOT>;
2184fac71e4eSEmmanuel Vadot			clock-names = "pcie", "pcie_bus", "pcie_aux";
2185fac71e4eSEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
2186fac71e4eSEmmanuel Vadot			assigned-clock-rates = <10000000>;
2187fac71e4eSEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
2188fac71e4eSEmmanuel Vadot			num-lanes = <1>;
2189fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; /* eDMA */
2190fac71e4eSEmmanuel Vadot			interrupt-names = "dma";
2191fac71e4eSEmmanuel Vadot			fsl,max-link-speed = <3>;
2192fac71e4eSEmmanuel Vadot			power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>;
2193fac71e4eSEmmanuel Vadot			resets = <&src IMX8MP_RESET_PCIE_CTRL_APPS_EN>,
2194fac71e4eSEmmanuel Vadot				 <&src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF>;
2195fac71e4eSEmmanuel Vadot			reset-names = "apps", "turnoff";
2196fac71e4eSEmmanuel Vadot			phys = <&pcie_phy>;
2197fac71e4eSEmmanuel Vadot			phy-names = "pcie-phy";
2198fac71e4eSEmmanuel Vadot			num-ib-windows = <4>;
2199fac71e4eSEmmanuel Vadot			num-ob-windows = <4>;
2200fac71e4eSEmmanuel Vadot			status = "disabled";
2201fac71e4eSEmmanuel Vadot		};
2202fac71e4eSEmmanuel Vadot
2203d5b0e70fSEmmanuel Vadot		gpu3d: gpu@38000000 {
2204d5b0e70fSEmmanuel Vadot			compatible = "vivante,gc";
2205d5b0e70fSEmmanuel Vadot			reg = <0x38000000 0x8000>;
2206d5b0e70fSEmmanuel Vadot			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
2207d5b0e70fSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_GPU3D_ROOT>,
2208d5b0e70fSEmmanuel Vadot				 <&clk IMX8MP_CLK_GPU3D_SHADER_CORE>,
2209d5b0e70fSEmmanuel Vadot				 <&clk IMX8MP_CLK_GPU_ROOT>,
2210d5b0e70fSEmmanuel Vadot				 <&clk IMX8MP_CLK_GPU_AHB>;
2211d5b0e70fSEmmanuel Vadot			clock-names = "core", "shader", "bus", "reg";
2212d5b0e70fSEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_GPU3D_CORE>,
2213d5b0e70fSEmmanuel Vadot					  <&clk IMX8MP_CLK_GPU3D_SHADER_CORE>;
2214d5b0e70fSEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
2215d5b0e70fSEmmanuel Vadot						 <&clk IMX8MP_SYS_PLL1_800M>;
2216d5b0e70fSEmmanuel Vadot			assigned-clock-rates = <800000000>, <800000000>;
2217d5b0e70fSEmmanuel Vadot			power-domains = <&pgc_gpu3d>;
2218d5b0e70fSEmmanuel Vadot		};
2219d5b0e70fSEmmanuel Vadot
2220d5b0e70fSEmmanuel Vadot		gpu2d: gpu@38008000 {
2221d5b0e70fSEmmanuel Vadot			compatible = "vivante,gc";
2222d5b0e70fSEmmanuel Vadot			reg = <0x38008000 0x8000>;
2223d5b0e70fSEmmanuel Vadot			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
2224d5b0e70fSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_GPU2D_ROOT>,
2225d5b0e70fSEmmanuel Vadot				 <&clk IMX8MP_CLK_GPU_ROOT>,
2226d5b0e70fSEmmanuel Vadot				 <&clk IMX8MP_CLK_GPU_AHB>;
2227d5b0e70fSEmmanuel Vadot			clock-names = "core", "bus", "reg";
2228d5b0e70fSEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_GPU2D_CORE>;
2229d5b0e70fSEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
2230d5b0e70fSEmmanuel Vadot			assigned-clock-rates = <800000000>;
2231d5b0e70fSEmmanuel Vadot			power-domains = <&pgc_gpu2d>;
2232d5b0e70fSEmmanuel Vadot		};
2233d5b0e70fSEmmanuel Vadot
2234cb7aa33aSEmmanuel Vadot		vpu_g1: video-codec@38300000 {
2235cb7aa33aSEmmanuel Vadot			compatible = "nxp,imx8mm-vpu-g1";
2236cb7aa33aSEmmanuel Vadot			reg = <0x38300000 0x10000>;
2237cb7aa33aSEmmanuel Vadot			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2238cb7aa33aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>;
2239cb7aa33aSEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_VPU_G1>;
2240cb7aa33aSEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>;
2241cb7aa33aSEmmanuel Vadot			assigned-clock-rates = <600000000>;
2242cb7aa33aSEmmanuel Vadot			power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G1>;
2243cb7aa33aSEmmanuel Vadot		};
2244cb7aa33aSEmmanuel Vadot
2245cb7aa33aSEmmanuel Vadot		vpu_g2: video-codec@38310000 {
2246cb7aa33aSEmmanuel Vadot			compatible = "nxp,imx8mq-vpu-g2";
2247cb7aa33aSEmmanuel Vadot			reg = <0x38310000 0x10000>;
2248cb7aa33aSEmmanuel Vadot			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
2249cb7aa33aSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>;
2250cb7aa33aSEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_VPU_G2>;
2251cb7aa33aSEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>;
2252cb7aa33aSEmmanuel Vadot			assigned-clock-rates = <500000000>;
2253cb7aa33aSEmmanuel Vadot			power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G2>;
2254cb7aa33aSEmmanuel Vadot		};
2255cb7aa33aSEmmanuel Vadot
22567ef62cebSEmmanuel Vadot		vpumix_blk_ctrl: blk-ctrl@38330000 {
22577ef62cebSEmmanuel Vadot			compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon";
22587ef62cebSEmmanuel Vadot			reg = <0x38330000 0x100>;
22597ef62cebSEmmanuel Vadot			#power-domain-cells = <1>;
22607ef62cebSEmmanuel Vadot			power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
22617ef62cebSEmmanuel Vadot					<&pgc_vpu_g2>, <&pgc_vpu_vc8000e>;
22627ef62cebSEmmanuel Vadot			power-domain-names = "bus", "g1", "g2", "vc8000e";
22637ef62cebSEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>,
22647ef62cebSEmmanuel Vadot				 <&clk IMX8MP_CLK_VPU_G2_ROOT>,
22657ef62cebSEmmanuel Vadot				 <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
22667ef62cebSEmmanuel Vadot			clock-names = "g1", "g2", "vc8000e";
2267cb7aa33aSEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_VPU_BUS>, <&clk IMX8MP_VPU_PLL>;
2268cb7aa33aSEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>;
2269cb7aa33aSEmmanuel Vadot			assigned-clock-rates = <600000000>, <600000000>;
22707ef62cebSEmmanuel Vadot			interconnects = <&noc IMX8MP_ICM_VPU_G1 &noc IMX8MP_ICN_VIDEO>,
22717ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_VPU_G2 &noc IMX8MP_ICN_VIDEO>,
22727ef62cebSEmmanuel Vadot					<&noc IMX8MP_ICM_VPU_H1 &noc IMX8MP_ICN_VIDEO>;
22737ef62cebSEmmanuel Vadot			interconnect-names = "g1", "g2", "vc8000e";
22747ef62cebSEmmanuel Vadot		};
22757ef62cebSEmmanuel Vadot
22768d13bc63SEmmanuel Vadot		npu: npu@38500000 {
22778d13bc63SEmmanuel Vadot			compatible = "vivante,gc";
22788d13bc63SEmmanuel Vadot			reg = <0x38500000 0x200000>;
22798d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
22808d13bc63SEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_NPU_ROOT>,
22818d13bc63SEmmanuel Vadot				 <&clk IMX8MP_CLK_NPU_ROOT>,
22828d13bc63SEmmanuel Vadot				 <&clk IMX8MP_CLK_ML_AXI>,
22838d13bc63SEmmanuel Vadot				 <&clk IMX8MP_CLK_ML_AHB>;
22848d13bc63SEmmanuel Vadot			clock-names = "core", "shader", "bus", "reg";
22858d13bc63SEmmanuel Vadot			power-domains = <&pgc_mlmix>;
22868d13bc63SEmmanuel Vadot		};
22878d13bc63SEmmanuel Vadot
2288c66ec88fSEmmanuel Vadot		gic: interrupt-controller@38800000 {
2289c66ec88fSEmmanuel Vadot			compatible = "arm,gic-v3";
2290c66ec88fSEmmanuel Vadot			reg = <0x38800000 0x10000>,
2291c66ec88fSEmmanuel Vadot			      <0x38880000 0xc0000>;
2292c66ec88fSEmmanuel Vadot			#interrupt-cells = <3>;
2293c66ec88fSEmmanuel Vadot			interrupt-controller;
2294c66ec88fSEmmanuel Vadot			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
2295c66ec88fSEmmanuel Vadot			interrupt-parent = <&gic>;
2296c66ec88fSEmmanuel Vadot		};
2297c66ec88fSEmmanuel Vadot
2298d5b0e70fSEmmanuel Vadot		edacmc: memory-controller@3d400000 {
2299d5b0e70fSEmmanuel Vadot			compatible = "snps,ddrc-3.80a";
2300d5b0e70fSEmmanuel Vadot			reg = <0x3d400000 0x400000>;
2301d5b0e70fSEmmanuel Vadot			interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
2302d5b0e70fSEmmanuel Vadot		};
2303d5b0e70fSEmmanuel Vadot
2304c66ec88fSEmmanuel Vadot		ddr-pmu@3d800000 {
2305c66ec88fSEmmanuel Vadot			compatible = "fsl,imx8mp-ddr-pmu", "fsl,imx8m-ddr-pmu";
2306c66ec88fSEmmanuel Vadot			reg = <0x3d800000 0x400000>;
2307c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2308c66ec88fSEmmanuel Vadot		};
23095def4c47SEmmanuel Vadot
23105def4c47SEmmanuel Vadot		usb3_phy0: usb-phy@381f0040 {
23115def4c47SEmmanuel Vadot			compatible = "fsl,imx8mp-usb-phy";
23125def4c47SEmmanuel Vadot			reg = <0x381f0040 0x40>;
23135def4c47SEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_USB_PHY_ROOT>;
23145def4c47SEmmanuel Vadot			clock-names = "phy";
23155def4c47SEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_USB_PHY_REF>;
23165def4c47SEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
2317d5b0e70fSEmmanuel Vadot			power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB_PHY1>;
23185def4c47SEmmanuel Vadot			#phy-cells = <0>;
23195def4c47SEmmanuel Vadot			status = "disabled";
23205def4c47SEmmanuel Vadot		};
23215def4c47SEmmanuel Vadot
23225def4c47SEmmanuel Vadot		usb3_0: usb@32f10100 {
23235def4c47SEmmanuel Vadot			compatible = "fsl,imx8mp-dwc3";
2324c9ccf3a3SEmmanuel Vadot			reg = <0x32f10100 0x8>,
2325c9ccf3a3SEmmanuel Vadot			      <0x381f0000 0x20>;
23265def4c47SEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
23278bab661aSEmmanuel Vadot				 <&clk IMX8MP_CLK_USB_SUSP>;
23285def4c47SEmmanuel Vadot			clock-names = "hsio", "suspend";
23295def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
2330d5b0e70fSEmmanuel Vadot			power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>;
23315def4c47SEmmanuel Vadot			#address-cells = <1>;
23325def4c47SEmmanuel Vadot			#size-cells = <1>;
23335def4c47SEmmanuel Vadot			dma-ranges = <0x40000000 0x40000000 0xc0000000>;
23345def4c47SEmmanuel Vadot			ranges;
23355def4c47SEmmanuel Vadot			status = "disabled";
23365def4c47SEmmanuel Vadot
23372eb4d8dcSEmmanuel Vadot			usb_dwc3_0: usb@38100000 {
23385def4c47SEmmanuel Vadot				compatible = "snps,dwc3";
23395def4c47SEmmanuel Vadot				reg = <0x38100000 0x10000>;
23408bab661aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_USB_ROOT>,
23415def4c47SEmmanuel Vadot					 <&clk IMX8MP_CLK_USB_CORE_REF>,
23428bab661aSEmmanuel Vadot					 <&clk IMX8MP_CLK_USB_SUSP>;
23435def4c47SEmmanuel Vadot				clock-names = "bus_early", "ref", "suspend";
23445def4c47SEmmanuel Vadot				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
23455def4c47SEmmanuel Vadot				phys = <&usb3_phy0>, <&usb3_phy0>;
23465def4c47SEmmanuel Vadot				phy-names = "usb2-phy", "usb3-phy";
23477ef62cebSEmmanuel Vadot				snps,gfladj-refclk-lpm-sel-quirk;
234884943d6fSEmmanuel Vadot				snps,parkmode-disable-ss-quirk;
23495def4c47SEmmanuel Vadot			};
23505def4c47SEmmanuel Vadot
23515def4c47SEmmanuel Vadot		};
23525def4c47SEmmanuel Vadot
23535def4c47SEmmanuel Vadot		usb3_phy1: usb-phy@382f0040 {
23545def4c47SEmmanuel Vadot			compatible = "fsl,imx8mp-usb-phy";
23555def4c47SEmmanuel Vadot			reg = <0x382f0040 0x40>;
23565def4c47SEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_USB_PHY_ROOT>;
23575def4c47SEmmanuel Vadot			clock-names = "phy";
23585def4c47SEmmanuel Vadot			assigned-clocks = <&clk IMX8MP_CLK_USB_PHY_REF>;
23595def4c47SEmmanuel Vadot			assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
2360d5b0e70fSEmmanuel Vadot			power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB_PHY2>;
23615def4c47SEmmanuel Vadot			#phy-cells = <0>;
2362c9ccf3a3SEmmanuel Vadot			status = "disabled";
23635def4c47SEmmanuel Vadot		};
23645def4c47SEmmanuel Vadot
23655def4c47SEmmanuel Vadot		usb3_1: usb@32f10108 {
23665def4c47SEmmanuel Vadot			compatible = "fsl,imx8mp-dwc3";
2367c9ccf3a3SEmmanuel Vadot			reg = <0x32f10108 0x8>,
2368c9ccf3a3SEmmanuel Vadot			      <0x382f0000 0x20>;
23695def4c47SEmmanuel Vadot			clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
23708bab661aSEmmanuel Vadot				 <&clk IMX8MP_CLK_USB_SUSP>;
23715def4c47SEmmanuel Vadot			clock-names = "hsio", "suspend";
23725def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
2373d5b0e70fSEmmanuel Vadot			power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>;
23745def4c47SEmmanuel Vadot			#address-cells = <1>;
23755def4c47SEmmanuel Vadot			#size-cells = <1>;
23765def4c47SEmmanuel Vadot			dma-ranges = <0x40000000 0x40000000 0xc0000000>;
23775def4c47SEmmanuel Vadot			ranges;
23785def4c47SEmmanuel Vadot			status = "disabled";
23795def4c47SEmmanuel Vadot
23802eb4d8dcSEmmanuel Vadot			usb_dwc3_1: usb@38200000 {
23815def4c47SEmmanuel Vadot				compatible = "snps,dwc3";
23825def4c47SEmmanuel Vadot				reg = <0x38200000 0x10000>;
23838bab661aSEmmanuel Vadot				clocks = <&clk IMX8MP_CLK_USB_ROOT>,
23845def4c47SEmmanuel Vadot					 <&clk IMX8MP_CLK_USB_CORE_REF>,
23858bab661aSEmmanuel Vadot					 <&clk IMX8MP_CLK_USB_SUSP>;
23865def4c47SEmmanuel Vadot				clock-names = "bus_early", "ref", "suspend";
23875def4c47SEmmanuel Vadot				interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
23885def4c47SEmmanuel Vadot				phys = <&usb3_phy1>, <&usb3_phy1>;
23895def4c47SEmmanuel Vadot				phy-names = "usb2-phy", "usb3-phy";
23907ef62cebSEmmanuel Vadot				snps,gfladj-refclk-lpm-sel-quirk;
239184943d6fSEmmanuel Vadot				snps,parkmode-disable-ss-quirk;
23925def4c47SEmmanuel Vadot			};
23935def4c47SEmmanuel Vadot		};
2394354d7675SEmmanuel Vadot
2395354d7675SEmmanuel Vadot		dsp: dsp@3b6e8000 {
2396354d7675SEmmanuel Vadot			compatible = "fsl,imx8mp-dsp";
2397354d7675SEmmanuel Vadot			reg = <0x3b6e8000 0x88000>;
2398354d7675SEmmanuel Vadot			mbox-names = "txdb0", "txdb1",
2399354d7675SEmmanuel Vadot				"rxdb0", "rxdb1";
2400354d7675SEmmanuel Vadot			mboxes = <&mu2 2 0>, <&mu2 2 1>,
2401354d7675SEmmanuel Vadot				<&mu2 3 0>, <&mu2 3 1>;
2402354d7675SEmmanuel Vadot			memory-region = <&dsp_reserved>;
2403354d7675SEmmanuel Vadot			status = "disabled";
2404354d7675SEmmanuel Vadot		};
2405c66ec88fSEmmanuel Vadot	};
2406c66ec88fSEmmanuel Vadot};
2407