xref: /rk3399_ARM-atf/fdts/stm32mp151.dtsi (revision e6a0994c02f8b93cc98d0f72f673209ff0e2634b)
1277d6af5SYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2277d6af5SYann Gautier/*
3*b8816d3cSYann Gautier * Copyright (c) 2017-2024, STMicroelectronics - All Rights Reserved
4277d6af5SYann Gautier * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5277d6af5SYann Gautier */
6277d6af5SYann Gautier#include <dt-bindings/interrupt-controller/arm-gic.h>
7277d6af5SYann Gautier#include <dt-bindings/clock/stm32mp1-clks.h>
8277d6af5SYann Gautier#include <dt-bindings/reset/stm32mp1-resets.h>
9277d6af5SYann Gautier
10277d6af5SYann Gautier/ {
11277d6af5SYann Gautier	#address-cells = <1>;
12277d6af5SYann Gautier	#size-cells = <1>;
13277d6af5SYann Gautier
14277d6af5SYann Gautier	cpus {
15277d6af5SYann Gautier		#address-cells = <1>;
16277d6af5SYann Gautier		#size-cells = <0>;
17277d6af5SYann Gautier
18277d6af5SYann Gautier		cpu0: cpu@0 {
19277d6af5SYann Gautier			compatible = "arm,cortex-a7";
20277d6af5SYann Gautier			device_type = "cpu";
21277d6af5SYann Gautier			reg = <0>;
22ff8767cbSNicolas Le Bayon			nvmem-cells = <&part_number_otp>;
23ff8767cbSNicolas Le Bayon			nvmem-cell-names = "part_number";
24277d6af5SYann Gautier		};
25277d6af5SYann Gautier	};
26277d6af5SYann Gautier
27277d6af5SYann Gautier	psci {
28277d6af5SYann Gautier		compatible = "arm,psci-1.0";
29277d6af5SYann Gautier		method = "smc";
30277d6af5SYann Gautier	};
31277d6af5SYann Gautier
32277d6af5SYann Gautier	intc: interrupt-controller@a0021000 {
33277d6af5SYann Gautier		compatible = "arm,cortex-a7-gic";
34277d6af5SYann Gautier		#interrupt-cells = <3>;
35277d6af5SYann Gautier		interrupt-controller;
36277d6af5SYann Gautier		reg = <0xa0021000 0x1000>,
37277d6af5SYann Gautier		      <0xa0022000 0x2000>;
38277d6af5SYann Gautier	};
39277d6af5SYann Gautier
40277d6af5SYann Gautier	clocks {
41277d6af5SYann Gautier		clk_hse: clk-hse {
42277d6af5SYann Gautier			#clock-cells = <0>;
43277d6af5SYann Gautier			compatible = "fixed-clock";
44277d6af5SYann Gautier			clock-frequency = <24000000>;
45277d6af5SYann Gautier		};
46277d6af5SYann Gautier
47277d6af5SYann Gautier		clk_hsi: clk-hsi {
48277d6af5SYann Gautier			#clock-cells = <0>;
49277d6af5SYann Gautier			compatible = "fixed-clock";
50277d6af5SYann Gautier			clock-frequency = <64000000>;
51277d6af5SYann Gautier		};
52277d6af5SYann Gautier
53277d6af5SYann Gautier		clk_lse: clk-lse {
54277d6af5SYann Gautier			#clock-cells = <0>;
55277d6af5SYann Gautier			compatible = "fixed-clock";
56277d6af5SYann Gautier			clock-frequency = <32768>;
57277d6af5SYann Gautier		};
58277d6af5SYann Gautier
59277d6af5SYann Gautier		clk_lsi: clk-lsi {
60277d6af5SYann Gautier			#clock-cells = <0>;
61277d6af5SYann Gautier			compatible = "fixed-clock";
62277d6af5SYann Gautier			clock-frequency = <32000>;
63277d6af5SYann Gautier		};
64277d6af5SYann Gautier
65277d6af5SYann Gautier		clk_csi: clk-csi {
66277d6af5SYann Gautier			#clock-cells = <0>;
67277d6af5SYann Gautier			compatible = "fixed-clock";
68277d6af5SYann Gautier			clock-frequency = <4000000>;
69277d6af5SYann Gautier		};
70277d6af5SYann Gautier	};
71277d6af5SYann Gautier
72277d6af5SYann Gautier	soc {
73277d6af5SYann Gautier		compatible = "simple-bus";
74277d6af5SYann Gautier		#address-cells = <1>;
75277d6af5SYann Gautier		#size-cells = <1>;
76277d6af5SYann Gautier		interrupt-parent = <&intc>;
77277d6af5SYann Gautier		ranges;
78277d6af5SYann Gautier
79277d6af5SYann Gautier		timers12: timer@40006000 {
80277d6af5SYann Gautier			#address-cells = <1>;
81277d6af5SYann Gautier			#size-cells = <0>;
82277d6af5SYann Gautier			compatible = "st,stm32-timers";
83277d6af5SYann Gautier			reg = <0x40006000 0x400>;
84277d6af5SYann Gautier			clocks = <&rcc TIM12_K>;
85277d6af5SYann Gautier			clock-names = "int";
86277d6af5SYann Gautier			status = "disabled";
87277d6af5SYann Gautier		};
88277d6af5SYann Gautier
89277d6af5SYann Gautier		usart2: serial@4000e000 {
90277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
91277d6af5SYann Gautier			reg = <0x4000e000 0x400>;
92277d6af5SYann Gautier			interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
93277d6af5SYann Gautier			clocks = <&rcc USART2_K>;
94277d6af5SYann Gautier			resets = <&rcc USART2_R>;
95277d6af5SYann Gautier			status = "disabled";
96277d6af5SYann Gautier		};
97277d6af5SYann Gautier
98277d6af5SYann Gautier		usart3: serial@4000f000 {
99277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
100277d6af5SYann Gautier			reg = <0x4000f000 0x400>;
101277d6af5SYann Gautier			interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
102277d6af5SYann Gautier			clocks = <&rcc USART3_K>;
103277d6af5SYann Gautier			resets = <&rcc USART3_R>;
104277d6af5SYann Gautier			status = "disabled";
105277d6af5SYann Gautier		};
106277d6af5SYann Gautier
107277d6af5SYann Gautier		uart4: serial@40010000 {
108277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
109277d6af5SYann Gautier			reg = <0x40010000 0x400>;
110277d6af5SYann Gautier			interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
111277d6af5SYann Gautier			clocks = <&rcc UART4_K>;
112277d6af5SYann Gautier			resets = <&rcc UART4_R>;
113277d6af5SYann Gautier			wakeup-source;
114277d6af5SYann Gautier			status = "disabled";
115277d6af5SYann Gautier		};
116277d6af5SYann Gautier
117277d6af5SYann Gautier		uart5: serial@40011000 {
118277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
119277d6af5SYann Gautier			reg = <0x40011000 0x400>;
120277d6af5SYann Gautier			interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
121277d6af5SYann Gautier			clocks = <&rcc UART5_K>;
122277d6af5SYann Gautier			resets = <&rcc UART5_R>;
123277d6af5SYann Gautier			status = "disabled";
124277d6af5SYann Gautier		};
125277d6af5SYann Gautier
1263ef2208bSGrzegorz Szymaszek		i2c2: i2c@40013000 {
1273ef2208bSGrzegorz Szymaszek			compatible = "st,stm32mp15-i2c";
1283ef2208bSGrzegorz Szymaszek			reg = <0x40013000 0x400>;
1293ef2208bSGrzegorz Szymaszek			interrupt-names = "event", "error";
130600c8f7dSYann Gautier			interrupts-extended = <&exti 22 IRQ_TYPE_LEVEL_HIGH>,
1313ef2208bSGrzegorz Szymaszek					      <&intc GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
1323ef2208bSGrzegorz Szymaszek			clocks = <&rcc I2C2_K>;
1333ef2208bSGrzegorz Szymaszek			resets = <&rcc I2C2_R>;
1343ef2208bSGrzegorz Szymaszek			#address-cells = <1>;
1353ef2208bSGrzegorz Szymaszek			#size-cells = <0>;
1363ef2208bSGrzegorz Szymaszek			st,syscfg-fmp = <&syscfg 0x4 0x2>;
1373ef2208bSGrzegorz Szymaszek			wakeup-source;
1383ef2208bSGrzegorz Szymaszek			status = "disabled";
1393ef2208bSGrzegorz Szymaszek		};
1403ef2208bSGrzegorz Szymaszek
141277d6af5SYann Gautier		uart7: serial@40018000 {
142277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
143277d6af5SYann Gautier			reg = <0x40018000 0x400>;
144277d6af5SYann Gautier			interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
145277d6af5SYann Gautier			clocks = <&rcc UART7_K>;
146277d6af5SYann Gautier			resets = <&rcc UART7_R>;
147277d6af5SYann Gautier			status = "disabled";
148277d6af5SYann Gautier		};
149277d6af5SYann Gautier
150277d6af5SYann Gautier		uart8: serial@40019000 {
151277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
152277d6af5SYann Gautier			reg = <0x40019000 0x400>;
153277d6af5SYann Gautier			interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
154277d6af5SYann Gautier			clocks = <&rcc UART8_K>;
155277d6af5SYann Gautier			resets = <&rcc UART8_R>;
156277d6af5SYann Gautier			status = "disabled";
157277d6af5SYann Gautier		};
158277d6af5SYann Gautier
159277d6af5SYann Gautier		usart6: serial@44003000 {
160277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
161277d6af5SYann Gautier			reg = <0x44003000 0x400>;
162277d6af5SYann Gautier			interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
163277d6af5SYann Gautier			clocks = <&rcc USART6_K>;
164277d6af5SYann Gautier			resets = <&rcc USART6_R>;
165277d6af5SYann Gautier			status = "disabled";
166277d6af5SYann Gautier		};
167277d6af5SYann Gautier
168277d6af5SYann Gautier		timers15: timer@44006000 {
169277d6af5SYann Gautier			#address-cells = <1>;
170277d6af5SYann Gautier			#size-cells = <0>;
171277d6af5SYann Gautier			compatible = "st,stm32-timers";
172277d6af5SYann Gautier			reg = <0x44006000 0x400>;
173277d6af5SYann Gautier			clocks = <&rcc TIM15_K>;
174277d6af5SYann Gautier			clock-names = "int";
175277d6af5SYann Gautier			status = "disabled";
176277d6af5SYann Gautier		};
177277d6af5SYann Gautier
178277d6af5SYann Gautier		usbotg_hs: usb-otg@49000000 {
179e8a953a9SYann Gautier			compatible = "st,stm32mp15-hsotg", "snps,dwc2";
180277d6af5SYann Gautier			reg = <0x49000000 0x10000>;
181277d6af5SYann Gautier			clocks = <&rcc USBO_K>;
182277d6af5SYann Gautier			clock-names = "otg";
183277d6af5SYann Gautier			resets = <&rcc USBO_R>;
184277d6af5SYann Gautier			reset-names = "dwc2";
185277d6af5SYann Gautier			interrupts-extended = <&exti 44 IRQ_TYPE_LEVEL_HIGH>;
186277d6af5SYann Gautier			g-rx-fifo-size = <512>;
187277d6af5SYann Gautier			g-np-tx-fifo-size = <32>;
188277d6af5SYann Gautier			g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
189277d6af5SYann Gautier			dr_mode = "otg";
190277d6af5SYann Gautier			usb33d-supply = <&usb33>;
191277d6af5SYann Gautier			status = "disabled";
192277d6af5SYann Gautier		};
193277d6af5SYann Gautier
194277d6af5SYann Gautier		rcc: rcc@50000000 {
195277d6af5SYann Gautier			compatible = "st,stm32mp1-rcc", "syscon";
196277d6af5SYann Gautier			reg = <0x50000000 0x1000>;
197277d6af5SYann Gautier			#address-cells = <1>;
198277d6af5SYann Gautier			#size-cells = <0>;
199277d6af5SYann Gautier			#clock-cells = <1>;
200277d6af5SYann Gautier			#reset-cells = <1>;
201277d6af5SYann Gautier			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
202277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
203277d6af5SYann Gautier			secure-interrupt-names = "wakeup";
204277d6af5SYann Gautier		};
205277d6af5SYann Gautier
206277d6af5SYann Gautier		pwr_regulators: pwr@50001000 {
207277d6af5SYann Gautier			compatible = "st,stm32mp1,pwr-reg";
208277d6af5SYann Gautier			reg = <0x50001000 0x10>;
209277d6af5SYann Gautier			st,tzcr = <&rcc 0x0 0x1>;
210277d6af5SYann Gautier
211277d6af5SYann Gautier			reg11: reg11 {
212277d6af5SYann Gautier				regulator-name = "reg11";
213277d6af5SYann Gautier				regulator-min-microvolt = <1100000>;
214277d6af5SYann Gautier				regulator-max-microvolt = <1100000>;
215277d6af5SYann Gautier			};
216277d6af5SYann Gautier
217277d6af5SYann Gautier			reg18: reg18 {
218277d6af5SYann Gautier				regulator-name = "reg18";
219277d6af5SYann Gautier				regulator-min-microvolt = <1800000>;
220277d6af5SYann Gautier				regulator-max-microvolt = <1800000>;
221277d6af5SYann Gautier			};
222277d6af5SYann Gautier
223277d6af5SYann Gautier			usb33: usb33 {
224277d6af5SYann Gautier				regulator-name = "usb33";
225277d6af5SYann Gautier				regulator-min-microvolt = <3300000>;
226277d6af5SYann Gautier				regulator-max-microvolt = <3300000>;
227277d6af5SYann Gautier			};
228277d6af5SYann Gautier		};
229277d6af5SYann Gautier
230277d6af5SYann Gautier		pwr_mcu: pwr_mcu@50001014 {
231277d6af5SYann Gautier			compatible = "st,stm32mp151-pwr-mcu", "syscon";
232277d6af5SYann Gautier			reg = <0x50001014 0x4>;
233277d6af5SYann Gautier		};
234277d6af5SYann Gautier
235277d6af5SYann Gautier		pwr_irq: pwr@50001020 {
236277d6af5SYann Gautier			compatible = "st,stm32mp1-pwr";
237277d6af5SYann Gautier			reg = <0x50001020 0x100>;
238277d6af5SYann Gautier			interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
239277d6af5SYann Gautier			interrupt-controller;
240277d6af5SYann Gautier			#interrupt-cells = <3>;
241277d6af5SYann Gautier		};
242277d6af5SYann Gautier
243277d6af5SYann Gautier		exti: interrupt-controller@5000d000 {
244277d6af5SYann Gautier			compatible = "st,stm32mp1-exti", "syscon";
245277d6af5SYann Gautier			interrupt-controller;
246277d6af5SYann Gautier			#interrupt-cells = <2>;
247277d6af5SYann Gautier			reg = <0x5000d000 0x400>;
248277d6af5SYann Gautier
249277d6af5SYann Gautier			/* exti_pwr is an extra interrupt controller used for
250277d6af5SYann Gautier			 * EXTI 55 to 60. It's mapped on pwr interrupt
251277d6af5SYann Gautier			 * controller.
252277d6af5SYann Gautier			 */
253277d6af5SYann Gautier			exti_pwr: exti-pwr {
254277d6af5SYann Gautier				interrupt-controller;
255277d6af5SYann Gautier				#interrupt-cells = <2>;
256277d6af5SYann Gautier				interrupt-parent = <&pwr_irq>;
257277d6af5SYann Gautier				st,irq-number = <6>;
258277d6af5SYann Gautier			};
259277d6af5SYann Gautier		};
260277d6af5SYann Gautier
261277d6af5SYann Gautier		syscfg: syscon@50020000 {
262277d6af5SYann Gautier			compatible = "st,stm32mp157-syscfg", "syscon";
263277d6af5SYann Gautier			reg = <0x50020000 0x400>;
264277d6af5SYann Gautier			clocks = <&rcc SYSCFG>;
265277d6af5SYann Gautier		};
266277d6af5SYann Gautier
267277d6af5SYann Gautier		hash1: hash@54002000 {
268277d6af5SYann Gautier			compatible = "st,stm32f756-hash";
269277d6af5SYann Gautier			reg = <0x54002000 0x400>;
270277d6af5SYann Gautier			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
271277d6af5SYann Gautier			clocks = <&rcc HASH1>;
272277d6af5SYann Gautier			resets = <&rcc HASH1_R>;
273277d6af5SYann Gautier			status = "disabled";
274277d6af5SYann Gautier		};
275277d6af5SYann Gautier
276277d6af5SYann Gautier		rng1: rng@54003000 {
277277d6af5SYann Gautier			compatible = "st,stm32-rng";
278277d6af5SYann Gautier			reg = <0x54003000 0x400>;
279277d6af5SYann Gautier			clocks = <&rcc RNG1_K>;
280277d6af5SYann Gautier			resets = <&rcc RNG1_R>;
281277d6af5SYann Gautier			status = "disabled";
282277d6af5SYann Gautier		};
283277d6af5SYann Gautier
2840c3e8acbSChristophe Kerello		fmc: memory-controller@58002000 {
2850c3e8acbSChristophe Kerello			#address-cells = <2>;
2860c3e8acbSChristophe Kerello			#size-cells = <1>;
2870c3e8acbSChristophe Kerello			compatible = "st,stm32mp1-fmc2-ebi";
2880c3e8acbSChristophe Kerello			reg = <0x58002000 0x1000>;
289277d6af5SYann Gautier			clocks = <&rcc FMC_K>;
290277d6af5SYann Gautier			resets = <&rcc FMC_R>;
291277d6af5SYann Gautier			status = "disabled";
2920c3e8acbSChristophe Kerello
2930c3e8acbSChristophe Kerello			ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
2940c3e8acbSChristophe Kerello				 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
2950c3e8acbSChristophe Kerello				 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
2960c3e8acbSChristophe Kerello				 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
2970c3e8acbSChristophe Kerello				 <4 0 0x80000000 0x10000000>; /* NAND */
2980c3e8acbSChristophe Kerello
2990c3e8acbSChristophe Kerello			nand-controller@4,0 {
3000c3e8acbSChristophe Kerello				#address-cells = <1>;
3010c3e8acbSChristophe Kerello				#size-cells = <0>;
3020c3e8acbSChristophe Kerello				compatible = "st,stm32mp1-fmc2-nfc";
3030c3e8acbSChristophe Kerello				reg = <4 0x00000000 0x1000>,
3040c3e8acbSChristophe Kerello				      <4 0x08010000 0x1000>,
3050c3e8acbSChristophe Kerello				      <4 0x08020000 0x1000>,
3060c3e8acbSChristophe Kerello				      <4 0x01000000 0x1000>,
3070c3e8acbSChristophe Kerello				      <4 0x09010000 0x1000>,
3080c3e8acbSChristophe Kerello				      <4 0x09020000 0x1000>;
3090c3e8acbSChristophe Kerello				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
3100c3e8acbSChristophe Kerello				status = "disabled";
3110c3e8acbSChristophe Kerello			};
312277d6af5SYann Gautier		};
313277d6af5SYann Gautier
314277d6af5SYann Gautier		qspi: spi@58003000 {
315277d6af5SYann Gautier			compatible = "st,stm32f469-qspi";
316277d6af5SYann Gautier			reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
317277d6af5SYann Gautier			reg-names = "qspi", "qspi_mm";
318277d6af5SYann Gautier			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
319277d6af5SYann Gautier			clocks = <&rcc QSPI_K>;
320277d6af5SYann Gautier			resets = <&rcc QSPI_R>;
321277d6af5SYann Gautier			status = "disabled";
322277d6af5SYann Gautier		};
323277d6af5SYann Gautier
324e8a953a9SYann Gautier		sdmmc1: mmc@58005000 {
325277d6af5SYann Gautier			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
326277d6af5SYann Gautier			arm,primecell-periphid = <0x00253180>;
3274c8e8ea7SYann Gautier			reg = <0x58005000 0x1000>;
328277d6af5SYann Gautier			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
329277d6af5SYann Gautier			clocks = <&rcc SDMMC1_K>;
330277d6af5SYann Gautier			clock-names = "apb_pclk";
331277d6af5SYann Gautier			resets = <&rcc SDMMC1_R>;
332277d6af5SYann Gautier			cap-sd-highspeed;
333277d6af5SYann Gautier			cap-mmc-highspeed;
334277d6af5SYann Gautier			max-frequency = <120000000>;
335277d6af5SYann Gautier			status = "disabled";
336277d6af5SYann Gautier		};
337277d6af5SYann Gautier
338e8a953a9SYann Gautier		sdmmc2: mmc@58007000 {
339277d6af5SYann Gautier			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
340277d6af5SYann Gautier			arm,primecell-periphid = <0x00253180>;
3414c8e8ea7SYann Gautier			reg = <0x58007000 0x1000>;
342277d6af5SYann Gautier			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
343277d6af5SYann Gautier			clocks = <&rcc SDMMC2_K>;
344277d6af5SYann Gautier			clock-names = "apb_pclk";
345277d6af5SYann Gautier			resets = <&rcc SDMMC2_R>;
346277d6af5SYann Gautier			cap-sd-highspeed;
347277d6af5SYann Gautier			cap-mmc-highspeed;
348277d6af5SYann Gautier			max-frequency = <120000000>;
349277d6af5SYann Gautier			status = "disabled";
350277d6af5SYann Gautier		};
351277d6af5SYann Gautier
352277d6af5SYann Gautier		iwdg2: watchdog@5a002000 {
353277d6af5SYann Gautier			compatible = "st,stm32mp1-iwdg";
354277d6af5SYann Gautier			reg = <0x5a002000 0x400>;
355277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
356277d6af5SYann Gautier			clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
357277d6af5SYann Gautier			clock-names = "pclk", "lsi";
358277d6af5SYann Gautier			status = "disabled";
359277d6af5SYann Gautier		};
360277d6af5SYann Gautier
3618cafbda6SNicolas Le Bayon		ddr: ddr@5a003000 {
3628cafbda6SNicolas Le Bayon			compatible = "st,stm32mp1-ddr";
3638cafbda6SNicolas Le Bayon			reg = <0x5A003000 0x550 0x5A004000 0x234>;
3648cafbda6SNicolas Le Bayon			clocks = <&rcc AXIDCG>,
3658cafbda6SNicolas Le Bayon				 <&rcc DDRC1>,
3668cafbda6SNicolas Le Bayon				 <&rcc DDRC2>,
3678cafbda6SNicolas Le Bayon				 <&rcc DDRPHYC>,
3688cafbda6SNicolas Le Bayon				 <&rcc DDRCAPB>,
3698cafbda6SNicolas Le Bayon				 <&rcc DDRPHYCAPB>;
3708cafbda6SNicolas Le Bayon			clock-names = "axidcg",
3718cafbda6SNicolas Le Bayon				      "ddrc1",
3728cafbda6SNicolas Le Bayon				      "ddrc2",
3738cafbda6SNicolas Le Bayon				      "ddrphyc",
3748cafbda6SNicolas Le Bayon				      "ddrcapb",
3758cafbda6SNicolas Le Bayon				      "ddrphycapb";
3768cafbda6SNicolas Le Bayon			status = "okay";
3778cafbda6SNicolas Le Bayon		};
3788cafbda6SNicolas Le Bayon
379277d6af5SYann Gautier		usbphyc: usbphyc@5a006000 {
380277d6af5SYann Gautier			#address-cells = <1>;
381277d6af5SYann Gautier			#size-cells = <0>;
382277d6af5SYann Gautier			#clock-cells = <0>;
383277d6af5SYann Gautier			compatible = "st,stm32mp1-usbphyc";
384277d6af5SYann Gautier			reg = <0x5a006000 0x1000>;
385277d6af5SYann Gautier			clocks = <&rcc USBPHY_K>;
386277d6af5SYann Gautier			resets = <&rcc USBPHY_R>;
387277d6af5SYann Gautier			vdda1v1-supply = <&reg11>;
388277d6af5SYann Gautier			vdda1v8-supply = <&reg18>;
389277d6af5SYann Gautier			status = "disabled";
390277d6af5SYann Gautier
391277d6af5SYann Gautier			usbphyc_port0: usb-phy@0 {
392277d6af5SYann Gautier				#phy-cells = <0>;
393277d6af5SYann Gautier				reg = <0>;
394277d6af5SYann Gautier			};
395277d6af5SYann Gautier
396277d6af5SYann Gautier			usbphyc_port1: usb-phy@1 {
397277d6af5SYann Gautier				#phy-cells = <1>;
398277d6af5SYann Gautier				reg = <1>;
399277d6af5SYann Gautier			};
400277d6af5SYann Gautier		};
401277d6af5SYann Gautier
402277d6af5SYann Gautier		usart1: serial@5c000000 {
403277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
404277d6af5SYann Gautier			reg = <0x5c000000 0x400>;
405277d6af5SYann Gautier			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
406277d6af5SYann Gautier			clocks = <&rcc USART1_K>;
407277d6af5SYann Gautier			resets = <&rcc USART1_R>;
408277d6af5SYann Gautier			status = "disabled";
409277d6af5SYann Gautier		};
410277d6af5SYann Gautier
411277d6af5SYann Gautier		spi6: spi@5c001000 {
412277d6af5SYann Gautier			#address-cells = <1>;
413277d6af5SYann Gautier			#size-cells = <0>;
414277d6af5SYann Gautier			compatible = "st,stm32h7-spi";
415277d6af5SYann Gautier			reg = <0x5c001000 0x400>;
416277d6af5SYann Gautier			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
417277d6af5SYann Gautier			clocks = <&rcc SPI6_K>;
418277d6af5SYann Gautier			resets = <&rcc SPI6_R>;
419277d6af5SYann Gautier			status = "disabled";
420277d6af5SYann Gautier		};
421277d6af5SYann Gautier
422277d6af5SYann Gautier		i2c4: i2c@5c002000 {
423277d6af5SYann Gautier			compatible = "st,stm32mp15-i2c";
424277d6af5SYann Gautier			reg = <0x5c002000 0x400>;
425277d6af5SYann Gautier			interrupt-names = "event", "error";
426277d6af5SYann Gautier			interrupts-extended = <&exti 24 IRQ_TYPE_LEVEL_HIGH>,
427277d6af5SYann Gautier					      <&intc GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
428277d6af5SYann Gautier			clocks = <&rcc I2C4_K>;
429277d6af5SYann Gautier			resets = <&rcc I2C4_R>;
430277d6af5SYann Gautier			#address-cells = <1>;
431277d6af5SYann Gautier			#size-cells = <0>;
432277d6af5SYann Gautier			st,syscfg-fmp = <&syscfg 0x4 0x8>;
433277d6af5SYann Gautier			wakeup-source;
434277d6af5SYann Gautier			status = "disabled";
435277d6af5SYann Gautier		};
436277d6af5SYann Gautier
437277d6af5SYann Gautier		iwdg1: watchdog@5c003000 {
438277d6af5SYann Gautier			compatible = "st,stm32mp1-iwdg";
439277d6af5SYann Gautier			reg = <0x5C003000 0x400>;
440277d6af5SYann Gautier			interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
441277d6af5SYann Gautier			clocks = <&rcc IWDG1>, <&rcc CK_LSI>;
442277d6af5SYann Gautier			clock-names = "pclk", "lsi";
443277d6af5SYann Gautier			status = "disabled";
444277d6af5SYann Gautier		};
445277d6af5SYann Gautier
446277d6af5SYann Gautier		rtc: rtc@5c004000 {
447277d6af5SYann Gautier			compatible = "st,stm32mp1-rtc";
448277d6af5SYann Gautier			reg = <0x5c004000 0x400>;
449277d6af5SYann Gautier			clocks = <&rcc RTCAPB>, <&rcc RTC>;
450277d6af5SYann Gautier			clock-names = "pclk", "rtc_ck";
451277d6af5SYann Gautier			interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
452277d6af5SYann Gautier			status = "disabled";
453277d6af5SYann Gautier		};
454277d6af5SYann Gautier
455e8a953a9SYann Gautier		bsec: efuse@5c005000 {
456277d6af5SYann Gautier			compatible = "st,stm32mp15-bsec";
457277d6af5SYann Gautier			reg = <0x5c005000 0x400>;
458277d6af5SYann Gautier			#address-cells = <1>;
459277d6af5SYann Gautier			#size-cells = <1>;
460ff8767cbSNicolas Le Bayon
461*b8816d3cSYann Gautier			cfg0_otp: cfg0-otp@0 {
462ff8767cbSNicolas Le Bayon				reg = <0x0 0x1>;
463ff8767cbSNicolas Le Bayon			};
4644c8e8ea7SYann Gautier			part_number_otp: part-number-otp@4 {
465ff8767cbSNicolas Le Bayon				reg = <0x4 0x1>;
466ff8767cbSNicolas Le Bayon			};
467*b8816d3cSYann Gautier			monotonic_otp: monotonic-otp@10 {
468ff8767cbSNicolas Le Bayon				reg = <0x10 0x4>;
469ff8767cbSNicolas Le Bayon			};
470*b8816d3cSYann Gautier			nand_otp: nand-otp@24 {
471ff8767cbSNicolas Le Bayon				reg = <0x24 0x4>;
472ff8767cbSNicolas Le Bayon			};
473*b8816d3cSYann Gautier			uid_otp: uid-otp@34 {
474ff8767cbSNicolas Le Bayon				reg = <0x34 0xc>;
475ff8767cbSNicolas Le Bayon			};
476*b8816d3cSYann Gautier			package_otp: package-otp@40 {
477ff8767cbSNicolas Le Bayon				reg = <0x40 0x4>;
478ff8767cbSNicolas Le Bayon			};
479*b8816d3cSYann Gautier			hw2_otp: hw2-otp@48 {
480ff8767cbSNicolas Le Bayon				reg = <0x48 0x4>;
481ff8767cbSNicolas Le Bayon			};
482277d6af5SYann Gautier			ts_cal1: calib@5c {
483277d6af5SYann Gautier				reg = <0x5c 0x2>;
484277d6af5SYann Gautier			};
485277d6af5SYann Gautier			ts_cal2: calib@5e {
486277d6af5SYann Gautier				reg = <0x5e 0x2>;
487277d6af5SYann Gautier			};
488*b8816d3cSYann Gautier			pkh_otp: pkh-otp@60 {
489928fa662SLionel Debieve				reg = <0x60 0x20>;
490928fa662SLionel Debieve			};
491*b8816d3cSYann Gautier			ethernet_mac_address: mac@e4 {
492ff8767cbSNicolas Le Bayon				reg = <0xe4 0x8>;
493ff8767cbSNicolas Le Bayon				st,non-secure-otp;
494ff8767cbSNicolas Le Bayon			};
495277d6af5SYann Gautier		};
496277d6af5SYann Gautier
497277d6af5SYann Gautier		etzpc: etzpc@5c007000 {
498277d6af5SYann Gautier			compatible = "st,stm32-etzpc";
499277d6af5SYann Gautier			reg = <0x5C007000 0x400>;
500277d6af5SYann Gautier			clocks = <&rcc TZPC>;
501277d6af5SYann Gautier		};
502277d6af5SYann Gautier
503277d6af5SYann Gautier		stgen: stgen@5c008000 {
504277d6af5SYann Gautier			compatible = "st,stm32-stgen";
505277d6af5SYann Gautier			reg = <0x5C008000 0x1000>;
506277d6af5SYann Gautier		};
507277d6af5SYann Gautier
508277d6af5SYann Gautier		i2c6: i2c@5c009000 {
509277d6af5SYann Gautier			compatible = "st,stm32mp15-i2c";
510277d6af5SYann Gautier			reg = <0x5c009000 0x400>;
511277d6af5SYann Gautier			interrupt-names = "event", "error";
512277d6af5SYann Gautier			interrupts-extended = <&exti 54 IRQ_TYPE_LEVEL_HIGH>,
513277d6af5SYann Gautier					      <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
514277d6af5SYann Gautier			clocks = <&rcc I2C6_K>;
515277d6af5SYann Gautier			resets = <&rcc I2C6_R>;
516277d6af5SYann Gautier			#address-cells = <1>;
517277d6af5SYann Gautier			#size-cells = <0>;
518277d6af5SYann Gautier			st,syscfg-fmp = <&syscfg 0x4 0x20>;
519277d6af5SYann Gautier			wakeup-source;
520277d6af5SYann Gautier			status = "disabled";
521277d6af5SYann Gautier		};
522277d6af5SYann Gautier
523277d6af5SYann Gautier		tamp: tamp@5c00a000 {
5244c8e8ea7SYann Gautier			compatible = "st,stm32-tamp", "syscon", "simple-mfd";
525277d6af5SYann Gautier			reg = <0x5c00a000 0x400>;
526277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
527277d6af5SYann Gautier			clocks = <&rcc RTCAPB>;
528277d6af5SYann Gautier		};
529277d6af5SYann Gautier
530277d6af5SYann Gautier		/*
531277d6af5SYann Gautier		 * Break node order to solve dependency probe issue between
532277d6af5SYann Gautier		 * pinctrl and exti.
533277d6af5SYann Gautier		 */
53444fea93bSYann Gautier		pinctrl: pinctrl@50002000 {
535277d6af5SYann Gautier			#address-cells = <1>;
536277d6af5SYann Gautier			#size-cells = <1>;
537277d6af5SYann Gautier			compatible = "st,stm32mp157-pinctrl";
538277d6af5SYann Gautier			ranges = <0 0x50002000 0xa400>;
539277d6af5SYann Gautier			interrupt-parent = <&exti>;
540277d6af5SYann Gautier			st,syscfg = <&exti 0x60 0xff>;
541277d6af5SYann Gautier
542277d6af5SYann Gautier			gpioa: gpio@50002000 {
543277d6af5SYann Gautier				gpio-controller;
544277d6af5SYann Gautier				#gpio-cells = <2>;
545277d6af5SYann Gautier				interrupt-controller;
546277d6af5SYann Gautier				#interrupt-cells = <2>;
547277d6af5SYann Gautier				reg = <0x0 0x400>;
548277d6af5SYann Gautier				clocks = <&rcc GPIOA>;
549277d6af5SYann Gautier				st,bank-name = "GPIOA";
550277d6af5SYann Gautier				status = "disabled";
551277d6af5SYann Gautier			};
552277d6af5SYann Gautier
553277d6af5SYann Gautier			gpiob: gpio@50003000 {
554277d6af5SYann Gautier				gpio-controller;
555277d6af5SYann Gautier				#gpio-cells = <2>;
556277d6af5SYann Gautier				interrupt-controller;
557277d6af5SYann Gautier				#interrupt-cells = <2>;
558277d6af5SYann Gautier				reg = <0x1000 0x400>;
559277d6af5SYann Gautier				clocks = <&rcc GPIOB>;
560277d6af5SYann Gautier				st,bank-name = "GPIOB";
561277d6af5SYann Gautier				status = "disabled";
562277d6af5SYann Gautier			};
563277d6af5SYann Gautier
564277d6af5SYann Gautier			gpioc: gpio@50004000 {
565277d6af5SYann Gautier				gpio-controller;
566277d6af5SYann Gautier				#gpio-cells = <2>;
567277d6af5SYann Gautier				interrupt-controller;
568277d6af5SYann Gautier				#interrupt-cells = <2>;
569277d6af5SYann Gautier				reg = <0x2000 0x400>;
570277d6af5SYann Gautier				clocks = <&rcc GPIOC>;
571277d6af5SYann Gautier				st,bank-name = "GPIOC";
572277d6af5SYann Gautier				status = "disabled";
573277d6af5SYann Gautier			};
574277d6af5SYann Gautier
575277d6af5SYann Gautier			gpiod: gpio@50005000 {
576277d6af5SYann Gautier				gpio-controller;
577277d6af5SYann Gautier				#gpio-cells = <2>;
578277d6af5SYann Gautier				interrupt-controller;
579277d6af5SYann Gautier				#interrupt-cells = <2>;
580277d6af5SYann Gautier				reg = <0x3000 0x400>;
581277d6af5SYann Gautier				clocks = <&rcc GPIOD>;
582277d6af5SYann Gautier				st,bank-name = "GPIOD";
583277d6af5SYann Gautier				status = "disabled";
584277d6af5SYann Gautier			};
585277d6af5SYann Gautier
586277d6af5SYann Gautier			gpioe: gpio@50006000 {
587277d6af5SYann Gautier				gpio-controller;
588277d6af5SYann Gautier				#gpio-cells = <2>;
589277d6af5SYann Gautier				interrupt-controller;
590277d6af5SYann Gautier				#interrupt-cells = <2>;
591277d6af5SYann Gautier				reg = <0x4000 0x400>;
592277d6af5SYann Gautier				clocks = <&rcc GPIOE>;
593277d6af5SYann Gautier				st,bank-name = "GPIOE";
594277d6af5SYann Gautier				status = "disabled";
595277d6af5SYann Gautier			};
596277d6af5SYann Gautier
597277d6af5SYann Gautier			gpiof: gpio@50007000 {
598277d6af5SYann Gautier				gpio-controller;
599277d6af5SYann Gautier				#gpio-cells = <2>;
600277d6af5SYann Gautier				interrupt-controller;
601277d6af5SYann Gautier				#interrupt-cells = <2>;
602277d6af5SYann Gautier				reg = <0x5000 0x400>;
603277d6af5SYann Gautier				clocks = <&rcc GPIOF>;
604277d6af5SYann Gautier				st,bank-name = "GPIOF";
605277d6af5SYann Gautier				status = "disabled";
606277d6af5SYann Gautier			};
607277d6af5SYann Gautier
608277d6af5SYann Gautier			gpiog: gpio@50008000 {
609277d6af5SYann Gautier				gpio-controller;
610277d6af5SYann Gautier				#gpio-cells = <2>;
611277d6af5SYann Gautier				interrupt-controller;
612277d6af5SYann Gautier				#interrupt-cells = <2>;
613277d6af5SYann Gautier				reg = <0x6000 0x400>;
614277d6af5SYann Gautier				clocks = <&rcc GPIOG>;
615277d6af5SYann Gautier				st,bank-name = "GPIOG";
616277d6af5SYann Gautier				status = "disabled";
617277d6af5SYann Gautier			};
618277d6af5SYann Gautier
619277d6af5SYann Gautier			gpioh: gpio@50009000 {
620277d6af5SYann Gautier				gpio-controller;
621277d6af5SYann Gautier				#gpio-cells = <2>;
622277d6af5SYann Gautier				interrupt-controller;
623277d6af5SYann Gautier				#interrupt-cells = <2>;
624277d6af5SYann Gautier				reg = <0x7000 0x400>;
625277d6af5SYann Gautier				clocks = <&rcc GPIOH>;
626277d6af5SYann Gautier				st,bank-name = "GPIOH";
627277d6af5SYann Gautier				status = "disabled";
628277d6af5SYann Gautier			};
629277d6af5SYann Gautier
630277d6af5SYann Gautier			gpioi: gpio@5000a000 {
631277d6af5SYann Gautier				gpio-controller;
632277d6af5SYann Gautier				#gpio-cells = <2>;
633277d6af5SYann Gautier				interrupt-controller;
634277d6af5SYann Gautier				#interrupt-cells = <2>;
635277d6af5SYann Gautier				reg = <0x8000 0x400>;
636277d6af5SYann Gautier				clocks = <&rcc GPIOI>;
637277d6af5SYann Gautier				st,bank-name = "GPIOI";
638277d6af5SYann Gautier				status = "disabled";
639277d6af5SYann Gautier			};
640277d6af5SYann Gautier
641277d6af5SYann Gautier			gpioj: gpio@5000b000 {
642277d6af5SYann Gautier				gpio-controller;
643277d6af5SYann Gautier				#gpio-cells = <2>;
644277d6af5SYann Gautier				interrupt-controller;
645277d6af5SYann Gautier				#interrupt-cells = <2>;
646277d6af5SYann Gautier				reg = <0x9000 0x400>;
647277d6af5SYann Gautier				clocks = <&rcc GPIOJ>;
648277d6af5SYann Gautier				st,bank-name = "GPIOJ";
649277d6af5SYann Gautier				status = "disabled";
650277d6af5SYann Gautier			};
651277d6af5SYann Gautier
652277d6af5SYann Gautier			gpiok: gpio@5000c000 {
653277d6af5SYann Gautier				gpio-controller;
654277d6af5SYann Gautier				#gpio-cells = <2>;
655277d6af5SYann Gautier				interrupt-controller;
656277d6af5SYann Gautier				#interrupt-cells = <2>;
657277d6af5SYann Gautier				reg = <0xa000 0x400>;
658277d6af5SYann Gautier				clocks = <&rcc GPIOK>;
659277d6af5SYann Gautier				st,bank-name = "GPIOK";
660277d6af5SYann Gautier				status = "disabled";
661277d6af5SYann Gautier			};
662277d6af5SYann Gautier		};
663277d6af5SYann Gautier
66444fea93bSYann Gautier		pinctrl_z: pinctrl@54004000 {
665277d6af5SYann Gautier			#address-cells = <1>;
666277d6af5SYann Gautier			#size-cells = <1>;
667277d6af5SYann Gautier			compatible = "st,stm32mp157-z-pinctrl";
668277d6af5SYann Gautier			ranges = <0 0x54004000 0x400>;
669277d6af5SYann Gautier			interrupt-parent = <&exti>;
670277d6af5SYann Gautier			st,syscfg = <&exti 0x60 0xff>;
671277d6af5SYann Gautier
672277d6af5SYann Gautier			gpioz: gpio@54004000 {
673277d6af5SYann Gautier				gpio-controller;
674277d6af5SYann Gautier				#gpio-cells = <2>;
675277d6af5SYann Gautier				interrupt-controller;
676277d6af5SYann Gautier				#interrupt-cells = <2>;
677277d6af5SYann Gautier				reg = <0 0x400>;
678277d6af5SYann Gautier				clocks = <&rcc GPIOZ>;
679277d6af5SYann Gautier				st,bank-name = "GPIOZ";
680277d6af5SYann Gautier				st,bank-ioport = <11>;
681277d6af5SYann Gautier				status = "disabled";
682277d6af5SYann Gautier			};
683277d6af5SYann Gautier		};
684277d6af5SYann Gautier	};
685277d6af5SYann Gautier};
686