xref: /rk3399_ARM-atf/fdts/stm32mp151.dtsi (revision 928fa66272a0985c900c996912b54904c64d0520)
1277d6af5SYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2277d6af5SYann Gautier/*
3ff8767cbSNicolas Le Bayon * Copyright (c) 2017-2022, 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";
1303ef2208bSGrzegorz Szymaszek			interrupts = <&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>;
327277d6af5SYann Gautier			reg = <0x58005000 0x1000>, <0x58006000 0x1000>;
328277d6af5SYann Gautier			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
329277d6af5SYann Gautier			interrupt-names = "cmd_irq";
330277d6af5SYann Gautier			clocks = <&rcc SDMMC1_K>;
331277d6af5SYann Gautier			clock-names = "apb_pclk";
332277d6af5SYann Gautier			resets = <&rcc SDMMC1_R>;
333277d6af5SYann Gautier			cap-sd-highspeed;
334277d6af5SYann Gautier			cap-mmc-highspeed;
335277d6af5SYann Gautier			max-frequency = <120000000>;
336277d6af5SYann Gautier			status = "disabled";
337277d6af5SYann Gautier		};
338277d6af5SYann Gautier
339e8a953a9SYann Gautier		sdmmc2: mmc@58007000 {
340277d6af5SYann Gautier			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
341277d6af5SYann Gautier			arm,primecell-periphid = <0x00253180>;
342277d6af5SYann Gautier			reg = <0x58007000 0x1000>, <0x58008000 0x1000>;
343277d6af5SYann Gautier			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
344277d6af5SYann Gautier			interrupt-names = "cmd_irq";
345277d6af5SYann Gautier			clocks = <&rcc SDMMC2_K>;
346277d6af5SYann Gautier			clock-names = "apb_pclk";
347277d6af5SYann Gautier			resets = <&rcc SDMMC2_R>;
348277d6af5SYann Gautier			cap-sd-highspeed;
349277d6af5SYann Gautier			cap-mmc-highspeed;
350277d6af5SYann Gautier			max-frequency = <120000000>;
351277d6af5SYann Gautier			status = "disabled";
352277d6af5SYann Gautier		};
353277d6af5SYann Gautier
354277d6af5SYann Gautier		iwdg2: watchdog@5a002000 {
355277d6af5SYann Gautier			compatible = "st,stm32mp1-iwdg";
356277d6af5SYann Gautier			reg = <0x5a002000 0x400>;
357277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
358277d6af5SYann Gautier			clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
359277d6af5SYann Gautier			clock-names = "pclk", "lsi";
360277d6af5SYann Gautier			status = "disabled";
361277d6af5SYann Gautier		};
362277d6af5SYann Gautier
3638cafbda6SNicolas Le Bayon		ddr: ddr@5a003000 {
3648cafbda6SNicolas Le Bayon			compatible = "st,stm32mp1-ddr";
3658cafbda6SNicolas Le Bayon			reg = <0x5A003000 0x550 0x5A004000 0x234>;
3668cafbda6SNicolas Le Bayon			clocks = <&rcc AXIDCG>,
3678cafbda6SNicolas Le Bayon				 <&rcc DDRC1>,
3688cafbda6SNicolas Le Bayon				 <&rcc DDRC2>,
3698cafbda6SNicolas Le Bayon				 <&rcc DDRPHYC>,
3708cafbda6SNicolas Le Bayon				 <&rcc DDRCAPB>,
3718cafbda6SNicolas Le Bayon				 <&rcc DDRPHYCAPB>;
3728cafbda6SNicolas Le Bayon			clock-names = "axidcg",
3738cafbda6SNicolas Le Bayon				      "ddrc1",
3748cafbda6SNicolas Le Bayon				      "ddrc2",
3758cafbda6SNicolas Le Bayon				      "ddrphyc",
3768cafbda6SNicolas Le Bayon				      "ddrcapb",
3778cafbda6SNicolas Le Bayon				      "ddrphycapb";
3788cafbda6SNicolas Le Bayon			status = "okay";
3798cafbda6SNicolas Le Bayon		};
3808cafbda6SNicolas Le Bayon
381277d6af5SYann Gautier		usbphyc: usbphyc@5a006000 {
382277d6af5SYann Gautier			#address-cells = <1>;
383277d6af5SYann Gautier			#size-cells = <0>;
384277d6af5SYann Gautier			#clock-cells = <0>;
385277d6af5SYann Gautier			compatible = "st,stm32mp1-usbphyc";
386277d6af5SYann Gautier			reg = <0x5a006000 0x1000>;
387277d6af5SYann Gautier			clocks = <&rcc USBPHY_K>;
388277d6af5SYann Gautier			resets = <&rcc USBPHY_R>;
389277d6af5SYann Gautier			vdda1v1-supply = <&reg11>;
390277d6af5SYann Gautier			vdda1v8-supply = <&reg18>;
391277d6af5SYann Gautier			status = "disabled";
392277d6af5SYann Gautier
393277d6af5SYann Gautier			usbphyc_port0: usb-phy@0 {
394277d6af5SYann Gautier				#phy-cells = <0>;
395277d6af5SYann Gautier				reg = <0>;
396277d6af5SYann Gautier			};
397277d6af5SYann Gautier
398277d6af5SYann Gautier			usbphyc_port1: usb-phy@1 {
399277d6af5SYann Gautier				#phy-cells = <1>;
400277d6af5SYann Gautier				reg = <1>;
401277d6af5SYann Gautier			};
402277d6af5SYann Gautier		};
403277d6af5SYann Gautier
404277d6af5SYann Gautier		usart1: serial@5c000000 {
405277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
406277d6af5SYann Gautier			reg = <0x5c000000 0x400>;
407277d6af5SYann Gautier			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
408277d6af5SYann Gautier			clocks = <&rcc USART1_K>;
409277d6af5SYann Gautier			resets = <&rcc USART1_R>;
410277d6af5SYann Gautier			status = "disabled";
411277d6af5SYann Gautier		};
412277d6af5SYann Gautier
413277d6af5SYann Gautier		spi6: spi@5c001000 {
414277d6af5SYann Gautier			#address-cells = <1>;
415277d6af5SYann Gautier			#size-cells = <0>;
416277d6af5SYann Gautier			compatible = "st,stm32h7-spi";
417277d6af5SYann Gautier			reg = <0x5c001000 0x400>;
418277d6af5SYann Gautier			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
419277d6af5SYann Gautier			clocks = <&rcc SPI6_K>;
420277d6af5SYann Gautier			resets = <&rcc SPI6_R>;
421277d6af5SYann Gautier			status = "disabled";
422277d6af5SYann Gautier		};
423277d6af5SYann Gautier
424277d6af5SYann Gautier		i2c4: i2c@5c002000 {
425277d6af5SYann Gautier			compatible = "st,stm32mp15-i2c";
426277d6af5SYann Gautier			reg = <0x5c002000 0x400>;
427277d6af5SYann Gautier			interrupt-names = "event", "error";
428277d6af5SYann Gautier			interrupts-extended = <&exti 24 IRQ_TYPE_LEVEL_HIGH>,
429277d6af5SYann Gautier					      <&intc GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
430277d6af5SYann Gautier			clocks = <&rcc I2C4_K>;
431277d6af5SYann Gautier			resets = <&rcc I2C4_R>;
432277d6af5SYann Gautier			#address-cells = <1>;
433277d6af5SYann Gautier			#size-cells = <0>;
434277d6af5SYann Gautier			st,syscfg-fmp = <&syscfg 0x4 0x8>;
435277d6af5SYann Gautier			wakeup-source;
436277d6af5SYann Gautier			status = "disabled";
437277d6af5SYann Gautier		};
438277d6af5SYann Gautier
439277d6af5SYann Gautier		iwdg1: watchdog@5c003000 {
440277d6af5SYann Gautier			compatible = "st,stm32mp1-iwdg";
441277d6af5SYann Gautier			reg = <0x5C003000 0x400>;
442277d6af5SYann Gautier			interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
443277d6af5SYann Gautier			clocks = <&rcc IWDG1>, <&rcc CK_LSI>;
444277d6af5SYann Gautier			clock-names = "pclk", "lsi";
445277d6af5SYann Gautier			status = "disabled";
446277d6af5SYann Gautier		};
447277d6af5SYann Gautier
448277d6af5SYann Gautier		rtc: rtc@5c004000 {
449277d6af5SYann Gautier			compatible = "st,stm32mp1-rtc";
450277d6af5SYann Gautier			reg = <0x5c004000 0x400>;
451277d6af5SYann Gautier			clocks = <&rcc RTCAPB>, <&rcc RTC>;
452277d6af5SYann Gautier			clock-names = "pclk", "rtc_ck";
453277d6af5SYann Gautier			interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
454277d6af5SYann Gautier			status = "disabled";
455277d6af5SYann Gautier		};
456277d6af5SYann Gautier
457e8a953a9SYann Gautier		bsec: efuse@5c005000 {
458277d6af5SYann Gautier			compatible = "st,stm32mp15-bsec";
459277d6af5SYann Gautier			reg = <0x5c005000 0x400>;
460277d6af5SYann Gautier			#address-cells = <1>;
461277d6af5SYann Gautier			#size-cells = <1>;
462ff8767cbSNicolas Le Bayon
463ff8767cbSNicolas Le Bayon			cfg0_otp: cfg0_otp@0 {
464ff8767cbSNicolas Le Bayon				reg = <0x0 0x1>;
465ff8767cbSNicolas Le Bayon			};
466ff8767cbSNicolas Le Bayon			part_number_otp: part_number_otp@4 {
467ff8767cbSNicolas Le Bayon				reg = <0x4 0x1>;
468ff8767cbSNicolas Le Bayon			};
469ff8767cbSNicolas Le Bayon			monotonic_otp: monotonic_otp@10 {
470ff8767cbSNicolas Le Bayon				reg = <0x10 0x4>;
471ff8767cbSNicolas Le Bayon			};
472ff8767cbSNicolas Le Bayon			nand_otp: nand_otp@24 {
473ff8767cbSNicolas Le Bayon				reg = <0x24 0x4>;
474ff8767cbSNicolas Le Bayon			};
475ff8767cbSNicolas Le Bayon			uid_otp: uid_otp@34 {
476ff8767cbSNicolas Le Bayon				reg = <0x34 0xc>;
477ff8767cbSNicolas Le Bayon			};
478ff8767cbSNicolas Le Bayon			package_otp: package_otp@40 {
479ff8767cbSNicolas Le Bayon				reg = <0x40 0x4>;
480ff8767cbSNicolas Le Bayon			};
481ff8767cbSNicolas Le Bayon			hw2_otp: hw2_otp@48 {
482ff8767cbSNicolas Le Bayon				reg = <0x48 0x4>;
483ff8767cbSNicolas Le Bayon			};
484277d6af5SYann Gautier			ts_cal1: calib@5c {
485277d6af5SYann Gautier				reg = <0x5c 0x2>;
486277d6af5SYann Gautier			};
487277d6af5SYann Gautier			ts_cal2: calib@5e {
488277d6af5SYann Gautier				reg = <0x5e 0x2>;
489277d6af5SYann Gautier			};
490*928fa662SLionel Debieve			pkh_otp: pkh_otp@60 {
491*928fa662SLionel Debieve				reg = <0x60 0x20>;
492*928fa662SLionel Debieve			};
493ff8767cbSNicolas Le Bayon			mac_addr: mac_addr@e4 {
494ff8767cbSNicolas Le Bayon				reg = <0xe4 0x8>;
495ff8767cbSNicolas Le Bayon				st,non-secure-otp;
496ff8767cbSNicolas Le Bayon			};
497277d6af5SYann Gautier		};
498277d6af5SYann Gautier
499277d6af5SYann Gautier		etzpc: etzpc@5c007000 {
500277d6af5SYann Gautier			compatible = "st,stm32-etzpc";
501277d6af5SYann Gautier			reg = <0x5C007000 0x400>;
502277d6af5SYann Gautier			clocks = <&rcc TZPC>;
503277d6af5SYann Gautier		};
504277d6af5SYann Gautier
505277d6af5SYann Gautier		stgen: stgen@5c008000 {
506277d6af5SYann Gautier			compatible = "st,stm32-stgen";
507277d6af5SYann Gautier			reg = <0x5C008000 0x1000>;
508277d6af5SYann Gautier		};
509277d6af5SYann Gautier
510277d6af5SYann Gautier		i2c6: i2c@5c009000 {
511277d6af5SYann Gautier			compatible = "st,stm32mp15-i2c";
512277d6af5SYann Gautier			reg = <0x5c009000 0x400>;
513277d6af5SYann Gautier			interrupt-names = "event", "error";
514277d6af5SYann Gautier			interrupts-extended = <&exti 54 IRQ_TYPE_LEVEL_HIGH>,
515277d6af5SYann Gautier					      <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
516277d6af5SYann Gautier			clocks = <&rcc I2C6_K>;
517277d6af5SYann Gautier			resets = <&rcc I2C6_R>;
518277d6af5SYann Gautier			#address-cells = <1>;
519277d6af5SYann Gautier			#size-cells = <0>;
520277d6af5SYann Gautier			st,syscfg-fmp = <&syscfg 0x4 0x20>;
521277d6af5SYann Gautier			wakeup-source;
522277d6af5SYann Gautier			status = "disabled";
523277d6af5SYann Gautier		};
524277d6af5SYann Gautier
525277d6af5SYann Gautier		tamp: tamp@5c00a000 {
526277d6af5SYann Gautier			compatible = "st,stm32-tamp", "simple-bus", "syscon", "simple-mfd";
527277d6af5SYann Gautier			reg = <0x5c00a000 0x400>;
528277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
529277d6af5SYann Gautier			clocks = <&rcc RTCAPB>;
530277d6af5SYann Gautier		};
531277d6af5SYann Gautier
532277d6af5SYann Gautier		/*
533277d6af5SYann Gautier		 * Break node order to solve dependency probe issue between
534277d6af5SYann Gautier		 * pinctrl and exti.
535277d6af5SYann Gautier		 */
53644fea93bSYann Gautier		pinctrl: pinctrl@50002000 {
537277d6af5SYann Gautier			#address-cells = <1>;
538277d6af5SYann Gautier			#size-cells = <1>;
539277d6af5SYann Gautier			compatible = "st,stm32mp157-pinctrl";
540277d6af5SYann Gautier			ranges = <0 0x50002000 0xa400>;
541277d6af5SYann Gautier			interrupt-parent = <&exti>;
542277d6af5SYann Gautier			st,syscfg = <&exti 0x60 0xff>;
543277d6af5SYann Gautier			pins-are-numbered;
544277d6af5SYann Gautier
545277d6af5SYann Gautier			gpioa: gpio@50002000 {
546277d6af5SYann Gautier				gpio-controller;
547277d6af5SYann Gautier				#gpio-cells = <2>;
548277d6af5SYann Gautier				interrupt-controller;
549277d6af5SYann Gautier				#interrupt-cells = <2>;
550277d6af5SYann Gautier				reg = <0x0 0x400>;
551277d6af5SYann Gautier				clocks = <&rcc GPIOA>;
552277d6af5SYann Gautier				st,bank-name = "GPIOA";
553277d6af5SYann Gautier				status = "disabled";
554277d6af5SYann Gautier			};
555277d6af5SYann Gautier
556277d6af5SYann Gautier			gpiob: gpio@50003000 {
557277d6af5SYann Gautier				gpio-controller;
558277d6af5SYann Gautier				#gpio-cells = <2>;
559277d6af5SYann Gautier				interrupt-controller;
560277d6af5SYann Gautier				#interrupt-cells = <2>;
561277d6af5SYann Gautier				reg = <0x1000 0x400>;
562277d6af5SYann Gautier				clocks = <&rcc GPIOB>;
563277d6af5SYann Gautier				st,bank-name = "GPIOB";
564277d6af5SYann Gautier				status = "disabled";
565277d6af5SYann Gautier			};
566277d6af5SYann Gautier
567277d6af5SYann Gautier			gpioc: gpio@50004000 {
568277d6af5SYann Gautier				gpio-controller;
569277d6af5SYann Gautier				#gpio-cells = <2>;
570277d6af5SYann Gautier				interrupt-controller;
571277d6af5SYann Gautier				#interrupt-cells = <2>;
572277d6af5SYann Gautier				reg = <0x2000 0x400>;
573277d6af5SYann Gautier				clocks = <&rcc GPIOC>;
574277d6af5SYann Gautier				st,bank-name = "GPIOC";
575277d6af5SYann Gautier				status = "disabled";
576277d6af5SYann Gautier			};
577277d6af5SYann Gautier
578277d6af5SYann Gautier			gpiod: gpio@50005000 {
579277d6af5SYann Gautier				gpio-controller;
580277d6af5SYann Gautier				#gpio-cells = <2>;
581277d6af5SYann Gautier				interrupt-controller;
582277d6af5SYann Gautier				#interrupt-cells = <2>;
583277d6af5SYann Gautier				reg = <0x3000 0x400>;
584277d6af5SYann Gautier				clocks = <&rcc GPIOD>;
585277d6af5SYann Gautier				st,bank-name = "GPIOD";
586277d6af5SYann Gautier				status = "disabled";
587277d6af5SYann Gautier			};
588277d6af5SYann Gautier
589277d6af5SYann Gautier			gpioe: gpio@50006000 {
590277d6af5SYann Gautier				gpio-controller;
591277d6af5SYann Gautier				#gpio-cells = <2>;
592277d6af5SYann Gautier				interrupt-controller;
593277d6af5SYann Gautier				#interrupt-cells = <2>;
594277d6af5SYann Gautier				reg = <0x4000 0x400>;
595277d6af5SYann Gautier				clocks = <&rcc GPIOE>;
596277d6af5SYann Gautier				st,bank-name = "GPIOE";
597277d6af5SYann Gautier				status = "disabled";
598277d6af5SYann Gautier			};
599277d6af5SYann Gautier
600277d6af5SYann Gautier			gpiof: gpio@50007000 {
601277d6af5SYann Gautier				gpio-controller;
602277d6af5SYann Gautier				#gpio-cells = <2>;
603277d6af5SYann Gautier				interrupt-controller;
604277d6af5SYann Gautier				#interrupt-cells = <2>;
605277d6af5SYann Gautier				reg = <0x5000 0x400>;
606277d6af5SYann Gautier				clocks = <&rcc GPIOF>;
607277d6af5SYann Gautier				st,bank-name = "GPIOF";
608277d6af5SYann Gautier				status = "disabled";
609277d6af5SYann Gautier			};
610277d6af5SYann Gautier
611277d6af5SYann Gautier			gpiog: gpio@50008000 {
612277d6af5SYann Gautier				gpio-controller;
613277d6af5SYann Gautier				#gpio-cells = <2>;
614277d6af5SYann Gautier				interrupt-controller;
615277d6af5SYann Gautier				#interrupt-cells = <2>;
616277d6af5SYann Gautier				reg = <0x6000 0x400>;
617277d6af5SYann Gautier				clocks = <&rcc GPIOG>;
618277d6af5SYann Gautier				st,bank-name = "GPIOG";
619277d6af5SYann Gautier				status = "disabled";
620277d6af5SYann Gautier			};
621277d6af5SYann Gautier
622277d6af5SYann Gautier			gpioh: gpio@50009000 {
623277d6af5SYann Gautier				gpio-controller;
624277d6af5SYann Gautier				#gpio-cells = <2>;
625277d6af5SYann Gautier				interrupt-controller;
626277d6af5SYann Gautier				#interrupt-cells = <2>;
627277d6af5SYann Gautier				reg = <0x7000 0x400>;
628277d6af5SYann Gautier				clocks = <&rcc GPIOH>;
629277d6af5SYann Gautier				st,bank-name = "GPIOH";
630277d6af5SYann Gautier				status = "disabled";
631277d6af5SYann Gautier			};
632277d6af5SYann Gautier
633277d6af5SYann Gautier			gpioi: gpio@5000a000 {
634277d6af5SYann Gautier				gpio-controller;
635277d6af5SYann Gautier				#gpio-cells = <2>;
636277d6af5SYann Gautier				interrupt-controller;
637277d6af5SYann Gautier				#interrupt-cells = <2>;
638277d6af5SYann Gautier				reg = <0x8000 0x400>;
639277d6af5SYann Gautier				clocks = <&rcc GPIOI>;
640277d6af5SYann Gautier				st,bank-name = "GPIOI";
641277d6af5SYann Gautier				status = "disabled";
642277d6af5SYann Gautier			};
643277d6af5SYann Gautier
644277d6af5SYann Gautier			gpioj: gpio@5000b000 {
645277d6af5SYann Gautier				gpio-controller;
646277d6af5SYann Gautier				#gpio-cells = <2>;
647277d6af5SYann Gautier				interrupt-controller;
648277d6af5SYann Gautier				#interrupt-cells = <2>;
649277d6af5SYann Gautier				reg = <0x9000 0x400>;
650277d6af5SYann Gautier				clocks = <&rcc GPIOJ>;
651277d6af5SYann Gautier				st,bank-name = "GPIOJ";
652277d6af5SYann Gautier				status = "disabled";
653277d6af5SYann Gautier			};
654277d6af5SYann Gautier
655277d6af5SYann Gautier			gpiok: gpio@5000c000 {
656277d6af5SYann Gautier				gpio-controller;
657277d6af5SYann Gautier				#gpio-cells = <2>;
658277d6af5SYann Gautier				interrupt-controller;
659277d6af5SYann Gautier				#interrupt-cells = <2>;
660277d6af5SYann Gautier				reg = <0xa000 0x400>;
661277d6af5SYann Gautier				clocks = <&rcc GPIOK>;
662277d6af5SYann Gautier				st,bank-name = "GPIOK";
663277d6af5SYann Gautier				status = "disabled";
664277d6af5SYann Gautier			};
665277d6af5SYann Gautier		};
666277d6af5SYann Gautier
66744fea93bSYann Gautier		pinctrl_z: pinctrl@54004000 {
668277d6af5SYann Gautier			#address-cells = <1>;
669277d6af5SYann Gautier			#size-cells = <1>;
670277d6af5SYann Gautier			compatible = "st,stm32mp157-z-pinctrl";
671277d6af5SYann Gautier			ranges = <0 0x54004000 0x400>;
672277d6af5SYann Gautier			pins-are-numbered;
673277d6af5SYann Gautier			interrupt-parent = <&exti>;
674277d6af5SYann Gautier			st,syscfg = <&exti 0x60 0xff>;
675277d6af5SYann Gautier
676277d6af5SYann Gautier			gpioz: gpio@54004000 {
677277d6af5SYann Gautier				gpio-controller;
678277d6af5SYann Gautier				#gpio-cells = <2>;
679277d6af5SYann Gautier				interrupt-controller;
680277d6af5SYann Gautier				#interrupt-cells = <2>;
681277d6af5SYann Gautier				reg = <0 0x400>;
682277d6af5SYann Gautier				clocks = <&rcc GPIOZ>;
683277d6af5SYann Gautier				st,bank-name = "GPIOZ";
684277d6af5SYann Gautier				st,bank-ioport = <11>;
685277d6af5SYann Gautier				status = "disabled";
686277d6af5SYann Gautier			};
687277d6af5SYann Gautier		};
688277d6af5SYann Gautier	};
689277d6af5SYann Gautier};
690