xref: /rk3399_ARM-atf/fdts/stm32mp151.dtsi (revision ff8767cbfc2bb851a2f6cc32fbe3693ddbfb7d12)
1277d6af5SYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2277d6af5SYann Gautier/*
3*ff8767cbSNicolas 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>;
22*ff8767cbSNicolas Le Bayon			nvmem-cells = <&part_number_otp>;
23*ff8767cbSNicolas Le Bayon			nvmem-cell-names = "part_number";
24277d6af5SYann Gautier		};
25277d6af5SYann Gautier	};
26277d6af5SYann Gautier
27*ff8767cbSNicolas Le Bayon	nvmem_layout: nvmem_layout@0 {
28*ff8767cbSNicolas Le Bayon		compatible = "st,stm32-nvmem-layout";
29*ff8767cbSNicolas Le Bayon
30*ff8767cbSNicolas Le Bayon		nvmem-cells = <&cfg0_otp>,
31*ff8767cbSNicolas Le Bayon			      <&part_number_otp>,
32*ff8767cbSNicolas Le Bayon			      <&monotonic_otp>,
33*ff8767cbSNicolas Le Bayon			      <&nand_otp>,
34*ff8767cbSNicolas Le Bayon			      <&uid_otp>,
35*ff8767cbSNicolas Le Bayon			      <&package_otp>,
36*ff8767cbSNicolas Le Bayon			      <&hw2_otp>;
37*ff8767cbSNicolas Le Bayon
38*ff8767cbSNicolas Le Bayon		nvmem-cell-names = "cfg0_otp",
39*ff8767cbSNicolas Le Bayon				   "part_number_otp",
40*ff8767cbSNicolas Le Bayon				   "monotonic_otp",
41*ff8767cbSNicolas Le Bayon				   "nand_otp",
42*ff8767cbSNicolas Le Bayon				   "uid_otp",
43*ff8767cbSNicolas Le Bayon				   "package_otp",
44*ff8767cbSNicolas Le Bayon				   "hw2_otp";
45*ff8767cbSNicolas Le Bayon	};
46*ff8767cbSNicolas Le Bayon
47277d6af5SYann Gautier	psci {
48277d6af5SYann Gautier		compatible = "arm,psci-1.0";
49277d6af5SYann Gautier		method = "smc";
50277d6af5SYann Gautier	};
51277d6af5SYann Gautier
52277d6af5SYann Gautier	intc: interrupt-controller@a0021000 {
53277d6af5SYann Gautier		compatible = "arm,cortex-a7-gic";
54277d6af5SYann Gautier		#interrupt-cells = <3>;
55277d6af5SYann Gautier		interrupt-controller;
56277d6af5SYann Gautier		reg = <0xa0021000 0x1000>,
57277d6af5SYann Gautier		      <0xa0022000 0x2000>;
58277d6af5SYann Gautier	};
59277d6af5SYann Gautier
60277d6af5SYann Gautier	clocks {
61277d6af5SYann Gautier		clk_hse: clk-hse {
62277d6af5SYann Gautier			#clock-cells = <0>;
63277d6af5SYann Gautier			compatible = "fixed-clock";
64277d6af5SYann Gautier			clock-frequency = <24000000>;
65277d6af5SYann Gautier		};
66277d6af5SYann Gautier
67277d6af5SYann Gautier		clk_hsi: clk-hsi {
68277d6af5SYann Gautier			#clock-cells = <0>;
69277d6af5SYann Gautier			compatible = "fixed-clock";
70277d6af5SYann Gautier			clock-frequency = <64000000>;
71277d6af5SYann Gautier		};
72277d6af5SYann Gautier
73277d6af5SYann Gautier		clk_lse: clk-lse {
74277d6af5SYann Gautier			#clock-cells = <0>;
75277d6af5SYann Gautier			compatible = "fixed-clock";
76277d6af5SYann Gautier			clock-frequency = <32768>;
77277d6af5SYann Gautier		};
78277d6af5SYann Gautier
79277d6af5SYann Gautier		clk_lsi: clk-lsi {
80277d6af5SYann Gautier			#clock-cells = <0>;
81277d6af5SYann Gautier			compatible = "fixed-clock";
82277d6af5SYann Gautier			clock-frequency = <32000>;
83277d6af5SYann Gautier		};
84277d6af5SYann Gautier
85277d6af5SYann Gautier		clk_csi: clk-csi {
86277d6af5SYann Gautier			#clock-cells = <0>;
87277d6af5SYann Gautier			compatible = "fixed-clock";
88277d6af5SYann Gautier			clock-frequency = <4000000>;
89277d6af5SYann Gautier		};
90277d6af5SYann Gautier	};
91277d6af5SYann Gautier
92277d6af5SYann Gautier	soc {
93277d6af5SYann Gautier		compatible = "simple-bus";
94277d6af5SYann Gautier		#address-cells = <1>;
95277d6af5SYann Gautier		#size-cells = <1>;
96277d6af5SYann Gautier		interrupt-parent = <&intc>;
97277d6af5SYann Gautier		ranges;
98277d6af5SYann Gautier
99277d6af5SYann Gautier		timers12: timer@40006000 {
100277d6af5SYann Gautier			#address-cells = <1>;
101277d6af5SYann Gautier			#size-cells = <0>;
102277d6af5SYann Gautier			compatible = "st,stm32-timers";
103277d6af5SYann Gautier			reg = <0x40006000 0x400>;
104277d6af5SYann Gautier			clocks = <&rcc TIM12_K>;
105277d6af5SYann Gautier			clock-names = "int";
106277d6af5SYann Gautier			status = "disabled";
107277d6af5SYann Gautier		};
108277d6af5SYann Gautier
109277d6af5SYann Gautier		usart2: serial@4000e000 {
110277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
111277d6af5SYann Gautier			reg = <0x4000e000 0x400>;
112277d6af5SYann Gautier			interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
113277d6af5SYann Gautier			clocks = <&rcc USART2_K>;
114277d6af5SYann Gautier			resets = <&rcc USART2_R>;
115277d6af5SYann Gautier			status = "disabled";
116277d6af5SYann Gautier		};
117277d6af5SYann Gautier
118277d6af5SYann Gautier		usart3: serial@4000f000 {
119277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
120277d6af5SYann Gautier			reg = <0x4000f000 0x400>;
121277d6af5SYann Gautier			interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
122277d6af5SYann Gautier			clocks = <&rcc USART3_K>;
123277d6af5SYann Gautier			resets = <&rcc USART3_R>;
124277d6af5SYann Gautier			status = "disabled";
125277d6af5SYann Gautier		};
126277d6af5SYann Gautier
127277d6af5SYann Gautier		uart4: serial@40010000 {
128277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
129277d6af5SYann Gautier			reg = <0x40010000 0x400>;
130277d6af5SYann Gautier			interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
131277d6af5SYann Gautier			clocks = <&rcc UART4_K>;
132277d6af5SYann Gautier			resets = <&rcc UART4_R>;
133277d6af5SYann Gautier			wakeup-source;
134277d6af5SYann Gautier			status = "disabled";
135277d6af5SYann Gautier		};
136277d6af5SYann Gautier
137277d6af5SYann Gautier		uart5: serial@40011000 {
138277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
139277d6af5SYann Gautier			reg = <0x40011000 0x400>;
140277d6af5SYann Gautier			interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
141277d6af5SYann Gautier			clocks = <&rcc UART5_K>;
142277d6af5SYann Gautier			resets = <&rcc UART5_R>;
143277d6af5SYann Gautier			status = "disabled";
144277d6af5SYann Gautier		};
145277d6af5SYann Gautier
1463ef2208bSGrzegorz Szymaszek		i2c2: i2c@40013000 {
1473ef2208bSGrzegorz Szymaszek			compatible = "st,stm32mp15-i2c";
1483ef2208bSGrzegorz Szymaszek			reg = <0x40013000 0x400>;
1493ef2208bSGrzegorz Szymaszek			interrupt-names = "event", "error";
1503ef2208bSGrzegorz Szymaszek			interrupts = <&exti 22 IRQ_TYPE_LEVEL_HIGH>,
1513ef2208bSGrzegorz Szymaszek				     <&intc GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
1523ef2208bSGrzegorz Szymaszek			clocks = <&rcc I2C2_K>;
1533ef2208bSGrzegorz Szymaszek			resets = <&rcc I2C2_R>;
1543ef2208bSGrzegorz Szymaszek			#address-cells = <1>;
1553ef2208bSGrzegorz Szymaszek			#size-cells = <0>;
1563ef2208bSGrzegorz Szymaszek			st,syscfg-fmp = <&syscfg 0x4 0x2>;
1573ef2208bSGrzegorz Szymaszek			wakeup-source;
1583ef2208bSGrzegorz Szymaszek			status = "disabled";
1593ef2208bSGrzegorz Szymaszek		};
1603ef2208bSGrzegorz Szymaszek
161277d6af5SYann Gautier		uart7: serial@40018000 {
162277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
163277d6af5SYann Gautier			reg = <0x40018000 0x400>;
164277d6af5SYann Gautier			interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
165277d6af5SYann Gautier			clocks = <&rcc UART7_K>;
166277d6af5SYann Gautier			resets = <&rcc UART7_R>;
167277d6af5SYann Gautier			status = "disabled";
168277d6af5SYann Gautier		};
169277d6af5SYann Gautier
170277d6af5SYann Gautier		uart8: serial@40019000 {
171277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
172277d6af5SYann Gautier			reg = <0x40019000 0x400>;
173277d6af5SYann Gautier			interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
174277d6af5SYann Gautier			clocks = <&rcc UART8_K>;
175277d6af5SYann Gautier			resets = <&rcc UART8_R>;
176277d6af5SYann Gautier			status = "disabled";
177277d6af5SYann Gautier		};
178277d6af5SYann Gautier
179277d6af5SYann Gautier		usart6: serial@44003000 {
180277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
181277d6af5SYann Gautier			reg = <0x44003000 0x400>;
182277d6af5SYann Gautier			interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
183277d6af5SYann Gautier			clocks = <&rcc USART6_K>;
184277d6af5SYann Gautier			resets = <&rcc USART6_R>;
185277d6af5SYann Gautier			status = "disabled";
186277d6af5SYann Gautier		};
187277d6af5SYann Gautier
188277d6af5SYann Gautier		timers15: timer@44006000 {
189277d6af5SYann Gautier			#address-cells = <1>;
190277d6af5SYann Gautier			#size-cells = <0>;
191277d6af5SYann Gautier			compatible = "st,stm32-timers";
192277d6af5SYann Gautier			reg = <0x44006000 0x400>;
193277d6af5SYann Gautier			clocks = <&rcc TIM15_K>;
194277d6af5SYann Gautier			clock-names = "int";
195277d6af5SYann Gautier			status = "disabled";
196277d6af5SYann Gautier		};
197277d6af5SYann Gautier
198277d6af5SYann Gautier		usbotg_hs: usb-otg@49000000 {
199e8a953a9SYann Gautier			compatible = "st,stm32mp15-hsotg", "snps,dwc2";
200277d6af5SYann Gautier			reg = <0x49000000 0x10000>;
201277d6af5SYann Gautier			clocks = <&rcc USBO_K>;
202277d6af5SYann Gautier			clock-names = "otg";
203277d6af5SYann Gautier			resets = <&rcc USBO_R>;
204277d6af5SYann Gautier			reset-names = "dwc2";
205277d6af5SYann Gautier			interrupts-extended = <&exti 44 IRQ_TYPE_LEVEL_HIGH>;
206277d6af5SYann Gautier			g-rx-fifo-size = <512>;
207277d6af5SYann Gautier			g-np-tx-fifo-size = <32>;
208277d6af5SYann Gautier			g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
209277d6af5SYann Gautier			dr_mode = "otg";
210277d6af5SYann Gautier			usb33d-supply = <&usb33>;
211277d6af5SYann Gautier			status = "disabled";
212277d6af5SYann Gautier		};
213277d6af5SYann Gautier
214277d6af5SYann Gautier		rcc: rcc@50000000 {
215277d6af5SYann Gautier			compatible = "st,stm32mp1-rcc", "syscon";
216277d6af5SYann Gautier			reg = <0x50000000 0x1000>;
217277d6af5SYann Gautier			#address-cells = <1>;
218277d6af5SYann Gautier			#size-cells = <0>;
219277d6af5SYann Gautier			#clock-cells = <1>;
220277d6af5SYann Gautier			#reset-cells = <1>;
221277d6af5SYann Gautier			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
222277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
223277d6af5SYann Gautier			secure-interrupt-names = "wakeup";
224277d6af5SYann Gautier		};
225277d6af5SYann Gautier
226277d6af5SYann Gautier		pwr_regulators: pwr@50001000 {
227277d6af5SYann Gautier			compatible = "st,stm32mp1,pwr-reg";
228277d6af5SYann Gautier			reg = <0x50001000 0x10>;
229277d6af5SYann Gautier			st,tzcr = <&rcc 0x0 0x1>;
230277d6af5SYann Gautier
231277d6af5SYann Gautier			reg11: reg11 {
232277d6af5SYann Gautier				regulator-name = "reg11";
233277d6af5SYann Gautier				regulator-min-microvolt = <1100000>;
234277d6af5SYann Gautier				regulator-max-microvolt = <1100000>;
235277d6af5SYann Gautier			};
236277d6af5SYann Gautier
237277d6af5SYann Gautier			reg18: reg18 {
238277d6af5SYann Gautier				regulator-name = "reg18";
239277d6af5SYann Gautier				regulator-min-microvolt = <1800000>;
240277d6af5SYann Gautier				regulator-max-microvolt = <1800000>;
241277d6af5SYann Gautier			};
242277d6af5SYann Gautier
243277d6af5SYann Gautier			usb33: usb33 {
244277d6af5SYann Gautier				regulator-name = "usb33";
245277d6af5SYann Gautier				regulator-min-microvolt = <3300000>;
246277d6af5SYann Gautier				regulator-max-microvolt = <3300000>;
247277d6af5SYann Gautier			};
248277d6af5SYann Gautier		};
249277d6af5SYann Gautier
250277d6af5SYann Gautier		pwr_mcu: pwr_mcu@50001014 {
251277d6af5SYann Gautier			compatible = "st,stm32mp151-pwr-mcu", "syscon";
252277d6af5SYann Gautier			reg = <0x50001014 0x4>;
253277d6af5SYann Gautier		};
254277d6af5SYann Gautier
255277d6af5SYann Gautier		pwr_irq: pwr@50001020 {
256277d6af5SYann Gautier			compatible = "st,stm32mp1-pwr";
257277d6af5SYann Gautier			reg = <0x50001020 0x100>;
258277d6af5SYann Gautier			interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
259277d6af5SYann Gautier			interrupt-controller;
260277d6af5SYann Gautier			#interrupt-cells = <3>;
261277d6af5SYann Gautier		};
262277d6af5SYann Gautier
263277d6af5SYann Gautier		exti: interrupt-controller@5000d000 {
264277d6af5SYann Gautier			compatible = "st,stm32mp1-exti", "syscon";
265277d6af5SYann Gautier			interrupt-controller;
266277d6af5SYann Gautier			#interrupt-cells = <2>;
267277d6af5SYann Gautier			reg = <0x5000d000 0x400>;
268277d6af5SYann Gautier
269277d6af5SYann Gautier			/* exti_pwr is an extra interrupt controller used for
270277d6af5SYann Gautier			 * EXTI 55 to 60. It's mapped on pwr interrupt
271277d6af5SYann Gautier			 * controller.
272277d6af5SYann Gautier			 */
273277d6af5SYann Gautier			exti_pwr: exti-pwr {
274277d6af5SYann Gautier				interrupt-controller;
275277d6af5SYann Gautier				#interrupt-cells = <2>;
276277d6af5SYann Gautier				interrupt-parent = <&pwr_irq>;
277277d6af5SYann Gautier				st,irq-number = <6>;
278277d6af5SYann Gautier			};
279277d6af5SYann Gautier		};
280277d6af5SYann Gautier
281277d6af5SYann Gautier		syscfg: syscon@50020000 {
282277d6af5SYann Gautier			compatible = "st,stm32mp157-syscfg", "syscon";
283277d6af5SYann Gautier			reg = <0x50020000 0x400>;
284277d6af5SYann Gautier			clocks = <&rcc SYSCFG>;
285277d6af5SYann Gautier		};
286277d6af5SYann Gautier
287277d6af5SYann Gautier		hash1: hash@54002000 {
288277d6af5SYann Gautier			compatible = "st,stm32f756-hash";
289277d6af5SYann Gautier			reg = <0x54002000 0x400>;
290277d6af5SYann Gautier			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
291277d6af5SYann Gautier			clocks = <&rcc HASH1>;
292277d6af5SYann Gautier			resets = <&rcc HASH1_R>;
293277d6af5SYann Gautier			status = "disabled";
294277d6af5SYann Gautier		};
295277d6af5SYann Gautier
296277d6af5SYann Gautier		rng1: rng@54003000 {
297277d6af5SYann Gautier			compatible = "st,stm32-rng";
298277d6af5SYann Gautier			reg = <0x54003000 0x400>;
299277d6af5SYann Gautier			clocks = <&rcc RNG1_K>;
300277d6af5SYann Gautier			resets = <&rcc RNG1_R>;
301277d6af5SYann Gautier			status = "disabled";
302277d6af5SYann Gautier		};
303277d6af5SYann Gautier
3040c3e8acbSChristophe Kerello		fmc: memory-controller@58002000 {
3050c3e8acbSChristophe Kerello			#address-cells = <2>;
3060c3e8acbSChristophe Kerello			#size-cells = <1>;
3070c3e8acbSChristophe Kerello			compatible = "st,stm32mp1-fmc2-ebi";
3080c3e8acbSChristophe Kerello			reg = <0x58002000 0x1000>;
309277d6af5SYann Gautier			clocks = <&rcc FMC_K>;
310277d6af5SYann Gautier			resets = <&rcc FMC_R>;
311277d6af5SYann Gautier			status = "disabled";
3120c3e8acbSChristophe Kerello
3130c3e8acbSChristophe Kerello			ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
3140c3e8acbSChristophe Kerello				 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
3150c3e8acbSChristophe Kerello				 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
3160c3e8acbSChristophe Kerello				 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
3170c3e8acbSChristophe Kerello				 <4 0 0x80000000 0x10000000>; /* NAND */
3180c3e8acbSChristophe Kerello
3190c3e8acbSChristophe Kerello			nand-controller@4,0 {
3200c3e8acbSChristophe Kerello				#address-cells = <1>;
3210c3e8acbSChristophe Kerello				#size-cells = <0>;
3220c3e8acbSChristophe Kerello				compatible = "st,stm32mp1-fmc2-nfc";
3230c3e8acbSChristophe Kerello				reg = <4 0x00000000 0x1000>,
3240c3e8acbSChristophe Kerello				      <4 0x08010000 0x1000>,
3250c3e8acbSChristophe Kerello				      <4 0x08020000 0x1000>,
3260c3e8acbSChristophe Kerello				      <4 0x01000000 0x1000>,
3270c3e8acbSChristophe Kerello				      <4 0x09010000 0x1000>,
3280c3e8acbSChristophe Kerello				      <4 0x09020000 0x1000>;
3290c3e8acbSChristophe Kerello				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
3300c3e8acbSChristophe Kerello				status = "disabled";
3310c3e8acbSChristophe Kerello			};
332277d6af5SYann Gautier		};
333277d6af5SYann Gautier
334277d6af5SYann Gautier		qspi: spi@58003000 {
335277d6af5SYann Gautier			compatible = "st,stm32f469-qspi";
336277d6af5SYann Gautier			reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
337277d6af5SYann Gautier			reg-names = "qspi", "qspi_mm";
338277d6af5SYann Gautier			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
339277d6af5SYann Gautier			clocks = <&rcc QSPI_K>;
340277d6af5SYann Gautier			resets = <&rcc QSPI_R>;
341277d6af5SYann Gautier			status = "disabled";
342277d6af5SYann Gautier		};
343277d6af5SYann Gautier
344e8a953a9SYann Gautier		sdmmc1: mmc@58005000 {
345277d6af5SYann Gautier			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
346277d6af5SYann Gautier			arm,primecell-periphid = <0x00253180>;
347277d6af5SYann Gautier			reg = <0x58005000 0x1000>, <0x58006000 0x1000>;
348277d6af5SYann Gautier			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
349277d6af5SYann Gautier			interrupt-names = "cmd_irq";
350277d6af5SYann Gautier			clocks = <&rcc SDMMC1_K>;
351277d6af5SYann Gautier			clock-names = "apb_pclk";
352277d6af5SYann Gautier			resets = <&rcc SDMMC1_R>;
353277d6af5SYann Gautier			cap-sd-highspeed;
354277d6af5SYann Gautier			cap-mmc-highspeed;
355277d6af5SYann Gautier			max-frequency = <120000000>;
356277d6af5SYann Gautier			status = "disabled";
357277d6af5SYann Gautier		};
358277d6af5SYann Gautier
359e8a953a9SYann Gautier		sdmmc2: mmc@58007000 {
360277d6af5SYann Gautier			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
361277d6af5SYann Gautier			arm,primecell-periphid = <0x00253180>;
362277d6af5SYann Gautier			reg = <0x58007000 0x1000>, <0x58008000 0x1000>;
363277d6af5SYann Gautier			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
364277d6af5SYann Gautier			interrupt-names = "cmd_irq";
365277d6af5SYann Gautier			clocks = <&rcc SDMMC2_K>;
366277d6af5SYann Gautier			clock-names = "apb_pclk";
367277d6af5SYann Gautier			resets = <&rcc SDMMC2_R>;
368277d6af5SYann Gautier			cap-sd-highspeed;
369277d6af5SYann Gautier			cap-mmc-highspeed;
370277d6af5SYann Gautier			max-frequency = <120000000>;
371277d6af5SYann Gautier			status = "disabled";
372277d6af5SYann Gautier		};
373277d6af5SYann Gautier
374277d6af5SYann Gautier		iwdg2: watchdog@5a002000 {
375277d6af5SYann Gautier			compatible = "st,stm32mp1-iwdg";
376277d6af5SYann Gautier			reg = <0x5a002000 0x400>;
377277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
378277d6af5SYann Gautier			clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
379277d6af5SYann Gautier			clock-names = "pclk", "lsi";
380277d6af5SYann Gautier			status = "disabled";
381277d6af5SYann Gautier		};
382277d6af5SYann Gautier
3838cafbda6SNicolas Le Bayon		ddr: ddr@5a003000{
3848cafbda6SNicolas Le Bayon			compatible = "st,stm32mp1-ddr";
3858cafbda6SNicolas Le Bayon			reg = <0x5A003000 0x550 0x5A004000 0x234>;
3868cafbda6SNicolas Le Bayon			clocks = <&rcc AXIDCG>,
3878cafbda6SNicolas Le Bayon				 <&rcc DDRC1>,
3888cafbda6SNicolas Le Bayon				 <&rcc DDRC2>,
3898cafbda6SNicolas Le Bayon				 <&rcc DDRPHYC>,
3908cafbda6SNicolas Le Bayon				 <&rcc DDRCAPB>,
3918cafbda6SNicolas Le Bayon				 <&rcc DDRPHYCAPB>;
3928cafbda6SNicolas Le Bayon			clock-names = "axidcg",
3938cafbda6SNicolas Le Bayon				      "ddrc1",
3948cafbda6SNicolas Le Bayon				      "ddrc2",
3958cafbda6SNicolas Le Bayon				      "ddrphyc",
3968cafbda6SNicolas Le Bayon				      "ddrcapb",
3978cafbda6SNicolas Le Bayon				      "ddrphycapb";
3988cafbda6SNicolas Le Bayon			status = "okay";
3998cafbda6SNicolas Le Bayon		};
4008cafbda6SNicolas Le Bayon
401277d6af5SYann Gautier		usbphyc: usbphyc@5a006000 {
402277d6af5SYann Gautier			#address-cells = <1>;
403277d6af5SYann Gautier			#size-cells = <0>;
404277d6af5SYann Gautier			#clock-cells = <0>;
405277d6af5SYann Gautier			compatible = "st,stm32mp1-usbphyc";
406277d6af5SYann Gautier			reg = <0x5a006000 0x1000>;
407277d6af5SYann Gautier			clocks = <&rcc USBPHY_K>;
408277d6af5SYann Gautier			resets = <&rcc USBPHY_R>;
409277d6af5SYann Gautier			vdda1v1-supply = <&reg11>;
410277d6af5SYann Gautier			vdda1v8-supply = <&reg18>;
411277d6af5SYann Gautier			status = "disabled";
412277d6af5SYann Gautier
413277d6af5SYann Gautier			usbphyc_port0: usb-phy@0 {
414277d6af5SYann Gautier				#phy-cells = <0>;
415277d6af5SYann Gautier				reg = <0>;
416277d6af5SYann Gautier			};
417277d6af5SYann Gautier
418277d6af5SYann Gautier			usbphyc_port1: usb-phy@1 {
419277d6af5SYann Gautier				#phy-cells = <1>;
420277d6af5SYann Gautier				reg = <1>;
421277d6af5SYann Gautier			};
422277d6af5SYann Gautier		};
423277d6af5SYann Gautier
424277d6af5SYann Gautier		usart1: serial@5c000000 {
425277d6af5SYann Gautier			compatible = "st,stm32h7-uart";
426277d6af5SYann Gautier			reg = <0x5c000000 0x400>;
427277d6af5SYann Gautier			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
428277d6af5SYann Gautier			clocks = <&rcc USART1_K>;
429277d6af5SYann Gautier			resets = <&rcc USART1_R>;
430277d6af5SYann Gautier			status = "disabled";
431277d6af5SYann Gautier		};
432277d6af5SYann Gautier
433277d6af5SYann Gautier		spi6: spi@5c001000 {
434277d6af5SYann Gautier			#address-cells = <1>;
435277d6af5SYann Gautier			#size-cells = <0>;
436277d6af5SYann Gautier			compatible = "st,stm32h7-spi";
437277d6af5SYann Gautier			reg = <0x5c001000 0x400>;
438277d6af5SYann Gautier			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
439277d6af5SYann Gautier			clocks = <&rcc SPI6_K>;
440277d6af5SYann Gautier			resets = <&rcc SPI6_R>;
441277d6af5SYann Gautier			status = "disabled";
442277d6af5SYann Gautier		};
443277d6af5SYann Gautier
444277d6af5SYann Gautier		i2c4: i2c@5c002000 {
445277d6af5SYann Gautier			compatible = "st,stm32mp15-i2c";
446277d6af5SYann Gautier			reg = <0x5c002000 0x400>;
447277d6af5SYann Gautier			interrupt-names = "event", "error";
448277d6af5SYann Gautier			interrupts-extended = <&exti 24 IRQ_TYPE_LEVEL_HIGH>,
449277d6af5SYann Gautier					      <&intc GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
450277d6af5SYann Gautier			clocks = <&rcc I2C4_K>;
451277d6af5SYann Gautier			resets = <&rcc I2C4_R>;
452277d6af5SYann Gautier			#address-cells = <1>;
453277d6af5SYann Gautier			#size-cells = <0>;
454277d6af5SYann Gautier			st,syscfg-fmp = <&syscfg 0x4 0x8>;
455277d6af5SYann Gautier			wakeup-source;
456277d6af5SYann Gautier			status = "disabled";
457277d6af5SYann Gautier		};
458277d6af5SYann Gautier
459277d6af5SYann Gautier		iwdg1: watchdog@5c003000 {
460277d6af5SYann Gautier			compatible = "st,stm32mp1-iwdg";
461277d6af5SYann Gautier			reg = <0x5C003000 0x400>;
462277d6af5SYann Gautier			interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
463277d6af5SYann Gautier			clocks = <&rcc IWDG1>, <&rcc CK_LSI>;
464277d6af5SYann Gautier			clock-names = "pclk", "lsi";
465277d6af5SYann Gautier			status = "disabled";
466277d6af5SYann Gautier		};
467277d6af5SYann Gautier
468277d6af5SYann Gautier		rtc: rtc@5c004000 {
469277d6af5SYann Gautier			compatible = "st,stm32mp1-rtc";
470277d6af5SYann Gautier			reg = <0x5c004000 0x400>;
471277d6af5SYann Gautier			clocks = <&rcc RTCAPB>, <&rcc RTC>;
472277d6af5SYann Gautier			clock-names = "pclk", "rtc_ck";
473277d6af5SYann Gautier			interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
474277d6af5SYann Gautier			status = "disabled";
475277d6af5SYann Gautier		};
476277d6af5SYann Gautier
477e8a953a9SYann Gautier		bsec: efuse@5c005000 {
478277d6af5SYann Gautier			compatible = "st,stm32mp15-bsec";
479277d6af5SYann Gautier			reg = <0x5c005000 0x400>;
480277d6af5SYann Gautier			#address-cells = <1>;
481277d6af5SYann Gautier			#size-cells = <1>;
482*ff8767cbSNicolas Le Bayon
483*ff8767cbSNicolas Le Bayon			cfg0_otp: cfg0_otp@0 {
484*ff8767cbSNicolas Le Bayon				reg = <0x0 0x1>;
485*ff8767cbSNicolas Le Bayon			};
486*ff8767cbSNicolas Le Bayon			part_number_otp: part_number_otp@4 {
487*ff8767cbSNicolas Le Bayon				reg = <0x4 0x1>;
488*ff8767cbSNicolas Le Bayon			};
489*ff8767cbSNicolas Le Bayon			monotonic_otp: monotonic_otp@10 {
490*ff8767cbSNicolas Le Bayon				reg = <0x10 0x4>;
491*ff8767cbSNicolas Le Bayon			};
492*ff8767cbSNicolas Le Bayon			nand_otp: nand_otp@24 {
493*ff8767cbSNicolas Le Bayon				reg = <0x24 0x4>;
494*ff8767cbSNicolas Le Bayon			};
495*ff8767cbSNicolas Le Bayon			uid_otp: uid_otp@34 {
496*ff8767cbSNicolas Le Bayon				reg = <0x34 0xc>;
497*ff8767cbSNicolas Le Bayon			};
498*ff8767cbSNicolas Le Bayon			package_otp: package_otp@40 {
499*ff8767cbSNicolas Le Bayon				reg = <0x40 0x4>;
500*ff8767cbSNicolas Le Bayon			};
501*ff8767cbSNicolas Le Bayon			hw2_otp: hw2_otp@48 {
502*ff8767cbSNicolas Le Bayon				reg = <0x48 0x4>;
503*ff8767cbSNicolas Le Bayon			};
504277d6af5SYann Gautier			ts_cal1: calib@5c {
505277d6af5SYann Gautier				reg = <0x5c 0x2>;
506277d6af5SYann Gautier			};
507277d6af5SYann Gautier			ts_cal2: calib@5e {
508277d6af5SYann Gautier				reg = <0x5e 0x2>;
509277d6af5SYann Gautier			};
510*ff8767cbSNicolas Le Bayon			mac_addr: mac_addr@e4 {
511*ff8767cbSNicolas Le Bayon				reg = <0xe4 0x8>;
512*ff8767cbSNicolas Le Bayon				st,non-secure-otp;
513*ff8767cbSNicolas Le Bayon			};
514277d6af5SYann Gautier		};
515277d6af5SYann Gautier
516277d6af5SYann Gautier		etzpc: etzpc@5c007000 {
517277d6af5SYann Gautier			compatible = "st,stm32-etzpc";
518277d6af5SYann Gautier			reg = <0x5C007000 0x400>;
519277d6af5SYann Gautier			clocks = <&rcc TZPC>;
520277d6af5SYann Gautier			status = "disabled";
521277d6af5SYann Gautier			secure-status = "okay";
522277d6af5SYann Gautier		};
523277d6af5SYann Gautier
524277d6af5SYann Gautier		stgen: stgen@5c008000 {
525277d6af5SYann Gautier			compatible = "st,stm32-stgen";
526277d6af5SYann Gautier			reg = <0x5C008000 0x1000>;
527277d6af5SYann Gautier		};
528277d6af5SYann Gautier
529277d6af5SYann Gautier		i2c6: i2c@5c009000 {
530277d6af5SYann Gautier			compatible = "st,stm32mp15-i2c";
531277d6af5SYann Gautier			reg = <0x5c009000 0x400>;
532277d6af5SYann Gautier			interrupt-names = "event", "error";
533277d6af5SYann Gautier			interrupts-extended = <&exti 54 IRQ_TYPE_LEVEL_HIGH>,
534277d6af5SYann Gautier					      <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
535277d6af5SYann Gautier			clocks = <&rcc I2C6_K>;
536277d6af5SYann Gautier			resets = <&rcc I2C6_R>;
537277d6af5SYann Gautier			#address-cells = <1>;
538277d6af5SYann Gautier			#size-cells = <0>;
539277d6af5SYann Gautier			st,syscfg-fmp = <&syscfg 0x4 0x20>;
540277d6af5SYann Gautier			wakeup-source;
541277d6af5SYann Gautier			status = "disabled";
542277d6af5SYann Gautier		};
543277d6af5SYann Gautier
544277d6af5SYann Gautier		tamp: tamp@5c00a000 {
545277d6af5SYann Gautier			compatible = "st,stm32-tamp", "simple-bus", "syscon", "simple-mfd";
546277d6af5SYann Gautier			reg = <0x5c00a000 0x400>;
547277d6af5SYann Gautier			secure-interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
548277d6af5SYann Gautier			clocks = <&rcc RTCAPB>;
549277d6af5SYann Gautier		};
550277d6af5SYann Gautier
551277d6af5SYann Gautier		/*
552277d6af5SYann Gautier		 * Break node order to solve dependency probe issue between
553277d6af5SYann Gautier		 * pinctrl and exti.
554277d6af5SYann Gautier		 */
555277d6af5SYann Gautier		pinctrl: pin-controller@50002000 {
556277d6af5SYann Gautier			#address-cells = <1>;
557277d6af5SYann Gautier			#size-cells = <1>;
558277d6af5SYann Gautier			compatible = "st,stm32mp157-pinctrl";
559277d6af5SYann Gautier			ranges = <0 0x50002000 0xa400>;
560277d6af5SYann Gautier			interrupt-parent = <&exti>;
561277d6af5SYann Gautier			st,syscfg = <&exti 0x60 0xff>;
562277d6af5SYann Gautier			pins-are-numbered;
563277d6af5SYann Gautier
564277d6af5SYann Gautier			gpioa: gpio@50002000 {
565277d6af5SYann Gautier				gpio-controller;
566277d6af5SYann Gautier				#gpio-cells = <2>;
567277d6af5SYann Gautier				interrupt-controller;
568277d6af5SYann Gautier				#interrupt-cells = <2>;
569277d6af5SYann Gautier				reg = <0x0 0x400>;
570277d6af5SYann Gautier				clocks = <&rcc GPIOA>;
571277d6af5SYann Gautier				st,bank-name = "GPIOA";
572277d6af5SYann Gautier				status = "disabled";
573277d6af5SYann Gautier			};
574277d6af5SYann Gautier
575277d6af5SYann Gautier			gpiob: gpio@50003000 {
576277d6af5SYann Gautier				gpio-controller;
577277d6af5SYann Gautier				#gpio-cells = <2>;
578277d6af5SYann Gautier				interrupt-controller;
579277d6af5SYann Gautier				#interrupt-cells = <2>;
580277d6af5SYann Gautier				reg = <0x1000 0x400>;
581277d6af5SYann Gautier				clocks = <&rcc GPIOB>;
582277d6af5SYann Gautier				st,bank-name = "GPIOB";
583277d6af5SYann Gautier				status = "disabled";
584277d6af5SYann Gautier			};
585277d6af5SYann Gautier
586277d6af5SYann Gautier			gpioc: gpio@50004000 {
587277d6af5SYann Gautier				gpio-controller;
588277d6af5SYann Gautier				#gpio-cells = <2>;
589277d6af5SYann Gautier				interrupt-controller;
590277d6af5SYann Gautier				#interrupt-cells = <2>;
591277d6af5SYann Gautier				reg = <0x2000 0x400>;
592277d6af5SYann Gautier				clocks = <&rcc GPIOC>;
593277d6af5SYann Gautier				st,bank-name = "GPIOC";
594277d6af5SYann Gautier				status = "disabled";
595277d6af5SYann Gautier			};
596277d6af5SYann Gautier
597277d6af5SYann Gautier			gpiod: gpio@50005000 {
598277d6af5SYann Gautier				gpio-controller;
599277d6af5SYann Gautier				#gpio-cells = <2>;
600277d6af5SYann Gautier				interrupt-controller;
601277d6af5SYann Gautier				#interrupt-cells = <2>;
602277d6af5SYann Gautier				reg = <0x3000 0x400>;
603277d6af5SYann Gautier				clocks = <&rcc GPIOD>;
604277d6af5SYann Gautier				st,bank-name = "GPIOD";
605277d6af5SYann Gautier				status = "disabled";
606277d6af5SYann Gautier			};
607277d6af5SYann Gautier
608277d6af5SYann Gautier			gpioe: gpio@50006000 {
609277d6af5SYann Gautier				gpio-controller;
610277d6af5SYann Gautier				#gpio-cells = <2>;
611277d6af5SYann Gautier				interrupt-controller;
612277d6af5SYann Gautier				#interrupt-cells = <2>;
613277d6af5SYann Gautier				reg = <0x4000 0x400>;
614277d6af5SYann Gautier				clocks = <&rcc GPIOE>;
615277d6af5SYann Gautier				st,bank-name = "GPIOE";
616277d6af5SYann Gautier				status = "disabled";
617277d6af5SYann Gautier			};
618277d6af5SYann Gautier
619277d6af5SYann Gautier			gpiof: gpio@50007000 {
620277d6af5SYann Gautier				gpio-controller;
621277d6af5SYann Gautier				#gpio-cells = <2>;
622277d6af5SYann Gautier				interrupt-controller;
623277d6af5SYann Gautier				#interrupt-cells = <2>;
624277d6af5SYann Gautier				reg = <0x5000 0x400>;
625277d6af5SYann Gautier				clocks = <&rcc GPIOF>;
626277d6af5SYann Gautier				st,bank-name = "GPIOF";
627277d6af5SYann Gautier				status = "disabled";
628277d6af5SYann Gautier			};
629277d6af5SYann Gautier
630277d6af5SYann Gautier			gpiog: gpio@50008000 {
631277d6af5SYann Gautier				gpio-controller;
632277d6af5SYann Gautier				#gpio-cells = <2>;
633277d6af5SYann Gautier				interrupt-controller;
634277d6af5SYann Gautier				#interrupt-cells = <2>;
635277d6af5SYann Gautier				reg = <0x6000 0x400>;
636277d6af5SYann Gautier				clocks = <&rcc GPIOG>;
637277d6af5SYann Gautier				st,bank-name = "GPIOG";
638277d6af5SYann Gautier				status = "disabled";
639277d6af5SYann Gautier			};
640277d6af5SYann Gautier
641277d6af5SYann Gautier			gpioh: gpio@50009000 {
642277d6af5SYann Gautier				gpio-controller;
643277d6af5SYann Gautier				#gpio-cells = <2>;
644277d6af5SYann Gautier				interrupt-controller;
645277d6af5SYann Gautier				#interrupt-cells = <2>;
646277d6af5SYann Gautier				reg = <0x7000 0x400>;
647277d6af5SYann Gautier				clocks = <&rcc GPIOH>;
648277d6af5SYann Gautier				st,bank-name = "GPIOH";
649277d6af5SYann Gautier				status = "disabled";
650277d6af5SYann Gautier			};
651277d6af5SYann Gautier
652277d6af5SYann Gautier			gpioi: gpio@5000a000 {
653277d6af5SYann Gautier				gpio-controller;
654277d6af5SYann Gautier				#gpio-cells = <2>;
655277d6af5SYann Gautier				interrupt-controller;
656277d6af5SYann Gautier				#interrupt-cells = <2>;
657277d6af5SYann Gautier				reg = <0x8000 0x400>;
658277d6af5SYann Gautier				clocks = <&rcc GPIOI>;
659277d6af5SYann Gautier				st,bank-name = "GPIOI";
660277d6af5SYann Gautier				status = "disabled";
661277d6af5SYann Gautier			};
662277d6af5SYann Gautier
663277d6af5SYann Gautier			gpioj: gpio@5000b000 {
664277d6af5SYann Gautier				gpio-controller;
665277d6af5SYann Gautier				#gpio-cells = <2>;
666277d6af5SYann Gautier				interrupt-controller;
667277d6af5SYann Gautier				#interrupt-cells = <2>;
668277d6af5SYann Gautier				reg = <0x9000 0x400>;
669277d6af5SYann Gautier				clocks = <&rcc GPIOJ>;
670277d6af5SYann Gautier				st,bank-name = "GPIOJ";
671277d6af5SYann Gautier				status = "disabled";
672277d6af5SYann Gautier			};
673277d6af5SYann Gautier
674277d6af5SYann Gautier			gpiok: gpio@5000c000 {
675277d6af5SYann Gautier				gpio-controller;
676277d6af5SYann Gautier				#gpio-cells = <2>;
677277d6af5SYann Gautier				interrupt-controller;
678277d6af5SYann Gautier				#interrupt-cells = <2>;
679277d6af5SYann Gautier				reg = <0xa000 0x400>;
680277d6af5SYann Gautier				clocks = <&rcc GPIOK>;
681277d6af5SYann Gautier				st,bank-name = "GPIOK";
682277d6af5SYann Gautier				status = "disabled";
683277d6af5SYann Gautier			};
684277d6af5SYann Gautier		};
685277d6af5SYann Gautier
686277d6af5SYann Gautier		pinctrl_z: pin-controller-z@54004000 {
687277d6af5SYann Gautier			#address-cells = <1>;
688277d6af5SYann Gautier			#size-cells = <1>;
689277d6af5SYann Gautier			compatible = "st,stm32mp157-z-pinctrl";
690277d6af5SYann Gautier			ranges = <0 0x54004000 0x400>;
691277d6af5SYann Gautier			pins-are-numbered;
692277d6af5SYann Gautier			interrupt-parent = <&exti>;
693277d6af5SYann Gautier			st,syscfg = <&exti 0x60 0xff>;
694277d6af5SYann Gautier
695277d6af5SYann Gautier			gpioz: gpio@54004000 {
696277d6af5SYann Gautier				gpio-controller;
697277d6af5SYann Gautier				#gpio-cells = <2>;
698277d6af5SYann Gautier				interrupt-controller;
699277d6af5SYann Gautier				#interrupt-cells = <2>;
700277d6af5SYann Gautier				reg = <0 0x400>;
701277d6af5SYann Gautier				clocks = <&rcc GPIOZ>;
702277d6af5SYann Gautier				st,bank-name = "GPIOZ";
703277d6af5SYann Gautier				st,bank-ioport = <11>;
704277d6af5SYann Gautier				status = "disabled";
705277d6af5SYann Gautier			};
706277d6af5SYann Gautier		};
707277d6af5SYann Gautier	};
708277d6af5SYann Gautier};
709