xref: /optee_os/core/arch/arm/dts/stm32mp151.dtsi (revision a7ac1511e41fe79bae7bd35614e659cc5bb3a2d7)
11bf81340SEtienne Carriere// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
21bf81340SEtienne Carriere/*
3ef1aa5cfSAntonio Borneo * Copyright (C) STMicroelectronics 2017-2025 - All Rights Reserved
41bf81340SEtienne Carriere * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
51bf81340SEtienne Carriere */
61bf81340SEtienne Carriere#include <dt-bindings/interrupt-controller/arm-gic.h>
71bf81340SEtienne Carriere#include <dt-bindings/clock/stm32mp1-clks.h>
81bf81340SEtienne Carriere#include <dt-bindings/reset/stm32mp1-resets.h>
941115447SGatien Chevallier#include <dt-bindings/firewall/stm32mp15-etzpc.h>
101bf81340SEtienne Carriere
111bf81340SEtienne Carriere/ {
121bf81340SEtienne Carriere	#address-cells = <1>;
131bf81340SEtienne Carriere	#size-cells = <1>;
141bf81340SEtienne Carriere
151bf81340SEtienne Carriere	cpus {
161bf81340SEtienne Carriere		#address-cells = <1>;
171bf81340SEtienne Carriere		#size-cells = <0>;
181bf81340SEtienne Carriere
191bf81340SEtienne Carriere		cpu0: cpu@0 {
201bf81340SEtienne Carriere			compatible = "arm,cortex-a7";
2113bd79f4SJohann Neuhauser			clock-frequency = <650000000>;
221bf81340SEtienne Carriere			device_type = "cpu";
231bf81340SEtienne Carriere			reg = <0>;
241bf81340SEtienne Carriere		};
251bf81340SEtienne Carriere	};
261bf81340SEtienne Carriere
2713bd79f4SJohann Neuhauser	arm-pmu {
2813bd79f4SJohann Neuhauser		compatible = "arm,cortex-a7-pmu";
2913bd79f4SJohann Neuhauser		interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
3013bd79f4SJohann Neuhauser		interrupt-affinity = <&cpu0>;
3113bd79f4SJohann Neuhauser		interrupt-parent = <&intc>;
3213bd79f4SJohann Neuhauser	};
3313bd79f4SJohann Neuhauser
341bf81340SEtienne Carriere	psci {
351bf81340SEtienne Carriere		compatible = "arm,psci-1.0";
361bf81340SEtienne Carriere		method = "smc";
371bf81340SEtienne Carriere	};
381bf81340SEtienne Carriere
391bf81340SEtienne Carriere	intc: interrupt-controller@a0021000 {
401bf81340SEtienne Carriere		compatible = "arm,cortex-a7-gic";
411bf81340SEtienne Carriere		#interrupt-cells = <3>;
421bf81340SEtienne Carriere		interrupt-controller;
431bf81340SEtienne Carriere		reg = <0xa0021000 0x1000>,
441bf81340SEtienne Carriere		      <0xa0022000 0x2000>;
451bf81340SEtienne Carriere	};
461bf81340SEtienne Carriere
471bf81340SEtienne Carriere	timer {
481bf81340SEtienne Carriere		compatible = "arm,armv7-timer";
4913bd79f4SJohann Neuhauser		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
5013bd79f4SJohann Neuhauser			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
5113bd79f4SJohann Neuhauser			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
5213bd79f4SJohann Neuhauser			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
531bf81340SEtienne Carriere		interrupt-parent = <&intc>;
541bf81340SEtienne Carriere	};
551bf81340SEtienne Carriere
561bf81340SEtienne Carriere	clocks {
571bf81340SEtienne Carriere		clk_hse: clk-hse {
581bf81340SEtienne Carriere			#clock-cells = <0>;
591bf81340SEtienne Carriere			compatible = "fixed-clock";
601bf81340SEtienne Carriere			clock-frequency = <24000000>;
611bf81340SEtienne Carriere		};
621bf81340SEtienne Carriere
631bf81340SEtienne Carriere		clk_hsi: clk-hsi {
641bf81340SEtienne Carriere			#clock-cells = <0>;
651bf81340SEtienne Carriere			compatible = "fixed-clock";
661bf81340SEtienne Carriere			clock-frequency = <64000000>;
671bf81340SEtienne Carriere		};
681bf81340SEtienne Carriere
691bf81340SEtienne Carriere		clk_lse: clk-lse {
701bf81340SEtienne Carriere			#clock-cells = <0>;
711bf81340SEtienne Carriere			compatible = "fixed-clock";
721bf81340SEtienne Carriere			clock-frequency = <32768>;
731bf81340SEtienne Carriere		};
741bf81340SEtienne Carriere
751bf81340SEtienne Carriere		clk_lsi: clk-lsi {
761bf81340SEtienne Carriere			#clock-cells = <0>;
771bf81340SEtienne Carriere			compatible = "fixed-clock";
781bf81340SEtienne Carriere			clock-frequency = <32000>;
791bf81340SEtienne Carriere		};
801bf81340SEtienne Carriere
811bf81340SEtienne Carriere		clk_csi: clk-csi {
821bf81340SEtienne Carriere			#clock-cells = <0>;
831bf81340SEtienne Carriere			compatible = "fixed-clock";
841bf81340SEtienne Carriere			clock-frequency = <4000000>;
851bf81340SEtienne Carriere		};
861bf81340SEtienne Carriere	};
871bf81340SEtienne Carriere
881bf81340SEtienne Carriere	thermal-zones {
891bf81340SEtienne Carriere		cpu_thermal: cpu-thermal {
901bf81340SEtienne Carriere			polling-delay-passive = <0>;
911bf81340SEtienne Carriere			polling-delay = <0>;
921bf81340SEtienne Carriere			thermal-sensors = <&dts>;
931bf81340SEtienne Carriere
941bf81340SEtienne Carriere			trips {
951bf81340SEtienne Carriere				cpu_alert1: cpu-alert1 {
961bf81340SEtienne Carriere					temperature = <85000>;
971bf81340SEtienne Carriere					hysteresis = <0>;
981bf81340SEtienne Carriere					type = "passive";
991bf81340SEtienne Carriere				};
1001bf81340SEtienne Carriere
1011bf81340SEtienne Carriere				cpu-crit {
1021bf81340SEtienne Carriere					temperature = <120000>;
1031bf81340SEtienne Carriere					hysteresis = <0>;
1041bf81340SEtienne Carriere					type = "critical";
1051bf81340SEtienne Carriere				};
1061bf81340SEtienne Carriere			};
1071bf81340SEtienne Carriere
1081bf81340SEtienne Carriere			cooling-maps {
1091bf81340SEtienne Carriere			};
1101bf81340SEtienne Carriere		};
1111bf81340SEtienne Carriere	};
1121bf81340SEtienne Carriere
1131bf81340SEtienne Carriere	booster: regulator-booster {
1141bf81340SEtienne Carriere		compatible = "st,stm32mp1-booster";
1151bf81340SEtienne Carriere		st,syscfg = <&syscfg>;
1161bf81340SEtienne Carriere		status = "disabled";
1171bf81340SEtienne Carriere	};
1181bf81340SEtienne Carriere
1191bf81340SEtienne Carriere	soc {
1201bf81340SEtienne Carriere		compatible = "simple-bus";
1211bf81340SEtienne Carriere		#address-cells = <1>;
1221bf81340SEtienne Carriere		#size-cells = <1>;
1231bf81340SEtienne Carriere		interrupt-parent = <&intc>;
1241bf81340SEtienne Carriere		ranges;
1251bf81340SEtienne Carriere
1261bf81340SEtienne Carriere		ipcc: mailbox@4c001000 {
1271bf81340SEtienne Carriere			compatible = "st,stm32mp1-ipcc";
1281bf81340SEtienne Carriere			#mbox-cells = <1>;
1291bf81340SEtienne Carriere			reg = <0x4c001000 0x400>;
1301bf81340SEtienne Carriere			st,proc-id = <0>;
1311bf81340SEtienne Carriere			interrupts-extended =
1321bf81340SEtienne Carriere				<&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1331bf81340SEtienne Carriere				<&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1341bf81340SEtienne Carriere				<&exti 61 1>;
1351bf81340SEtienne Carriere			interrupt-names = "rx", "tx", "wakeup";
1361bf81340SEtienne Carriere			clocks = <&rcc IPCC>;
1371bf81340SEtienne Carriere			wakeup-source;
1381bf81340SEtienne Carriere			status = "disabled";
1391bf81340SEtienne Carriere		};
1401bf81340SEtienne Carriere
1411bf81340SEtienne Carriere		rcc: rcc@50000000 {
1421bf81340SEtienne Carriere			compatible = "st,stm32mp1-rcc", "syscon";
1431bf81340SEtienne Carriere			reg = <0x50000000 0x1000>;
1441bf81340SEtienne Carriere			#clock-cells = <1>;
1451bf81340SEtienne Carriere			#reset-cells = <1>;
1461bf81340SEtienne Carriere		};
1471bf81340SEtienne Carriere
1481bf81340SEtienne Carriere		pwr_regulators: pwr@50001000 {
149*0d7276acSPatrick Delaunay			compatible = "st,stm32mp1-pwr-reg";
1501bf81340SEtienne Carriere			reg = <0x50001000 0x10>;
1511bf81340SEtienne Carriere
1521bf81340SEtienne Carriere			reg11: reg11 {
1531bf81340SEtienne Carriere				regulator-name = "reg11";
1541bf81340SEtienne Carriere				regulator-min-microvolt = <1100000>;
1551bf81340SEtienne Carriere				regulator-max-microvolt = <1100000>;
1561bf81340SEtienne Carriere			};
1571bf81340SEtienne Carriere
1581bf81340SEtienne Carriere			reg18: reg18 {
1591bf81340SEtienne Carriere				regulator-name = "reg18";
1601bf81340SEtienne Carriere				regulator-min-microvolt = <1800000>;
1611bf81340SEtienne Carriere				regulator-max-microvolt = <1800000>;
1621bf81340SEtienne Carriere			};
1631bf81340SEtienne Carriere
1641bf81340SEtienne Carriere			usb33: usb33 {
1651bf81340SEtienne Carriere				regulator-name = "usb33";
1661bf81340SEtienne Carriere				regulator-min-microvolt = <3300000>;
1671bf81340SEtienne Carriere				regulator-max-microvolt = <3300000>;
1681bf81340SEtienne Carriere			};
1691bf81340SEtienne Carriere		};
1701bf81340SEtienne Carriere
17113bd79f4SJohann Neuhauser		pwr_mcu: pwr_mcu@50001014 {
17213bd79f4SJohann Neuhauser			compatible = "st,stm32mp151-pwr-mcu", "syscon";
17313bd79f4SJohann Neuhauser			reg = <0x50001014 0x4>;
17413bd79f4SJohann Neuhauser		};
17513bd79f4SJohann Neuhauser
1761bf81340SEtienne Carriere		exti: interrupt-controller@5000d000 {
177ef1aa5cfSAntonio Borneo			compatible = "st,stm32mp1-exti";
1781bf81340SEtienne Carriere			interrupt-controller;
1791bf81340SEtienne Carriere			#interrupt-cells = <2>;
1801bf81340SEtienne Carriere			reg = <0x5000d000 0x400>;
181ef1aa5cfSAntonio Borneo			interrupts-extended =
182ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 6   IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_0 */
183ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 7   IRQ_TYPE_LEVEL_HIGH>,
184ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 8   IRQ_TYPE_LEVEL_HIGH>,
185ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 9   IRQ_TYPE_LEVEL_HIGH>,
186ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 10  IRQ_TYPE_LEVEL_HIGH>,
187ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 23  IRQ_TYPE_LEVEL_HIGH>,
188ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 64  IRQ_TYPE_LEVEL_HIGH>,
189ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 65  IRQ_TYPE_LEVEL_HIGH>,
190ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 66  IRQ_TYPE_LEVEL_HIGH>,
191ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 67  IRQ_TYPE_LEVEL_HIGH>,
192ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 40  IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_10 */
193ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 42  IRQ_TYPE_LEVEL_HIGH>,
194ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 76  IRQ_TYPE_LEVEL_HIGH>,
195ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 77  IRQ_TYPE_LEVEL_HIGH>,
196ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
197ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
198ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 1   IRQ_TYPE_LEVEL_HIGH>,
199ef1aa5cfSAntonio Borneo				<0>,
200ef1aa5cfSAntonio Borneo				<0>,
201ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 3   IRQ_TYPE_LEVEL_HIGH>,
202ef1aa5cfSAntonio Borneo				<0>,						/* EXTI_20 */
203ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 31  IRQ_TYPE_LEVEL_HIGH>,
204ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 33  IRQ_TYPE_LEVEL_HIGH>,
205ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 72  IRQ_TYPE_LEVEL_HIGH>,
206ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 95  IRQ_TYPE_LEVEL_HIGH>,
207ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
208ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 37  IRQ_TYPE_LEVEL_HIGH>,
209ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 38  IRQ_TYPE_LEVEL_HIGH>,
210ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 39  IRQ_TYPE_LEVEL_HIGH>,
211ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 71  IRQ_TYPE_LEVEL_HIGH>,
212ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 52  IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_30 */
213ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 53  IRQ_TYPE_LEVEL_HIGH>,
214ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 82  IRQ_TYPE_LEVEL_HIGH>,
215ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 83  IRQ_TYPE_LEVEL_HIGH>,
216ef1aa5cfSAntonio Borneo				<0>,
217ef1aa5cfSAntonio Borneo				<0>,
218ef1aa5cfSAntonio Borneo				<0>,
219ef1aa5cfSAntonio Borneo				<0>,
220ef1aa5cfSAntonio Borneo				<0>,
221ef1aa5cfSAntonio Borneo				<0>,
222ef1aa5cfSAntonio Borneo				<0>,						/* EXTI_40 */
223ef1aa5cfSAntonio Borneo				<0>,
224ef1aa5cfSAntonio Borneo				<0>,
225ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 75  IRQ_TYPE_LEVEL_HIGH>,
226ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 98  IRQ_TYPE_LEVEL_HIGH>,
227ef1aa5cfSAntonio Borneo				<0>,
228ef1aa5cfSAntonio Borneo				<0>,
229ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 93  IRQ_TYPE_LEVEL_HIGH>,
230ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
231ef1aa5cfSAntonio Borneo				<0>,
232ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_50 */
233ef1aa5cfSAntonio Borneo				<0>,
234ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
235ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
236ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
237ef1aa5cfSAntonio Borneo				<0>,
238ef1aa5cfSAntonio Borneo				<0>,
239ef1aa5cfSAntonio Borneo				<0>,
240ef1aa5cfSAntonio Borneo				<0>,
241ef1aa5cfSAntonio Borneo				<0>,
242ef1aa5cfSAntonio Borneo				<0>,						/* EXTI_60 */
243ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
244ef1aa5cfSAntonio Borneo				<0>,
245ef1aa5cfSAntonio Borneo				<0>,
246ef1aa5cfSAntonio Borneo				<0>,
247ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
248ef1aa5cfSAntonio Borneo				<0>,
249ef1aa5cfSAntonio Borneo				<0>,
250ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
251ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 94  IRQ_TYPE_LEVEL_HIGH>,
252ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 62  IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_70 */
253ef1aa5cfSAntonio Borneo				<0>,
254ef1aa5cfSAntonio Borneo				<0>,
255ef1aa5cfSAntonio Borneo				<&intc GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
2561bf81340SEtienne Carriere		};
2571bf81340SEtienne Carriere
2581bf81340SEtienne Carriere		syscfg: syscon@50020000 {
2591bf81340SEtienne Carriere			compatible = "st,stm32mp157-syscfg", "syscon";
2601bf81340SEtienne Carriere			reg = <0x50020000 0x400>;
2611bf81340SEtienne Carriere			clocks = <&rcc SYSCFG>;
2621bf81340SEtienne Carriere		};
2631bf81340SEtienne Carriere
2641bf81340SEtienne Carriere		dts: thermal@50028000 {
2651bf81340SEtienne Carriere			compatible = "st,stm32-thermal";
2661bf81340SEtienne Carriere			reg = <0x50028000 0x100>;
2671bf81340SEtienne Carriere			interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
2681bf81340SEtienne Carriere			clocks = <&rcc TMPSENS>;
2691bf81340SEtienne Carriere			clock-names = "pclk";
2701bf81340SEtienne Carriere			#thermal-sensor-cells = <0>;
2711bf81340SEtienne Carriere			status = "disabled";
2721bf81340SEtienne Carriere		};
2731bf81340SEtienne Carriere
2741bf81340SEtienne Carriere		mdma1: dma-controller@58000000 {
2751bf81340SEtienne Carriere			compatible = "st,stm32h7-mdma";
2761bf81340SEtienne Carriere			reg = <0x58000000 0x1000>;
2771bf81340SEtienne Carriere			interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
2781bf81340SEtienne Carriere			clocks = <&rcc MDMA>;
27913bd79f4SJohann Neuhauser			resets = <&rcc MDMA_R>;
2801bf81340SEtienne Carriere			#dma-cells = <5>;
2811bf81340SEtienne Carriere			dma-channels = <32>;
2821bf81340SEtienne Carriere			dma-requests = <48>;
2831bf81340SEtienne Carriere		};
2841bf81340SEtienne Carriere
28513bd79f4SJohann Neuhauser		sdmmc1: mmc@58005000 {
28613bd79f4SJohann Neuhauser			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
28713bd79f4SJohann Neuhauser			arm,primecell-periphid = <0x00253180>;
2881bf81340SEtienne Carriere			reg = <0x58005000 0x1000>;
2891bf81340SEtienne Carriere			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
2901bf81340SEtienne Carriere			interrupt-names = "cmd_irq";
2911bf81340SEtienne Carriere			clocks = <&rcc SDMMC1_K>;
2921bf81340SEtienne Carriere			clock-names = "apb_pclk";
2931bf81340SEtienne Carriere			resets = <&rcc SDMMC1_R>;
2941bf81340SEtienne Carriere			cap-sd-highspeed;
2951bf81340SEtienne Carriere			cap-mmc-highspeed;
2961bf81340SEtienne Carriere			max-frequency = <120000000>;
2971bf81340SEtienne Carriere			status = "disabled";
2981bf81340SEtienne Carriere		};
2991bf81340SEtienne Carriere
30013bd79f4SJohann Neuhauser		sdmmc2: mmc@58007000 {
30113bd79f4SJohann Neuhauser			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
30213bd79f4SJohann Neuhauser			arm,primecell-periphid = <0x00253180>;
3031bf81340SEtienne Carriere			reg = <0x58007000 0x1000>;
3041bf81340SEtienne Carriere			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
3051bf81340SEtienne Carriere			interrupt-names = "cmd_irq";
3061bf81340SEtienne Carriere			clocks = <&rcc SDMMC2_K>;
3071bf81340SEtienne Carriere			clock-names = "apb_pclk";
3081bf81340SEtienne Carriere			resets = <&rcc SDMMC2_R>;
3091bf81340SEtienne Carriere			cap-sd-highspeed;
3101bf81340SEtienne Carriere			cap-mmc-highspeed;
3111bf81340SEtienne Carriere			max-frequency = <120000000>;
3121bf81340SEtienne Carriere			status = "disabled";
3131bf81340SEtienne Carriere		};
3141bf81340SEtienne Carriere
3151bf81340SEtienne Carriere		crc1: crc@58009000 {
3161bf81340SEtienne Carriere			compatible = "st,stm32f7-crc";
3171bf81340SEtienne Carriere			reg = <0x58009000 0x400>;
3181bf81340SEtienne Carriere			clocks = <&rcc CRC1>;
3191bf81340SEtienne Carriere			status = "disabled";
3201bf81340SEtienne Carriere		};
3211bf81340SEtienne Carriere
32213bd79f4SJohann Neuhauser		usbh_ohci: usb@5800c000 {
3231bf81340SEtienne Carriere			compatible = "generic-ohci";
3241bf81340SEtienne Carriere			reg = <0x5800c000 0x1000>;
32513bd79f4SJohann Neuhauser			clocks = <&usbphyc>, <&rcc USBH>;
3261bf81340SEtienne Carriere			resets = <&rcc USBH_R>;
3271bf81340SEtienne Carriere			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
3281bf81340SEtienne Carriere			status = "disabled";
3291bf81340SEtienne Carriere		};
3301bf81340SEtienne Carriere
33113bd79f4SJohann Neuhauser		usbh_ehci: usb@5800d000 {
3321bf81340SEtienne Carriere			compatible = "generic-ehci";
3331bf81340SEtienne Carriere			reg = <0x5800d000 0x1000>;
33413bd79f4SJohann Neuhauser			clocks = <&usbphyc>, <&rcc USBH>;
3351bf81340SEtienne Carriere			resets = <&rcc USBH_R>;
3361bf81340SEtienne Carriere			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
3371bf81340SEtienne Carriere			companion = <&usbh_ohci>;
3381bf81340SEtienne Carriere			status = "disabled";
3391bf81340SEtienne Carriere		};
3401bf81340SEtienne Carriere
3411bf81340SEtienne Carriere		ltdc: display-controller@5a001000 {
3421bf81340SEtienne Carriere			compatible = "st,stm32-ltdc";
3431bf81340SEtienne Carriere			reg = <0x5a001000 0x400>;
3441bf81340SEtienne Carriere			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
3451bf81340SEtienne Carriere				     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
3461bf81340SEtienne Carriere			clocks = <&rcc LTDC_PX>;
3471bf81340SEtienne Carriere			clock-names = "lcd";
3481bf81340SEtienne Carriere			resets = <&rcc LTDC_R>;
3491bf81340SEtienne Carriere			status = "disabled";
35013bd79f4SJohann Neuhauser
35113bd79f4SJohann Neuhauser			port {
35213bd79f4SJohann Neuhauser				#address-cells = <1>;
35313bd79f4SJohann Neuhauser				#size-cells = <0>;
35413bd79f4SJohann Neuhauser			};
3551bf81340SEtienne Carriere		};
3561bf81340SEtienne Carriere
3571bf81340SEtienne Carriere		iwdg2: watchdog@5a002000 {
3581bf81340SEtienne Carriere			compatible = "st,stm32mp1-iwdg";
3591bf81340SEtienne Carriere			reg = <0x5a002000 0x400>;
36081ed3bceSEtienne Carriere			interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
3611bf81340SEtienne Carriere			clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
3621bf81340SEtienne Carriere			clock-names = "pclk", "lsi";
3631bf81340SEtienne Carriere			status = "disabled";
3641bf81340SEtienne Carriere		};
3651bf81340SEtienne Carriere
3661bf81340SEtienne Carriere		usbphyc: usbphyc@5a006000 {
3671bf81340SEtienne Carriere			#address-cells = <1>;
3681bf81340SEtienne Carriere			#size-cells = <0>;
36913bd79f4SJohann Neuhauser			#clock-cells = <0>;
3701bf81340SEtienne Carriere			compatible = "st,stm32mp1-usbphyc";
3711bf81340SEtienne Carriere			reg = <0x5a006000 0x1000>;
3721bf81340SEtienne Carriere			clocks = <&rcc USBPHY_K>;
3731bf81340SEtienne Carriere			resets = <&rcc USBPHY_R>;
37413bd79f4SJohann Neuhauser			vdda1v1-supply = <&reg11>;
37513bd79f4SJohann Neuhauser			vdda1v8-supply = <&reg18>;
3761bf81340SEtienne Carriere			status = "disabled";
3771bf81340SEtienne Carriere
3781bf81340SEtienne Carriere			usbphyc_port0: usb-phy@0 {
3791bf81340SEtienne Carriere				#phy-cells = <0>;
3801bf81340SEtienne Carriere				reg = <0>;
3811bf81340SEtienne Carriere			};
3821bf81340SEtienne Carriere
3831bf81340SEtienne Carriere			usbphyc_port1: usb-phy@1 {
3841bf81340SEtienne Carriere				#phy-cells = <1>;
3851bf81340SEtienne Carriere				reg = <1>;
3861bf81340SEtienne Carriere			};
3871bf81340SEtienne Carriere		};
3881bf81340SEtienne Carriere
3891bf81340SEtienne Carriere		rtc: rtc@5c004000 {
3901bf81340SEtienne Carriere			compatible = "st,stm32mp1-rtc";
3911bf81340SEtienne Carriere			reg = <0x5c004000 0x400>;
3921bf81340SEtienne Carriere			clocks = <&rcc RTCAPB>, <&rcc RTC>;
3931bf81340SEtienne Carriere			clock-names = "pclk", "rtc_ck";
39413bd79f4SJohann Neuhauser			interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
3951bf81340SEtienne Carriere		};
3961bf81340SEtienne Carriere
3971bf81340SEtienne Carriere		bsec: efuse@5c005000 {
3981bf81340SEtienne Carriere			compatible = "st,stm32mp15-bsec";
3991bf81340SEtienne Carriere			reg = <0x5c005000 0x400>;
4001bf81340SEtienne Carriere			#address-cells = <1>;
4011bf81340SEtienne Carriere			#size-cells = <1>;
402b867b07eSGatien Chevallier
403b867b07eSGatien Chevallier			cfg0_otp: cfg0_otp@0 {
404b867b07eSGatien Chevallier				reg = <0x0 0x1>;
405b867b07eSGatien Chevallier			};
406b867b07eSGatien Chevallier			part_number_otp: part_number_otp@4 {
407b867b07eSGatien Chevallier				reg = <0x4 0x1>;
408b867b07eSGatien Chevallier			};
409b867b07eSGatien Chevallier			monotonic_otp: monotonic_otp@10 {
410b867b07eSGatien Chevallier				reg = <0x10 0x4>;
411b867b07eSGatien Chevallier			};
412b867b07eSGatien Chevallier			nand_otp: nand_otp@24 {
413b867b07eSGatien Chevallier				reg = <0x24 0x4>;
414b867b07eSGatien Chevallier			};
415b867b07eSGatien Chevallier			uid_otp: uid_otp@34 {
416b867b07eSGatien Chevallier				reg = <0x34 0xc>;
417b867b07eSGatien Chevallier			};
418b867b07eSGatien Chevallier			package_otp: package_otp@40 {
419b867b07eSGatien Chevallier				reg = <0x40 0x4>;
420b867b07eSGatien Chevallier			};
421b867b07eSGatien Chevallier			hw2_otp: hw2_otp@48 {
422b867b07eSGatien Chevallier				reg = <0x48 0x4>;
423b867b07eSGatien Chevallier			};
4241bf81340SEtienne Carriere			ts_cal1: calib@5c {
4251bf81340SEtienne Carriere				reg = <0x5c 0x2>;
4261bf81340SEtienne Carriere			};
4271bf81340SEtienne Carriere			ts_cal2: calib@5e {
4281bf81340SEtienne Carriere				reg = <0x5e 0x2>;
4291bf81340SEtienne Carriere			};
430b867b07eSGatien Chevallier			pkh_otp: pkh_otp@60 {
431b867b07eSGatien Chevallier				reg = <0x60 0x20>;
432b867b07eSGatien Chevallier			};
433b867b07eSGatien Chevallier			ethernet_mac_address: mac@e4 {
4344703bfe2SEtienne Carriere				reg = <0xe4 0x8>;
4354703bfe2SEtienne Carriere				st,non-secure-otp;
4364703bfe2SEtienne Carriere			};
4371bf81340SEtienne Carriere		};
4381bf81340SEtienne Carriere
43913bd79f4SJohann Neuhauser		tamp: tamp@5c00a000 {
44013bd79f4SJohann Neuhauser			compatible = "st,stm32-tamp", "syscon", "simple-mfd";
44113bd79f4SJohann Neuhauser			reg = <0x5c00a000 0x400>;
44213bd79f4SJohann Neuhauser			clocks = <&rcc RTCAPB>;
443a60fc03eSGatien Chevallier			interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
444854c98eeSGatien Chevallier			st,backup-zones = <10 5 17>;
44513bd79f4SJohann Neuhauser		};
44613bd79f4SJohann Neuhauser
4471bf81340SEtienne Carriere		/*
4481bf81340SEtienne Carriere		 * Break node order to solve dependency probe issue between
4491bf81340SEtienne Carriere		 * pinctrl and exti.
4501bf81340SEtienne Carriere		 */
4514f6cde8fSEtienne Carriere		pinctrl: pinctrl@50002000 {
4521bf81340SEtienne Carriere			#address-cells = <1>;
4531bf81340SEtienne Carriere			#size-cells = <1>;
4541bf81340SEtienne Carriere			compatible = "st,stm32mp157-pinctrl";
4551bf81340SEtienne Carriere			ranges = <0 0x50002000 0xa400>;
4561bf81340SEtienne Carriere			interrupt-parent = <&exti>;
4571bf81340SEtienne Carriere			st,syscfg = <&exti 0x60 0xff>;
4581bf81340SEtienne Carriere
4591bf81340SEtienne Carriere			gpioa: gpio@50002000 {
4601bf81340SEtienne Carriere				gpio-controller;
4611bf81340SEtienne Carriere				#gpio-cells = <2>;
4621bf81340SEtienne Carriere				interrupt-controller;
4631bf81340SEtienne Carriere				#interrupt-cells = <2>;
4641bf81340SEtienne Carriere				reg = <0x0 0x400>;
4651bf81340SEtienne Carriere				clocks = <&rcc GPIOA>;
4661bf81340SEtienne Carriere				st,bank-name = "GPIOA";
4671bf81340SEtienne Carriere				status = "disabled";
4681bf81340SEtienne Carriere			};
4691bf81340SEtienne Carriere
4701bf81340SEtienne Carriere			gpiob: gpio@50003000 {
4711bf81340SEtienne Carriere				gpio-controller;
4721bf81340SEtienne Carriere				#gpio-cells = <2>;
4731bf81340SEtienne Carriere				interrupt-controller;
4741bf81340SEtienne Carriere				#interrupt-cells = <2>;
4751bf81340SEtienne Carriere				reg = <0x1000 0x400>;
4761bf81340SEtienne Carriere				clocks = <&rcc GPIOB>;
4771bf81340SEtienne Carriere				st,bank-name = "GPIOB";
4781bf81340SEtienne Carriere				status = "disabled";
4791bf81340SEtienne Carriere			};
4801bf81340SEtienne Carriere
4811bf81340SEtienne Carriere			gpioc: gpio@50004000 {
4821bf81340SEtienne Carriere				gpio-controller;
4831bf81340SEtienne Carriere				#gpio-cells = <2>;
4841bf81340SEtienne Carriere				interrupt-controller;
4851bf81340SEtienne Carriere				#interrupt-cells = <2>;
4861bf81340SEtienne Carriere				reg = <0x2000 0x400>;
4871bf81340SEtienne Carriere				clocks = <&rcc GPIOC>;
4881bf81340SEtienne Carriere				st,bank-name = "GPIOC";
4891bf81340SEtienne Carriere				status = "disabled";
4901bf81340SEtienne Carriere			};
4911bf81340SEtienne Carriere
4921bf81340SEtienne Carriere			gpiod: gpio@50005000 {
4931bf81340SEtienne Carriere				gpio-controller;
4941bf81340SEtienne Carriere				#gpio-cells = <2>;
4951bf81340SEtienne Carriere				interrupt-controller;
4961bf81340SEtienne Carriere				#interrupt-cells = <2>;
4971bf81340SEtienne Carriere				reg = <0x3000 0x400>;
4981bf81340SEtienne Carriere				clocks = <&rcc GPIOD>;
4991bf81340SEtienne Carriere				st,bank-name = "GPIOD";
5001bf81340SEtienne Carriere				status = "disabled";
5011bf81340SEtienne Carriere			};
5021bf81340SEtienne Carriere
5031bf81340SEtienne Carriere			gpioe: gpio@50006000 {
5041bf81340SEtienne Carriere				gpio-controller;
5051bf81340SEtienne Carriere				#gpio-cells = <2>;
5061bf81340SEtienne Carriere				interrupt-controller;
5071bf81340SEtienne Carriere				#interrupt-cells = <2>;
5081bf81340SEtienne Carriere				reg = <0x4000 0x400>;
5091bf81340SEtienne Carriere				clocks = <&rcc GPIOE>;
5101bf81340SEtienne Carriere				st,bank-name = "GPIOE";
5111bf81340SEtienne Carriere				status = "disabled";
5121bf81340SEtienne Carriere			};
5131bf81340SEtienne Carriere
5141bf81340SEtienne Carriere			gpiof: gpio@50007000 {
5151bf81340SEtienne Carriere				gpio-controller;
5161bf81340SEtienne Carriere				#gpio-cells = <2>;
5171bf81340SEtienne Carriere				interrupt-controller;
5181bf81340SEtienne Carriere				#interrupt-cells = <2>;
5191bf81340SEtienne Carriere				reg = <0x5000 0x400>;
5201bf81340SEtienne Carriere				clocks = <&rcc GPIOF>;
5211bf81340SEtienne Carriere				st,bank-name = "GPIOF";
5221bf81340SEtienne Carriere				status = "disabled";
5231bf81340SEtienne Carriere			};
5241bf81340SEtienne Carriere
5251bf81340SEtienne Carriere			gpiog: gpio@50008000 {
5261bf81340SEtienne Carriere				gpio-controller;
5271bf81340SEtienne Carriere				#gpio-cells = <2>;
5281bf81340SEtienne Carriere				interrupt-controller;
5291bf81340SEtienne Carriere				#interrupt-cells = <2>;
5301bf81340SEtienne Carriere				reg = <0x6000 0x400>;
5311bf81340SEtienne Carriere				clocks = <&rcc GPIOG>;
5321bf81340SEtienne Carriere				st,bank-name = "GPIOG";
5331bf81340SEtienne Carriere				status = "disabled";
5341bf81340SEtienne Carriere			};
5351bf81340SEtienne Carriere
5361bf81340SEtienne Carriere			gpioh: gpio@50009000 {
5371bf81340SEtienne Carriere				gpio-controller;
5381bf81340SEtienne Carriere				#gpio-cells = <2>;
5391bf81340SEtienne Carriere				interrupt-controller;
5401bf81340SEtienne Carriere				#interrupt-cells = <2>;
5411bf81340SEtienne Carriere				reg = <0x7000 0x400>;
5421bf81340SEtienne Carriere				clocks = <&rcc GPIOH>;
5431bf81340SEtienne Carriere				st,bank-name = "GPIOH";
5441bf81340SEtienne Carriere				status = "disabled";
5451bf81340SEtienne Carriere			};
5461bf81340SEtienne Carriere
5471bf81340SEtienne Carriere			gpioi: gpio@5000a000 {
5481bf81340SEtienne Carriere				gpio-controller;
5491bf81340SEtienne Carriere				#gpio-cells = <2>;
5501bf81340SEtienne Carriere				interrupt-controller;
5511bf81340SEtienne Carriere				#interrupt-cells = <2>;
5521bf81340SEtienne Carriere				reg = <0x8000 0x400>;
5531bf81340SEtienne Carriere				clocks = <&rcc GPIOI>;
5541bf81340SEtienne Carriere				st,bank-name = "GPIOI";
5551bf81340SEtienne Carriere				status = "disabled";
5561bf81340SEtienne Carriere			};
5571bf81340SEtienne Carriere
5581bf81340SEtienne Carriere			gpioj: gpio@5000b000 {
5591bf81340SEtienne Carriere				gpio-controller;
5601bf81340SEtienne Carriere				#gpio-cells = <2>;
5611bf81340SEtienne Carriere				interrupt-controller;
5621bf81340SEtienne Carriere				#interrupt-cells = <2>;
5631bf81340SEtienne Carriere				reg = <0x9000 0x400>;
5641bf81340SEtienne Carriere				clocks = <&rcc GPIOJ>;
5651bf81340SEtienne Carriere				st,bank-name = "GPIOJ";
5661bf81340SEtienne Carriere				status = "disabled";
5671bf81340SEtienne Carriere			};
5681bf81340SEtienne Carriere
5691bf81340SEtienne Carriere			gpiok: gpio@5000c000 {
5701bf81340SEtienne Carriere				gpio-controller;
5711bf81340SEtienne Carriere				#gpio-cells = <2>;
5721bf81340SEtienne Carriere				interrupt-controller;
5731bf81340SEtienne Carriere				#interrupt-cells = <2>;
5741bf81340SEtienne Carriere				reg = <0xa000 0x400>;
5751bf81340SEtienne Carriere				clocks = <&rcc GPIOK>;
5761bf81340SEtienne Carriere				st,bank-name = "GPIOK";
5771bf81340SEtienne Carriere				status = "disabled";
5781bf81340SEtienne Carriere			};
5791bf81340SEtienne Carriere		};
5801bf81340SEtienne Carriere
5814f6cde8fSEtienne Carriere		pinctrl_z: pinctrl@54004000 {
5821bf81340SEtienne Carriere			#address-cells = <1>;
5831bf81340SEtienne Carriere			#size-cells = <1>;
5841bf81340SEtienne Carriere			compatible = "st,stm32mp157-z-pinctrl";
5851bf81340SEtienne Carriere			ranges = <0 0x54004000 0x400>;
5861bf81340SEtienne Carriere			interrupt-parent = <&exti>;
5871bf81340SEtienne Carriere			st,syscfg = <&exti 0x60 0xff>;
5881bf81340SEtienne Carriere
5891bf81340SEtienne Carriere			gpioz: gpio@54004000 {
5901bf81340SEtienne Carriere				gpio-controller;
5911bf81340SEtienne Carriere				#gpio-cells = <2>;
5921bf81340SEtienne Carriere				interrupt-controller;
5931bf81340SEtienne Carriere				#interrupt-cells = <2>;
594e0ea1b9eSEtienne Carriere				#access-controller-cells = <1>;
5951bf81340SEtienne Carriere				reg = <0 0x400>;
5961bf81340SEtienne Carriere				clocks = <&rcc GPIOZ>;
5971bf81340SEtienne Carriere				st,bank-name = "GPIOZ";
5981bf81340SEtienne Carriere				st,bank-ioport = <11>;
5991bf81340SEtienne Carriere				status = "disabled";
6001bf81340SEtienne Carriere			};
6011bf81340SEtienne Carriere		};
602b9313312SGatien Chevallier
603d7bb00f5SGatien Chevallier		tzc400: tzc@5c006000 {
604d7bb00f5SGatien Chevallier			compatible = "st,stm32mp1-tzc";
605d7bb00f5SGatien Chevallier			reg = <0x5c006000 0x1000>;
606d7bb00f5SGatien Chevallier			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
607d7bb00f5SGatien Chevallier			clocks = <&rcc TZC1>, <&rcc TZC2>;
608d7bb00f5SGatien Chevallier			st,mem-map = <0xc0000000 0x40000000>;
609d7bb00f5SGatien Chevallier		};
610d7bb00f5SGatien Chevallier
611b9313312SGatien Chevallier		etzpc: etzpc@5c007000 {
612b9313312SGatien Chevallier			compatible = "st,stm32-etzpc", "simple-bus";
613b9313312SGatien Chevallier			reg = <0x5C007000 0x400>;
614b9313312SGatien Chevallier			clocks = <&rcc TZPC>;
615b9313312SGatien Chevallier			#address-cells = <1>;
616b9313312SGatien Chevallier			#size-cells = <1>;
617b9313312SGatien Chevallier			#access-controller-cells = <1>;
618b9313312SGatien Chevallier
619b9313312SGatien Chevallier			timers2: timer@40000000 {
620b9313312SGatien Chevallier				#address-cells = <1>;
621b9313312SGatien Chevallier				#size-cells = <0>;
622b9313312SGatien Chevallier				compatible = "st,stm32-timers";
623b9313312SGatien Chevallier				reg = <0x40000000 0x400>;
624b9313312SGatien Chevallier				clocks = <&rcc TIM2_K>;
625b9313312SGatien Chevallier				clock-names = "int";
626b9313312SGatien Chevallier				dmas = <&dmamux1 18 0x400 0x1>,
627b9313312SGatien Chevallier				       <&dmamux1 19 0x400 0x1>,
628b9313312SGatien Chevallier				       <&dmamux1 20 0x400 0x1>,
629b9313312SGatien Chevallier				       <&dmamux1 21 0x400 0x1>,
630b9313312SGatien Chevallier				       <&dmamux1 22 0x400 0x1>;
631b9313312SGatien Chevallier				dma-names = "ch1", "ch2", "ch3", "ch4", "up";
632b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM2_ID>;
633b9313312SGatien Chevallier				status = "disabled";
634b9313312SGatien Chevallier
635b9313312SGatien Chevallier				pwm {
636b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
637b9313312SGatien Chevallier					#pwm-cells = <3>;
638b9313312SGatien Chevallier					status = "disabled";
639b9313312SGatien Chevallier				};
640b9313312SGatien Chevallier
641b9313312SGatien Chevallier				timer@1 {
642b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
643b9313312SGatien Chevallier					reg = <1>;
644b9313312SGatien Chevallier					status = "disabled";
645b9313312SGatien Chevallier				};
646b9313312SGatien Chevallier
647b9313312SGatien Chevallier				counter {
648b9313312SGatien Chevallier					compatible = "st,stm32-timer-counter";
649b9313312SGatien Chevallier					status = "disabled";
650b9313312SGatien Chevallier				};
651b9313312SGatien Chevallier			};
652b9313312SGatien Chevallier
653b9313312SGatien Chevallier			timers3: timer@40001000 {
654b9313312SGatien Chevallier				#address-cells = <1>;
655b9313312SGatien Chevallier				#size-cells = <0>;
656b9313312SGatien Chevallier				compatible = "st,stm32-timers";
657b9313312SGatien Chevallier				reg = <0x40001000 0x400>;
658b9313312SGatien Chevallier				clocks = <&rcc TIM3_K>;
659b9313312SGatien Chevallier				clock-names = "int";
660b9313312SGatien Chevallier				dmas = <&dmamux1 23 0x400 0x1>,
661b9313312SGatien Chevallier				       <&dmamux1 24 0x400 0x1>,
662b9313312SGatien Chevallier				       <&dmamux1 25 0x400 0x1>,
663b9313312SGatien Chevallier				       <&dmamux1 26 0x400 0x1>,
664b9313312SGatien Chevallier				       <&dmamux1 27 0x400 0x1>,
665b9313312SGatien Chevallier				       <&dmamux1 28 0x400 0x1>;
666b9313312SGatien Chevallier				dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
667b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM3_ID>;
668b9313312SGatien Chevallier				status = "disabled";
669b9313312SGatien Chevallier
670b9313312SGatien Chevallier				pwm {
671b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
672b9313312SGatien Chevallier					#pwm-cells = <3>;
673b9313312SGatien Chevallier					status = "disabled";
674b9313312SGatien Chevallier				};
675b9313312SGatien Chevallier
676b9313312SGatien Chevallier				timer@2 {
677b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
678b9313312SGatien Chevallier					reg = <2>;
679b9313312SGatien Chevallier					status = "disabled";
680b9313312SGatien Chevallier				};
681b9313312SGatien Chevallier
682b9313312SGatien Chevallier				counter {
683b9313312SGatien Chevallier					compatible = "st,stm32-timer-counter";
684b9313312SGatien Chevallier					status = "disabled";
685b9313312SGatien Chevallier				};
686b9313312SGatien Chevallier			};
687b9313312SGatien Chevallier
688b9313312SGatien Chevallier			timers4: timer@40002000 {
689b9313312SGatien Chevallier				#address-cells = <1>;
690b9313312SGatien Chevallier				#size-cells = <0>;
691b9313312SGatien Chevallier				compatible = "st,stm32-timers";
692b9313312SGatien Chevallier				reg = <0x40002000 0x400>;
693b9313312SGatien Chevallier				clocks = <&rcc TIM4_K>;
694b9313312SGatien Chevallier				clock-names = "int";
695b9313312SGatien Chevallier				dmas = <&dmamux1 29 0x400 0x1>,
696b9313312SGatien Chevallier				       <&dmamux1 30 0x400 0x1>,
697b9313312SGatien Chevallier				       <&dmamux1 31 0x400 0x1>,
698b9313312SGatien Chevallier				       <&dmamux1 32 0x400 0x1>;
699b9313312SGatien Chevallier				dma-names = "ch1", "ch2", "ch3", "ch4";
700b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM4_ID>;
701b9313312SGatien Chevallier				status = "disabled";
702b9313312SGatien Chevallier
703b9313312SGatien Chevallier				pwm {
704b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
705b9313312SGatien Chevallier					#pwm-cells = <3>;
706b9313312SGatien Chevallier					status = "disabled";
707b9313312SGatien Chevallier				};
708b9313312SGatien Chevallier
709b9313312SGatien Chevallier				timer@3 {
710b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
711b9313312SGatien Chevallier					reg = <3>;
712b9313312SGatien Chevallier					status = "disabled";
713b9313312SGatien Chevallier				};
714b9313312SGatien Chevallier
715b9313312SGatien Chevallier				counter {
716b9313312SGatien Chevallier					compatible = "st,stm32-timer-counter";
717b9313312SGatien Chevallier					status = "disabled";
718b9313312SGatien Chevallier				};
719b9313312SGatien Chevallier			};
720b9313312SGatien Chevallier
721b9313312SGatien Chevallier			timers5: timer@40003000 {
722b9313312SGatien Chevallier				#address-cells = <1>;
723b9313312SGatien Chevallier				#size-cells = <0>;
724b9313312SGatien Chevallier				compatible = "st,stm32-timers";
725b9313312SGatien Chevallier				reg = <0x40003000 0x400>;
726b9313312SGatien Chevallier				clocks = <&rcc TIM5_K>;
727b9313312SGatien Chevallier				clock-names = "int";
728b9313312SGatien Chevallier				dmas = <&dmamux1 55 0x400 0x1>,
729b9313312SGatien Chevallier				       <&dmamux1 56 0x400 0x1>,
730b9313312SGatien Chevallier				       <&dmamux1 57 0x400 0x1>,
731b9313312SGatien Chevallier				       <&dmamux1 58 0x400 0x1>,
732b9313312SGatien Chevallier				       <&dmamux1 59 0x400 0x1>,
733b9313312SGatien Chevallier				       <&dmamux1 60 0x400 0x1>;
734b9313312SGatien Chevallier				dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
735b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM5_ID>;
736b9313312SGatien Chevallier				status = "disabled";
737b9313312SGatien Chevallier
738b9313312SGatien Chevallier				pwm {
739b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
740b9313312SGatien Chevallier					#pwm-cells = <3>;
741b9313312SGatien Chevallier					status = "disabled";
742b9313312SGatien Chevallier				};
743b9313312SGatien Chevallier
744b9313312SGatien Chevallier				timer@4 {
745b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
746b9313312SGatien Chevallier					reg = <4>;
747b9313312SGatien Chevallier					status = "disabled";
748b9313312SGatien Chevallier				};
749b9313312SGatien Chevallier
750b9313312SGatien Chevallier				counter {
751b9313312SGatien Chevallier					compatible = "st,stm32-timer-counter";
752b9313312SGatien Chevallier					status = "disabled";
753b9313312SGatien Chevallier				};
754b9313312SGatien Chevallier			};
755b9313312SGatien Chevallier
756b9313312SGatien Chevallier			timers6: timer@40004000 {
757b9313312SGatien Chevallier				#address-cells = <1>;
758b9313312SGatien Chevallier				#size-cells = <0>;
759b9313312SGatien Chevallier				compatible = "st,stm32-timers";
760b9313312SGatien Chevallier				reg = <0x40004000 0x400>;
761b9313312SGatien Chevallier				clocks = <&rcc TIM6_K>;
762b9313312SGatien Chevallier				clock-names = "int";
763b9313312SGatien Chevallier				dmas = <&dmamux1 69 0x400 0x1>;
764b9313312SGatien Chevallier				dma-names = "up";
765b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM6_ID>;
766b9313312SGatien Chevallier				status = "disabled";
767b9313312SGatien Chevallier
768b9313312SGatien Chevallier				timer@5 {
769b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
770b9313312SGatien Chevallier					reg = <5>;
771b9313312SGatien Chevallier					status = "disabled";
772b9313312SGatien Chevallier				};
773b9313312SGatien Chevallier			};
774b9313312SGatien Chevallier
775b9313312SGatien Chevallier			timers7: timer@40005000 {
776b9313312SGatien Chevallier				#address-cells = <1>;
777b9313312SGatien Chevallier				#size-cells = <0>;
778b9313312SGatien Chevallier				compatible = "st,stm32-timers";
779b9313312SGatien Chevallier				reg = <0x40005000 0x400>;
780b9313312SGatien Chevallier				clocks = <&rcc TIM7_K>;
781b9313312SGatien Chevallier				clock-names = "int";
782b9313312SGatien Chevallier				dmas = <&dmamux1 70 0x400 0x1>;
783b9313312SGatien Chevallier				dma-names = "up";
784b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM7_ID>;
785b9313312SGatien Chevallier				status = "disabled";
786b9313312SGatien Chevallier
787b9313312SGatien Chevallier				timer@6 {
788b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
789b9313312SGatien Chevallier					reg = <6>;
790b9313312SGatien Chevallier					status = "disabled";
791b9313312SGatien Chevallier				};
792b9313312SGatien Chevallier			};
793b9313312SGatien Chevallier
794b9313312SGatien Chevallier			timers12: timer@40006000 {
795b9313312SGatien Chevallier				#address-cells = <1>;
796b9313312SGatien Chevallier				#size-cells = <0>;
797b9313312SGatien Chevallier				compatible = "st,stm32-timers";
798b9313312SGatien Chevallier				reg = <0x40006000 0x400>;
799b9313312SGatien Chevallier				clocks = <&rcc TIM12_K>;
800b9313312SGatien Chevallier				clock-names = "int";
801b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM12_ID>;
802b9313312SGatien Chevallier				status = "disabled";
803b9313312SGatien Chevallier
804b9313312SGatien Chevallier				pwm {
805b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
806b9313312SGatien Chevallier					#pwm-cells = <3>;
807b9313312SGatien Chevallier					status = "disabled";
808b9313312SGatien Chevallier				};
809b9313312SGatien Chevallier
810b9313312SGatien Chevallier				timer@11 {
811b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
812b9313312SGatien Chevallier					reg = <11>;
813b9313312SGatien Chevallier					status = "disabled";
814b9313312SGatien Chevallier				};
815b9313312SGatien Chevallier			};
816b9313312SGatien Chevallier
817b9313312SGatien Chevallier			timers13: timer@40007000 {
818b9313312SGatien Chevallier				#address-cells = <1>;
819b9313312SGatien Chevallier				#size-cells = <0>;
820b9313312SGatien Chevallier				compatible = "st,stm32-timers";
821b9313312SGatien Chevallier				reg = <0x40007000 0x400>;
822b9313312SGatien Chevallier				clocks = <&rcc TIM13_K>;
823b9313312SGatien Chevallier				clock-names = "int";
824b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM13_ID>;
825b9313312SGatien Chevallier				status = "disabled";
826b9313312SGatien Chevallier
827b9313312SGatien Chevallier				pwm {
828b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
829b9313312SGatien Chevallier					#pwm-cells = <3>;
830b9313312SGatien Chevallier					status = "disabled";
831b9313312SGatien Chevallier				};
832b9313312SGatien Chevallier
833b9313312SGatien Chevallier				timer@12 {
834b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
835b9313312SGatien Chevallier					reg = <12>;
836b9313312SGatien Chevallier					status = "disabled";
837b9313312SGatien Chevallier				};
838b9313312SGatien Chevallier			};
839b9313312SGatien Chevallier
840b9313312SGatien Chevallier			timers14: timer@40008000 {
841b9313312SGatien Chevallier				#address-cells = <1>;
842b9313312SGatien Chevallier				#size-cells = <0>;
843b9313312SGatien Chevallier				compatible = "st,stm32-timers";
844b9313312SGatien Chevallier				reg = <0x40008000 0x400>;
845b9313312SGatien Chevallier				clocks = <&rcc TIM14_K>;
846b9313312SGatien Chevallier				clock-names = "int";
847b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM14_ID>;
848b9313312SGatien Chevallier				status = "disabled";
849b9313312SGatien Chevallier
850b9313312SGatien Chevallier				pwm {
851b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
852b9313312SGatien Chevallier					#pwm-cells = <3>;
853b9313312SGatien Chevallier					status = "disabled";
854b9313312SGatien Chevallier				};
855b9313312SGatien Chevallier
856b9313312SGatien Chevallier				timer@13 {
857b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
858b9313312SGatien Chevallier					reg = <13>;
859b9313312SGatien Chevallier					status = "disabled";
860b9313312SGatien Chevallier				};
861b9313312SGatien Chevallier			};
862b9313312SGatien Chevallier
863b9313312SGatien Chevallier			lptimer1: timer@40009000 {
864b9313312SGatien Chevallier				#address-cells = <1>;
865b9313312SGatien Chevallier				#size-cells = <0>;
866b9313312SGatien Chevallier				compatible = "st,stm32-lptimer";
867b9313312SGatien Chevallier				reg = <0x40009000 0x400>;
868b9313312SGatien Chevallier				interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
869b9313312SGatien Chevallier				clocks = <&rcc LPTIM1_K>;
870b9313312SGatien Chevallier				clock-names = "mux";
871b9313312SGatien Chevallier				wakeup-source;
872b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_LPTIM1_ID>;
873b9313312SGatien Chevallier				status = "disabled";
874b9313312SGatien Chevallier
875b9313312SGatien Chevallier				pwm {
876b9313312SGatien Chevallier					compatible = "st,stm32-pwm-lp";
877b9313312SGatien Chevallier					#pwm-cells = <3>;
878b9313312SGatien Chevallier					status = "disabled";
879b9313312SGatien Chevallier				};
880b9313312SGatien Chevallier
881b9313312SGatien Chevallier				trigger@0 {
882b9313312SGatien Chevallier					compatible = "st,stm32-lptimer-trigger";
883b9313312SGatien Chevallier					reg = <0>;
884b9313312SGatien Chevallier					status = "disabled";
885b9313312SGatien Chevallier				};
886b9313312SGatien Chevallier
887b9313312SGatien Chevallier				counter {
888b9313312SGatien Chevallier					compatible = "st,stm32-lptimer-counter";
889b9313312SGatien Chevallier					status = "disabled";
890b9313312SGatien Chevallier				};
891b9313312SGatien Chevallier			};
892b9313312SGatien Chevallier
893b9313312SGatien Chevallier			spi2: spi@4000b000 {
894b9313312SGatien Chevallier				#address-cells = <1>;
895b9313312SGatien Chevallier				#size-cells = <0>;
896b9313312SGatien Chevallier				compatible = "st,stm32h7-spi";
897b9313312SGatien Chevallier				reg = <0x4000b000 0x400>;
898b9313312SGatien Chevallier				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
899b9313312SGatien Chevallier				clocks = <&rcc SPI2_K>;
900b9313312SGatien Chevallier				resets = <&rcc SPI2_R>;
901b9313312SGatien Chevallier				dmas = <&dmamux1 39 0x400 0x05>,
902b9313312SGatien Chevallier				       <&dmamux1 40 0x400 0x05>;
903b9313312SGatien Chevallier				dma-names = "rx", "tx";
904b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI2_ID>;
905b9313312SGatien Chevallier				status = "disabled";
906b9313312SGatien Chevallier			};
907b9313312SGatien Chevallier
908b9313312SGatien Chevallier			i2s2: audio-controller@4000b000 {
909b9313312SGatien Chevallier				compatible = "st,stm32h7-i2s";
910b9313312SGatien Chevallier				#sound-dai-cells = <0>;
911b9313312SGatien Chevallier				reg = <0x4000b000 0x400>;
912b9313312SGatien Chevallier				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
913b9313312SGatien Chevallier				dmas = <&dmamux1 39 0x400 0x01>,
914b9313312SGatien Chevallier				       <&dmamux1 40 0x400 0x01>;
915b9313312SGatien Chevallier				dma-names = "rx", "tx";
916b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI2_ID>;
917b9313312SGatien Chevallier				status = "disabled";
918b9313312SGatien Chevallier			};
919b9313312SGatien Chevallier
920b9313312SGatien Chevallier			spi3: spi@4000c000 {
921b9313312SGatien Chevallier				#address-cells = <1>;
922b9313312SGatien Chevallier				#size-cells = <0>;
923b9313312SGatien Chevallier				compatible = "st,stm32h7-spi";
924b9313312SGatien Chevallier				reg = <0x4000c000 0x400>;
925b9313312SGatien Chevallier				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
926b9313312SGatien Chevallier				clocks = <&rcc SPI3_K>;
927b9313312SGatien Chevallier				resets = <&rcc SPI3_R>;
928b9313312SGatien Chevallier				dmas = <&dmamux1 61 0x400 0x05>,
929b9313312SGatien Chevallier				       <&dmamux1 62 0x400 0x05>;
930b9313312SGatien Chevallier				dma-names = "rx", "tx";
931b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI3_ID>;
932b9313312SGatien Chevallier				status = "disabled";
933b9313312SGatien Chevallier			};
934b9313312SGatien Chevallier
935b9313312SGatien Chevallier			i2s3: audio-controller@4000c000 {
936b9313312SGatien Chevallier				compatible = "st,stm32h7-i2s";
937b9313312SGatien Chevallier				#sound-dai-cells = <0>;
938b9313312SGatien Chevallier				reg = <0x4000c000 0x400>;
939b9313312SGatien Chevallier				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
940b9313312SGatien Chevallier				dmas = <&dmamux1 61 0x400 0x01>,
941b9313312SGatien Chevallier				       <&dmamux1 62 0x400 0x01>;
942b9313312SGatien Chevallier				dma-names = "rx", "tx";
943b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI3_ID>;
944b9313312SGatien Chevallier				status = "disabled";
945b9313312SGatien Chevallier			};
946b9313312SGatien Chevallier
947b9313312SGatien Chevallier			spdifrx: audio-controller@4000d000 {
948b9313312SGatien Chevallier				compatible = "st,stm32h7-spdifrx";
949b9313312SGatien Chevallier				#sound-dai-cells = <0>;
950b9313312SGatien Chevallier				reg = <0x4000d000 0x400>;
951b9313312SGatien Chevallier				clocks = <&rcc SPDIF_K>;
952b9313312SGatien Chevallier				clock-names = "kclk";
953b9313312SGatien Chevallier				interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
954b9313312SGatien Chevallier				dmas = <&dmamux1 93 0x400 0x01>,
955b9313312SGatien Chevallier				       <&dmamux1 94 0x400 0x01>;
956b9313312SGatien Chevallier				dma-names = "rx", "rx-ctrl";
957b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPDIFRX_ID>;
958b9313312SGatien Chevallier				status = "disabled";
959b9313312SGatien Chevallier			};
960b9313312SGatien Chevallier
961b9313312SGatien Chevallier			usart2: serial@4000e000 {
962b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
963b9313312SGatien Chevallier				reg = <0x4000e000 0x400>;
964b9313312SGatien Chevallier				interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
965b9313312SGatien Chevallier				clocks = <&rcc USART2_K>;
966b9313312SGatien Chevallier				wakeup-source;
967b9313312SGatien Chevallier				dmas = <&dmamux1 43 0x400 0x15>,
968b9313312SGatien Chevallier				       <&dmamux1 44 0x400 0x11>;
969b9313312SGatien Chevallier				dma-names = "rx", "tx";
970b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_USART2_ID>;
971b9313312SGatien Chevallier				status = "disabled";
972b9313312SGatien Chevallier			};
973b9313312SGatien Chevallier
974b9313312SGatien Chevallier			usart3: serial@4000f000 {
975b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
976b9313312SGatien Chevallier				reg = <0x4000f000 0x400>;
977b9313312SGatien Chevallier				interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
978b9313312SGatien Chevallier				clocks = <&rcc USART3_K>;
979b9313312SGatien Chevallier				wakeup-source;
980b9313312SGatien Chevallier				dmas = <&dmamux1 45 0x400 0x15>,
981b9313312SGatien Chevallier				       <&dmamux1 46 0x400 0x11>;
982b9313312SGatien Chevallier				dma-names = "rx", "tx";
983b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_USART3_ID>;
984b9313312SGatien Chevallier				status = "disabled";
985b9313312SGatien Chevallier			};
986b9313312SGatien Chevallier
987b9313312SGatien Chevallier			uart4: serial@40010000 {
988b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
989b9313312SGatien Chevallier				reg = <0x40010000 0x400>;
990b9313312SGatien Chevallier				interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
991b9313312SGatien Chevallier				clocks = <&rcc UART4_K>;
992b9313312SGatien Chevallier				wakeup-source;
993b9313312SGatien Chevallier				dmas = <&dmamux1 63 0x400 0x15>,
994b9313312SGatien Chevallier				       <&dmamux1 64 0x400 0x11>;
995b9313312SGatien Chevallier				dma-names = "rx", "tx";
996b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_UART4_ID>;
997b9313312SGatien Chevallier				status = "disabled";
998b9313312SGatien Chevallier			};
999b9313312SGatien Chevallier
1000b9313312SGatien Chevallier			uart5: serial@40011000 {
1001b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
1002b9313312SGatien Chevallier				reg = <0x40011000 0x400>;
1003b9313312SGatien Chevallier				interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
1004b9313312SGatien Chevallier				clocks = <&rcc UART5_K>;
1005b9313312SGatien Chevallier				wakeup-source;
1006b9313312SGatien Chevallier				dmas = <&dmamux1 65 0x400 0x15>,
1007b9313312SGatien Chevallier				       <&dmamux1 66 0x400 0x11>;
1008b9313312SGatien Chevallier				dma-names = "rx", "tx";
1009b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_UART5_ID>;
1010b9313312SGatien Chevallier				status = "disabled";
1011b9313312SGatien Chevallier			};
1012b9313312SGatien Chevallier
1013b9313312SGatien Chevallier			i2c1: i2c@40012000 {
1014b9313312SGatien Chevallier				compatible = "st,stm32mp15-i2c";
1015b9313312SGatien Chevallier				reg = <0x40012000 0x400>;
1016b9313312SGatien Chevallier				interrupt-names = "event", "error";
1017b9313312SGatien Chevallier				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
1018b9313312SGatien Chevallier					     <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1019b9313312SGatien Chevallier				clocks = <&rcc I2C1_K>;
1020b9313312SGatien Chevallier				resets = <&rcc I2C1_R>;
1021b9313312SGatien Chevallier				#address-cells = <1>;
1022b9313312SGatien Chevallier				#size-cells = <0>;
1023b9313312SGatien Chevallier				st,syscfg-fmp = <&syscfg 0x4 0x1>;
1024b9313312SGatien Chevallier				wakeup-source;
1025b9313312SGatien Chevallier				i2c-analog-filter;
1026b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_I2C1_ID>;
1027b9313312SGatien Chevallier				status = "disabled";
1028b9313312SGatien Chevallier			};
1029b9313312SGatien Chevallier
1030b9313312SGatien Chevallier			i2c2: i2c@40013000 {
1031b9313312SGatien Chevallier				compatible = "st,stm32mp15-i2c";
1032b9313312SGatien Chevallier				reg = <0x40013000 0x400>;
1033b9313312SGatien Chevallier				interrupt-names = "event", "error";
1034b9313312SGatien Chevallier				interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
1035b9313312SGatien Chevallier					     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
1036b9313312SGatien Chevallier				clocks = <&rcc I2C2_K>;
1037b9313312SGatien Chevallier				resets = <&rcc I2C2_R>;
1038b9313312SGatien Chevallier				#address-cells = <1>;
1039b9313312SGatien Chevallier				#size-cells = <0>;
1040b9313312SGatien Chevallier				st,syscfg-fmp = <&syscfg 0x4 0x2>;
1041b9313312SGatien Chevallier				wakeup-source;
1042b9313312SGatien Chevallier				i2c-analog-filter;
1043b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_I2C2_ID>;
1044b9313312SGatien Chevallier				status = "disabled";
1045b9313312SGatien Chevallier			};
1046b9313312SGatien Chevallier
1047b9313312SGatien Chevallier			i2c3: i2c@40014000 {
1048b9313312SGatien Chevallier				compatible = "st,stm32mp15-i2c";
1049b9313312SGatien Chevallier				reg = <0x40014000 0x400>;
1050b9313312SGatien Chevallier				interrupt-names = "event", "error";
1051b9313312SGatien Chevallier				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
1052b9313312SGatien Chevallier					     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
1053b9313312SGatien Chevallier				clocks = <&rcc I2C3_K>;
1054b9313312SGatien Chevallier				resets = <&rcc I2C3_R>;
1055b9313312SGatien Chevallier				#address-cells = <1>;
1056b9313312SGatien Chevallier				#size-cells = <0>;
1057b9313312SGatien Chevallier				st,syscfg-fmp = <&syscfg 0x4 0x4>;
1058b9313312SGatien Chevallier				wakeup-source;
1059b9313312SGatien Chevallier				i2c-analog-filter;
1060b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_I2C3_ID>;
1061b9313312SGatien Chevallier				status = "disabled";
1062b9313312SGatien Chevallier			};
1063b9313312SGatien Chevallier
1064b9313312SGatien Chevallier			i2c5: i2c@40015000 {
1065b9313312SGatien Chevallier				compatible = "st,stm32mp15-i2c";
1066b9313312SGatien Chevallier				reg = <0x40015000 0x400>;
1067b9313312SGatien Chevallier				interrupt-names = "event", "error";
1068b9313312SGatien Chevallier				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1069b9313312SGatien Chevallier					     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1070b9313312SGatien Chevallier				clocks = <&rcc I2C5_K>;
1071b9313312SGatien Chevallier				resets = <&rcc I2C5_R>;
1072b9313312SGatien Chevallier				#address-cells = <1>;
1073b9313312SGatien Chevallier				#size-cells = <0>;
1074b9313312SGatien Chevallier				st,syscfg-fmp = <&syscfg 0x4 0x10>;
1075b9313312SGatien Chevallier				wakeup-source;
1076b9313312SGatien Chevallier				i2c-analog-filter;
1077b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_I2C5_ID>;
1078b9313312SGatien Chevallier				status = "disabled";
1079b9313312SGatien Chevallier			};
1080b9313312SGatien Chevallier
1081b9313312SGatien Chevallier			cec: cec@40016000 {
1082b9313312SGatien Chevallier				compatible = "st,stm32-cec";
1083b9313312SGatien Chevallier				reg = <0x40016000 0x400>;
1084b9313312SGatien Chevallier				interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
1085b9313312SGatien Chevallier				clocks = <&rcc CEC_K>, <&rcc CEC>;
1086b9313312SGatien Chevallier				clock-names = "cec", "hdmi-cec";
1087b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_CEC_ID>;
1088b9313312SGatien Chevallier				status = "disabled";
1089b9313312SGatien Chevallier			};
1090b9313312SGatien Chevallier
1091b9313312SGatien Chevallier			dac: dac@40017000 {
1092b9313312SGatien Chevallier				compatible = "st,stm32h7-dac-core";
1093b9313312SGatien Chevallier				reg = <0x40017000 0x400>;
1094b9313312SGatien Chevallier				clocks = <&rcc DAC12>;
1095b9313312SGatien Chevallier				clock-names = "pclk";
1096b9313312SGatien Chevallier				#address-cells = <1>;
1097b9313312SGatien Chevallier				#size-cells = <0>;
1098b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_DAC_ID>;
1099b9313312SGatien Chevallier				status = "disabled";
1100b9313312SGatien Chevallier
1101b9313312SGatien Chevallier				dac1: dac@1 {
1102b9313312SGatien Chevallier					compatible = "st,stm32-dac";
1103b9313312SGatien Chevallier					#io-channel-cells = <1>;
1104b9313312SGatien Chevallier					reg = <1>;
1105b9313312SGatien Chevallier					status = "disabled";
1106b9313312SGatien Chevallier				};
1107b9313312SGatien Chevallier
1108b9313312SGatien Chevallier				dac2: dac@2 {
1109b9313312SGatien Chevallier					compatible = "st,stm32-dac";
1110b9313312SGatien Chevallier					#io-channel-cells = <1>;
1111b9313312SGatien Chevallier					reg = <2>;
1112b9313312SGatien Chevallier					status = "disabled";
1113b9313312SGatien Chevallier				};
1114b9313312SGatien Chevallier			};
1115b9313312SGatien Chevallier
1116b9313312SGatien Chevallier			uart7: serial@40018000 {
1117b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
1118b9313312SGatien Chevallier				reg = <0x40018000 0x400>;
1119b9313312SGatien Chevallier				interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
1120b9313312SGatien Chevallier				clocks = <&rcc UART7_K>;
1121b9313312SGatien Chevallier				wakeup-source;
1122b9313312SGatien Chevallier				dmas = <&dmamux1 79 0x400 0x15>,
1123b9313312SGatien Chevallier				       <&dmamux1 80 0x400 0x11>;
1124b9313312SGatien Chevallier				dma-names = "rx", "tx";
1125b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_UART7_ID>;
1126b9313312SGatien Chevallier				status = "disabled";
1127b9313312SGatien Chevallier			};
1128b9313312SGatien Chevallier
1129b9313312SGatien Chevallier			uart8: serial@40019000 {
1130b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
1131b9313312SGatien Chevallier				reg = <0x40019000 0x400>;
1132b9313312SGatien Chevallier				interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
1133b9313312SGatien Chevallier				clocks = <&rcc UART8_K>;
1134b9313312SGatien Chevallier				wakeup-source;
1135b9313312SGatien Chevallier				dmas = <&dmamux1 81 0x400 0x15>,
1136b9313312SGatien Chevallier				       <&dmamux1 82 0x400 0x11>;
1137b9313312SGatien Chevallier				dma-names = "rx", "tx";
1138b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_UART8_ID>;
1139b9313312SGatien Chevallier				status = "disabled";
1140b9313312SGatien Chevallier			};
1141b9313312SGatien Chevallier
1142b9313312SGatien Chevallier			timers1: timer@44000000 {
1143b9313312SGatien Chevallier				#address-cells = <1>;
1144b9313312SGatien Chevallier				#size-cells = <0>;
1145b9313312SGatien Chevallier				compatible = "st,stm32-timers";
1146b9313312SGatien Chevallier				reg = <0x44000000 0x400>;
1147b9313312SGatien Chevallier				clocks = <&rcc TIM1_K>;
1148b9313312SGatien Chevallier				clock-names = "int";
1149b9313312SGatien Chevallier				dmas = <&dmamux1 11 0x400 0x1>,
1150b9313312SGatien Chevallier				       <&dmamux1 12 0x400 0x1>,
1151b9313312SGatien Chevallier				       <&dmamux1 13 0x400 0x1>,
1152b9313312SGatien Chevallier				       <&dmamux1 14 0x400 0x1>,
1153b9313312SGatien Chevallier				       <&dmamux1 15 0x400 0x1>,
1154b9313312SGatien Chevallier				       <&dmamux1 16 0x400 0x1>,
1155b9313312SGatien Chevallier				       <&dmamux1 17 0x400 0x1>;
1156b9313312SGatien Chevallier				dma-names = "ch1", "ch2", "ch3", "ch4",
1157b9313312SGatien Chevallier					    "up", "trig", "com";
1158b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM1_ID>;
1159b9313312SGatien Chevallier				status = "disabled";
1160b9313312SGatien Chevallier
1161b9313312SGatien Chevallier				pwm {
1162b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
1163b9313312SGatien Chevallier					#pwm-cells = <3>;
1164b9313312SGatien Chevallier					status = "disabled";
1165b9313312SGatien Chevallier				};
1166b9313312SGatien Chevallier
1167b9313312SGatien Chevallier				timer@0 {
1168b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
1169b9313312SGatien Chevallier					reg = <0>;
1170b9313312SGatien Chevallier					status = "disabled";
1171b9313312SGatien Chevallier				};
1172b9313312SGatien Chevallier
1173b9313312SGatien Chevallier				counter {
1174b9313312SGatien Chevallier					compatible = "st,stm32-timer-counter";
1175b9313312SGatien Chevallier					status = "disabled";
1176b9313312SGatien Chevallier				};
1177b9313312SGatien Chevallier			};
1178b9313312SGatien Chevallier
1179b9313312SGatien Chevallier			timers8: timer@44001000 {
1180b9313312SGatien Chevallier				#address-cells = <1>;
1181b9313312SGatien Chevallier				#size-cells = <0>;
1182b9313312SGatien Chevallier				compatible = "st,stm32-timers";
1183b9313312SGatien Chevallier				reg = <0x44001000 0x400>;
1184b9313312SGatien Chevallier				clocks = <&rcc TIM8_K>;
1185b9313312SGatien Chevallier				clock-names = "int";
1186b9313312SGatien Chevallier				dmas = <&dmamux1 47 0x400 0x1>,
1187b9313312SGatien Chevallier				       <&dmamux1 48 0x400 0x1>,
1188b9313312SGatien Chevallier				       <&dmamux1 49 0x400 0x1>,
1189b9313312SGatien Chevallier				       <&dmamux1 50 0x400 0x1>,
1190b9313312SGatien Chevallier				       <&dmamux1 51 0x400 0x1>,
1191b9313312SGatien Chevallier				       <&dmamux1 52 0x400 0x1>,
1192b9313312SGatien Chevallier				       <&dmamux1 53 0x400 0x1>;
1193b9313312SGatien Chevallier				dma-names = "ch1", "ch2", "ch3", "ch4",
1194b9313312SGatien Chevallier					    "up", "trig", "com";
1195b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM8_ID>;
1196b9313312SGatien Chevallier				status = "disabled";
1197b9313312SGatien Chevallier
1198b9313312SGatien Chevallier				pwm {
1199b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
1200b9313312SGatien Chevallier					#pwm-cells = <3>;
1201b9313312SGatien Chevallier					status = "disabled";
1202b9313312SGatien Chevallier				};
1203b9313312SGatien Chevallier
1204b9313312SGatien Chevallier				timer@7 {
1205b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
1206b9313312SGatien Chevallier					reg = <7>;
1207b9313312SGatien Chevallier					status = "disabled";
1208b9313312SGatien Chevallier				};
1209b9313312SGatien Chevallier
1210b9313312SGatien Chevallier				counter {
1211b9313312SGatien Chevallier					compatible = "st,stm32-timer-counter";
1212b9313312SGatien Chevallier					status = "disabled";
1213b9313312SGatien Chevallier				};
1214b9313312SGatien Chevallier			};
1215b9313312SGatien Chevallier
1216b9313312SGatien Chevallier			usart6: serial@44003000 {
1217b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
1218b9313312SGatien Chevallier				reg = <0x44003000 0x400>;
1219b9313312SGatien Chevallier				interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
1220b9313312SGatien Chevallier				clocks = <&rcc USART6_K>;
1221b9313312SGatien Chevallier				wakeup-source;
1222b9313312SGatien Chevallier				dmas = <&dmamux1 71 0x400 0x15>,
1223b9313312SGatien Chevallier				       <&dmamux1 72 0x400 0x11>;
1224b9313312SGatien Chevallier				dma-names = "rx", "tx";
1225b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_USART6_ID>;
1226b9313312SGatien Chevallier				status = "disabled";
1227b9313312SGatien Chevallier			};
1228b9313312SGatien Chevallier
1229b9313312SGatien Chevallier			spi1: spi@44004000 {
1230b9313312SGatien Chevallier				#address-cells = <1>;
1231b9313312SGatien Chevallier				#size-cells = <0>;
1232b9313312SGatien Chevallier				compatible = "st,stm32h7-spi";
1233b9313312SGatien Chevallier				reg = <0x44004000 0x400>;
1234b9313312SGatien Chevallier				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1235b9313312SGatien Chevallier				clocks = <&rcc SPI1_K>;
1236b9313312SGatien Chevallier				resets = <&rcc SPI1_R>;
1237b9313312SGatien Chevallier				dmas = <&dmamux1 37 0x400 0x05>,
1238b9313312SGatien Chevallier				       <&dmamux1 38 0x400 0x05>;
1239b9313312SGatien Chevallier				dma-names = "rx", "tx";
1240b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI1_ID>;
1241b9313312SGatien Chevallier				status = "disabled";
1242b9313312SGatien Chevallier			};
1243b9313312SGatien Chevallier
1244b9313312SGatien Chevallier			i2s1: audio-controller@44004000 {
1245b9313312SGatien Chevallier				compatible = "st,stm32h7-i2s";
1246b9313312SGatien Chevallier				#sound-dai-cells = <0>;
1247b9313312SGatien Chevallier				reg = <0x44004000 0x400>;
1248b9313312SGatien Chevallier				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1249b9313312SGatien Chevallier				dmas = <&dmamux1 37 0x400 0x01>,
1250b9313312SGatien Chevallier				       <&dmamux1 38 0x400 0x01>;
1251b9313312SGatien Chevallier				dma-names = "rx", "tx";
1252b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI1_ID>;
1253b9313312SGatien Chevallier				status = "disabled";
1254b9313312SGatien Chevallier			};
1255b9313312SGatien Chevallier
1256b9313312SGatien Chevallier			spi4: spi@44005000 {
1257b9313312SGatien Chevallier				#address-cells = <1>;
1258b9313312SGatien Chevallier				#size-cells = <0>;
1259b9313312SGatien Chevallier				compatible = "st,stm32h7-spi";
1260b9313312SGatien Chevallier				reg = <0x44005000 0x400>;
1261b9313312SGatien Chevallier				interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1262b9313312SGatien Chevallier				clocks = <&rcc SPI4_K>;
1263b9313312SGatien Chevallier				resets = <&rcc SPI4_R>;
1264b9313312SGatien Chevallier				dmas = <&dmamux1 83 0x400 0x05>,
1265b9313312SGatien Chevallier				       <&dmamux1 84 0x400 0x05>;
1266b9313312SGatien Chevallier				dma-names = "rx", "tx";
1267b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI4_ID>;
1268b9313312SGatien Chevallier				status = "disabled";
1269b9313312SGatien Chevallier			};
1270b9313312SGatien Chevallier
1271b9313312SGatien Chevallier			timers15: timer@44006000 {
1272b9313312SGatien Chevallier				#address-cells = <1>;
1273b9313312SGatien Chevallier				#size-cells = <0>;
1274b9313312SGatien Chevallier				compatible = "st,stm32-timers";
1275b9313312SGatien Chevallier				reg = <0x44006000 0x400>;
1276b9313312SGatien Chevallier				clocks = <&rcc TIM15_K>;
1277b9313312SGatien Chevallier				clock-names = "int";
1278b9313312SGatien Chevallier				dmas = <&dmamux1 105 0x400 0x1>,
1279b9313312SGatien Chevallier				       <&dmamux1 106 0x400 0x1>,
1280b9313312SGatien Chevallier				       <&dmamux1 107 0x400 0x1>,
1281b9313312SGatien Chevallier				       <&dmamux1 108 0x400 0x1>;
1282b9313312SGatien Chevallier				dma-names = "ch1", "up", "trig", "com";
1283b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM15_ID>;
1284b9313312SGatien Chevallier				status = "disabled";
1285b9313312SGatien Chevallier
1286b9313312SGatien Chevallier				pwm {
1287b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
1288b9313312SGatien Chevallier					#pwm-cells = <3>;
1289b9313312SGatien Chevallier					status = "disabled";
1290b9313312SGatien Chevallier				};
1291b9313312SGatien Chevallier
1292b9313312SGatien Chevallier				timer@14 {
1293b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
1294b9313312SGatien Chevallier					reg = <14>;
1295b9313312SGatien Chevallier					status = "disabled";
1296b9313312SGatien Chevallier				};
1297b9313312SGatien Chevallier			};
1298b9313312SGatien Chevallier
1299b9313312SGatien Chevallier			timers16: timer@44007000 {
1300b9313312SGatien Chevallier				#address-cells = <1>;
1301b9313312SGatien Chevallier				#size-cells = <0>;
1302b9313312SGatien Chevallier				compatible = "st,stm32-timers";
1303b9313312SGatien Chevallier				reg = <0x44007000 0x400>;
1304b9313312SGatien Chevallier				clocks = <&rcc TIM16_K>;
1305b9313312SGatien Chevallier				clock-names = "int";
1306b9313312SGatien Chevallier				dmas = <&dmamux1 109 0x400 0x1>,
1307b9313312SGatien Chevallier				       <&dmamux1 110 0x400 0x1>;
1308b9313312SGatien Chevallier				dma-names = "ch1", "up";
1309b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM16_ID>;
1310b9313312SGatien Chevallier				status = "disabled";
1311b9313312SGatien Chevallier
1312b9313312SGatien Chevallier				pwm {
1313b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
1314b9313312SGatien Chevallier					#pwm-cells = <3>;
1315b9313312SGatien Chevallier					status = "disabled";
1316b9313312SGatien Chevallier				};
1317b9313312SGatien Chevallier				timer@15 {
1318b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
1319b9313312SGatien Chevallier					reg = <15>;
1320b9313312SGatien Chevallier					status = "disabled";
1321b9313312SGatien Chevallier				};
1322b9313312SGatien Chevallier			};
1323b9313312SGatien Chevallier
1324b9313312SGatien Chevallier			timers17: timer@44008000 {
1325b9313312SGatien Chevallier				#address-cells = <1>;
1326b9313312SGatien Chevallier				#size-cells = <0>;
1327b9313312SGatien Chevallier				compatible = "st,stm32-timers";
1328b9313312SGatien Chevallier				reg = <0x44008000 0x400>;
1329b9313312SGatien Chevallier				clocks = <&rcc TIM17_K>;
1330b9313312SGatien Chevallier				clock-names = "int";
1331b9313312SGatien Chevallier				dmas = <&dmamux1 111 0x400 0x1>,
1332b9313312SGatien Chevallier				       <&dmamux1 112 0x400 0x1>;
1333b9313312SGatien Chevallier				dma-names = "ch1", "up";
1334b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_TIM17_ID>;
1335b9313312SGatien Chevallier				status = "disabled";
1336b9313312SGatien Chevallier
1337b9313312SGatien Chevallier				pwm {
1338b9313312SGatien Chevallier					compatible = "st,stm32-pwm";
1339b9313312SGatien Chevallier					#pwm-cells = <3>;
1340b9313312SGatien Chevallier					status = "disabled";
1341b9313312SGatien Chevallier				};
1342b9313312SGatien Chevallier
1343b9313312SGatien Chevallier				timer@16 {
1344b9313312SGatien Chevallier					compatible = "st,stm32h7-timer-trigger";
1345b9313312SGatien Chevallier					reg = <16>;
1346b9313312SGatien Chevallier					status = "disabled";
1347b9313312SGatien Chevallier				};
1348b9313312SGatien Chevallier			};
1349b9313312SGatien Chevallier
1350b9313312SGatien Chevallier			spi5: spi@44009000 {
1351b9313312SGatien Chevallier				#address-cells = <1>;
1352b9313312SGatien Chevallier				#size-cells = <0>;
1353b9313312SGatien Chevallier				compatible = "st,stm32h7-spi";
1354b9313312SGatien Chevallier				reg = <0x44009000 0x400>;
1355b9313312SGatien Chevallier				interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1356b9313312SGatien Chevallier				clocks = <&rcc SPI5_K>;
1357b9313312SGatien Chevallier				resets = <&rcc SPI5_R>;
1358b9313312SGatien Chevallier				dmas = <&dmamux1 85 0x400 0x05>,
1359b9313312SGatien Chevallier				       <&dmamux1 86 0x400 0x05>;
1360b9313312SGatien Chevallier				dma-names = "rx", "tx";
1361b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI5_ID>;
1362b9313312SGatien Chevallier				status = "disabled";
1363b9313312SGatien Chevallier			};
1364b9313312SGatien Chevallier
1365b9313312SGatien Chevallier			sai1: sai@4400a000 {
1366b9313312SGatien Chevallier				compatible = "st,stm32h7-sai";
1367b9313312SGatien Chevallier				#address-cells = <1>;
1368b9313312SGatien Chevallier				#size-cells = <1>;
1369b9313312SGatien Chevallier				ranges = <0 0x4400a000 0x400>;
1370b9313312SGatien Chevallier				reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
1371b9313312SGatien Chevallier				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
1372b9313312SGatien Chevallier				resets = <&rcc SAI1_R>;
1373b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SAI1_ID>;
1374b9313312SGatien Chevallier				status = "disabled";
1375b9313312SGatien Chevallier
1376b9313312SGatien Chevallier				sai1a: audio-controller@4400a004 {
1377b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1378b9313312SGatien Chevallier
1379b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-a";
1380b9313312SGatien Chevallier					reg = <0x4 0x20>;
1381b9313312SGatien Chevallier					clocks = <&rcc SAI1_K>;
1382b9313312SGatien Chevallier					clock-names = "sai_ck";
1383b9313312SGatien Chevallier					dmas = <&dmamux1 87 0x400 0x01>;
1384b9313312SGatien Chevallier					status = "disabled";
1385b9313312SGatien Chevallier				};
1386b9313312SGatien Chevallier
1387b9313312SGatien Chevallier				sai1b: audio-controller@4400a024 {
1388b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1389b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-b";
1390b9313312SGatien Chevallier					reg = <0x24 0x20>;
1391b9313312SGatien Chevallier					clocks = <&rcc SAI1_K>;
1392b9313312SGatien Chevallier					clock-names = "sai_ck";
1393b9313312SGatien Chevallier					dmas = <&dmamux1 88 0x400 0x01>;
1394b9313312SGatien Chevallier					status = "disabled";
1395b9313312SGatien Chevallier				};
1396b9313312SGatien Chevallier			};
1397b9313312SGatien Chevallier
1398b9313312SGatien Chevallier			sai2: sai@4400b000 {
1399b9313312SGatien Chevallier				compatible = "st,stm32h7-sai";
1400b9313312SGatien Chevallier				#address-cells = <1>;
1401b9313312SGatien Chevallier				#size-cells = <1>;
1402b9313312SGatien Chevallier				ranges = <0 0x4400b000 0x400>;
1403b9313312SGatien Chevallier				reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
1404b9313312SGatien Chevallier				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
1405b9313312SGatien Chevallier				resets = <&rcc SAI2_R>;
1406b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SAI2_ID>;
1407b9313312SGatien Chevallier				status = "disabled";
1408b9313312SGatien Chevallier
1409b9313312SGatien Chevallier				sai2a: audio-controller@4400b004 {
1410b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1411b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-a";
1412b9313312SGatien Chevallier					reg = <0x4 0x20>;
1413b9313312SGatien Chevallier					clocks = <&rcc SAI2_K>;
1414b9313312SGatien Chevallier					clock-names = "sai_ck";
1415b9313312SGatien Chevallier					dmas = <&dmamux1 89 0x400 0x01>;
1416b9313312SGatien Chevallier					status = "disabled";
1417b9313312SGatien Chevallier				};
1418b9313312SGatien Chevallier
1419b9313312SGatien Chevallier				sai2b: audio-controller@4400b024 {
1420b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1421b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-b";
1422b9313312SGatien Chevallier					reg = <0x24 0x20>;
1423b9313312SGatien Chevallier					clocks = <&rcc SAI2_K>;
1424b9313312SGatien Chevallier					clock-names = "sai_ck";
1425b9313312SGatien Chevallier					dmas = <&dmamux1 90 0x400 0x01>;
1426b9313312SGatien Chevallier					status = "disabled";
1427b9313312SGatien Chevallier				};
1428b9313312SGatien Chevallier			};
1429b9313312SGatien Chevallier
1430b9313312SGatien Chevallier			sai3: sai@4400c000 {
1431b9313312SGatien Chevallier				compatible = "st,stm32h7-sai";
1432b9313312SGatien Chevallier				#address-cells = <1>;
1433b9313312SGatien Chevallier				#size-cells = <1>;
1434b9313312SGatien Chevallier				ranges = <0 0x4400c000 0x400>;
1435b9313312SGatien Chevallier				reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
1436b9313312SGatien Chevallier				interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
1437b9313312SGatien Chevallier				resets = <&rcc SAI3_R>;
1438b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SAI3_ID>;
1439b9313312SGatien Chevallier				status = "disabled";
1440b9313312SGatien Chevallier
1441b9313312SGatien Chevallier				sai3a: audio-controller@4400c004 {
1442b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1443b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-a";
1444b9313312SGatien Chevallier					reg = <0x04 0x20>;
1445b9313312SGatien Chevallier					clocks = <&rcc SAI3_K>;
1446b9313312SGatien Chevallier					clock-names = "sai_ck";
1447b9313312SGatien Chevallier					dmas = <&dmamux1 113 0x400 0x01>;
1448b9313312SGatien Chevallier					status = "disabled";
1449b9313312SGatien Chevallier				};
1450b9313312SGatien Chevallier
1451b9313312SGatien Chevallier				sai3b: audio-controller@4400c024 {
1452b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1453b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-b";
1454b9313312SGatien Chevallier					reg = <0x24 0x20>;
1455b9313312SGatien Chevallier					clocks = <&rcc SAI3_K>;
1456b9313312SGatien Chevallier					clock-names = "sai_ck";
1457b9313312SGatien Chevallier					dmas = <&dmamux1 114 0x400 0x01>;
1458b9313312SGatien Chevallier					status = "disabled";
1459b9313312SGatien Chevallier				};
1460b9313312SGatien Chevallier			};
1461b9313312SGatien Chevallier
1462b9313312SGatien Chevallier			dfsdm: dfsdm@4400d000 {
1463b9313312SGatien Chevallier				compatible = "st,stm32mp1-dfsdm";
1464b9313312SGatien Chevallier				reg = <0x4400d000 0x800>;
1465b9313312SGatien Chevallier				clocks = <&rcc DFSDM_K>;
1466b9313312SGatien Chevallier				clock-names = "dfsdm";
1467b9313312SGatien Chevallier				#address-cells = <1>;
1468b9313312SGatien Chevallier				#size-cells = <0>;
1469b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_DFSDM_ID>;
1470b9313312SGatien Chevallier				status = "disabled";
1471b9313312SGatien Chevallier
1472b9313312SGatien Chevallier				dfsdm0: filter@0 {
1473b9313312SGatien Chevallier					compatible = "st,stm32-dfsdm-adc";
1474b9313312SGatien Chevallier					#io-channel-cells = <1>;
1475b9313312SGatien Chevallier					reg = <0>;
1476b9313312SGatien Chevallier					interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
1477b9313312SGatien Chevallier					dmas = <&dmamux1 101 0x400 0x01>;
1478b9313312SGatien Chevallier					dma-names = "rx";
1479b9313312SGatien Chevallier					status = "disabled";
1480b9313312SGatien Chevallier				};
1481b9313312SGatien Chevallier
1482b9313312SGatien Chevallier				dfsdm1: filter@1 {
1483b9313312SGatien Chevallier					compatible = "st,stm32-dfsdm-adc";
1484b9313312SGatien Chevallier					#io-channel-cells = <1>;
1485b9313312SGatien Chevallier					reg = <1>;
1486b9313312SGatien Chevallier					interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1487b9313312SGatien Chevallier					dmas = <&dmamux1 102 0x400 0x01>;
1488b9313312SGatien Chevallier					dma-names = "rx";
1489b9313312SGatien Chevallier					status = "disabled";
1490b9313312SGatien Chevallier				};
1491b9313312SGatien Chevallier
1492b9313312SGatien Chevallier				dfsdm2: filter@2 {
1493b9313312SGatien Chevallier					compatible = "st,stm32-dfsdm-adc";
1494b9313312SGatien Chevallier					#io-channel-cells = <1>;
1495b9313312SGatien Chevallier					reg = <2>;
1496b9313312SGatien Chevallier					interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1497b9313312SGatien Chevallier					dmas = <&dmamux1 103 0x400 0x01>;
1498b9313312SGatien Chevallier					dma-names = "rx";
1499b9313312SGatien Chevallier					status = "disabled";
1500b9313312SGatien Chevallier				};
1501b9313312SGatien Chevallier
1502b9313312SGatien Chevallier				dfsdm3: filter@3 {
1503b9313312SGatien Chevallier					compatible = "st,stm32-dfsdm-adc";
1504b9313312SGatien Chevallier					#io-channel-cells = <1>;
1505b9313312SGatien Chevallier					reg = <3>;
1506b9313312SGatien Chevallier					interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1507b9313312SGatien Chevallier					dmas = <&dmamux1 104 0x400 0x01>;
1508b9313312SGatien Chevallier					dma-names = "rx";
1509b9313312SGatien Chevallier					status = "disabled";
1510b9313312SGatien Chevallier				};
1511b9313312SGatien Chevallier
1512b9313312SGatien Chevallier				dfsdm4: filter@4 {
1513b9313312SGatien Chevallier					compatible = "st,stm32-dfsdm-adc";
1514b9313312SGatien Chevallier					#io-channel-cells = <1>;
1515b9313312SGatien Chevallier					reg = <4>;
1516b9313312SGatien Chevallier					interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
1517b9313312SGatien Chevallier					dmas = <&dmamux1 91 0x400 0x01>;
1518b9313312SGatien Chevallier					dma-names = "rx";
1519b9313312SGatien Chevallier					status = "disabled";
1520b9313312SGatien Chevallier				};
1521b9313312SGatien Chevallier
1522b9313312SGatien Chevallier				dfsdm5: filter@5 {
1523b9313312SGatien Chevallier					compatible = "st,stm32-dfsdm-adc";
1524b9313312SGatien Chevallier					#io-channel-cells = <1>;
1525b9313312SGatien Chevallier					reg = <5>;
1526b9313312SGatien Chevallier					interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1527b9313312SGatien Chevallier					dmas = <&dmamux1 92 0x400 0x01>;
1528b9313312SGatien Chevallier					dma-names = "rx";
1529b9313312SGatien Chevallier					status = "disabled";
1530b9313312SGatien Chevallier				};
1531b9313312SGatien Chevallier			};
1532b9313312SGatien Chevallier
1533b9313312SGatien Chevallier			dma1: dma-controller@48000000 {
1534b9313312SGatien Chevallier				compatible = "st,stm32-dma";
1535b9313312SGatien Chevallier				reg = <0x48000000 0x400>;
1536b9313312SGatien Chevallier				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
1537b9313312SGatien Chevallier					     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
1538b9313312SGatien Chevallier					     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
1539b9313312SGatien Chevallier					     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
1540b9313312SGatien Chevallier					     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
1541b9313312SGatien Chevallier					     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
1542b9313312SGatien Chevallier					     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
1543b9313312SGatien Chevallier					     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
1544b9313312SGatien Chevallier				clocks = <&rcc DMA1>;
1545b9313312SGatien Chevallier				resets = <&rcc DMA1_R>;
1546b9313312SGatien Chevallier				#dma-cells = <4>;
1547b9313312SGatien Chevallier				st,mem2mem;
1548b9313312SGatien Chevallier				dma-requests = <8>;
1549b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_DMA1_ID>;
1550b9313312SGatien Chevallier				status = "disabled";
1551b9313312SGatien Chevallier			};
1552b9313312SGatien Chevallier
1553b9313312SGatien Chevallier			dma2: dma-controller@48001000 {
1554b9313312SGatien Chevallier				compatible = "st,stm32-dma";
1555b9313312SGatien Chevallier				reg = <0x48001000 0x400>;
1556b9313312SGatien Chevallier				interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
1557b9313312SGatien Chevallier					     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
1558b9313312SGatien Chevallier					     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
1559b9313312SGatien Chevallier					     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
1560b9313312SGatien Chevallier					     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
1561b9313312SGatien Chevallier					     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
1562b9313312SGatien Chevallier					     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
1563b9313312SGatien Chevallier					     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1564b9313312SGatien Chevallier				clocks = <&rcc DMA2>;
1565b9313312SGatien Chevallier				resets = <&rcc DMA2_R>;
1566b9313312SGatien Chevallier				#dma-cells = <4>;
1567b9313312SGatien Chevallier				st,mem2mem;
1568b9313312SGatien Chevallier				dma-requests = <8>;
1569b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_DMA2_ID>;
1570b9313312SGatien Chevallier				status = "disabled";
1571b9313312SGatien Chevallier			};
1572b9313312SGatien Chevallier
1573b9313312SGatien Chevallier			dmamux1: dma-router@48002000 {
1574b9313312SGatien Chevallier				compatible = "st,stm32h7-dmamux";
1575b9313312SGatien Chevallier				reg = <0x48002000 0x40>;
1576b9313312SGatien Chevallier				#dma-cells = <3>;
1577b9313312SGatien Chevallier				dma-requests = <128>;
1578b9313312SGatien Chevallier				dma-masters = <&dma1 &dma2>;
1579b9313312SGatien Chevallier				dma-channels = <16>;
1580b9313312SGatien Chevallier				clocks = <&rcc DMAMUX>;
1581b9313312SGatien Chevallier				resets = <&rcc DMAMUX_R>;
1582b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_DMAMUX_ID>;
1583b9313312SGatien Chevallier				status = "disabled";
1584b9313312SGatien Chevallier			};
1585b9313312SGatien Chevallier
1586b9313312SGatien Chevallier			adc: adc@48003000 {
1587b9313312SGatien Chevallier				compatible = "st,stm32mp1-adc-core";
1588b9313312SGatien Chevallier				reg = <0x48003000 0x400>;
1589b9313312SGatien Chevallier				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
1590b9313312SGatien Chevallier					     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1591b9313312SGatien Chevallier				clocks = <&rcc ADC12>, <&rcc ADC12_K>;
1592b9313312SGatien Chevallier				clock-names = "bus", "adc";
1593b9313312SGatien Chevallier				interrupt-controller;
1594b9313312SGatien Chevallier				st,syscfg = <&syscfg>;
1595b9313312SGatien Chevallier				#interrupt-cells = <1>;
1596b9313312SGatien Chevallier				#address-cells = <1>;
1597b9313312SGatien Chevallier				#size-cells = <0>;
1598b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_ADC_ID>;
1599b9313312SGatien Chevallier				status = "disabled";
1600b9313312SGatien Chevallier
1601b9313312SGatien Chevallier				adc1: adc@0 {
1602b9313312SGatien Chevallier					compatible = "st,stm32mp1-adc";
1603b9313312SGatien Chevallier					#io-channel-cells = <1>;
1604b9313312SGatien Chevallier					reg = <0x0>;
1605b9313312SGatien Chevallier					interrupt-parent = <&adc>;
1606b9313312SGatien Chevallier					interrupts = <0>;
1607b9313312SGatien Chevallier					dmas = <&dmamux1 9 0x400 0x01>;
1608b9313312SGatien Chevallier					dma-names = "rx";
1609b9313312SGatien Chevallier					status = "disabled";
1610b9313312SGatien Chevallier				};
1611b9313312SGatien Chevallier
1612b9313312SGatien Chevallier				adc2: adc@100 {
1613b9313312SGatien Chevallier					compatible = "st,stm32mp1-adc";
1614b9313312SGatien Chevallier					#io-channel-cells = <1>;
1615b9313312SGatien Chevallier					reg = <0x100>;
1616b9313312SGatien Chevallier					interrupt-parent = <&adc>;
1617b9313312SGatien Chevallier					interrupts = <1>;
1618b9313312SGatien Chevallier					dmas = <&dmamux1 10 0x400 0x01>;
1619b9313312SGatien Chevallier					dma-names = "rx";
1620b9313312SGatien Chevallier					status = "disabled";
1621b9313312SGatien Chevallier				};
1622b9313312SGatien Chevallier			};
1623b9313312SGatien Chevallier
1624b9313312SGatien Chevallier			sdmmc3: mmc@48004000 {
1625b9313312SGatien Chevallier				compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
1626b9313312SGatien Chevallier				arm,primecell-periphid = <0x00253180>;
1627b9313312SGatien Chevallier				reg = <0x48004000 0x400>;
1628b9313312SGatien Chevallier				interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
1629b9313312SGatien Chevallier				interrupt-names = "cmd_irq";
1630b9313312SGatien Chevallier				clocks = <&rcc SDMMC3_K>;
1631b9313312SGatien Chevallier				clock-names = "apb_pclk";
1632b9313312SGatien Chevallier				resets = <&rcc SDMMC3_R>;
1633b9313312SGatien Chevallier				cap-sd-highspeed;
1634b9313312SGatien Chevallier				cap-mmc-highspeed;
1635b9313312SGatien Chevallier				max-frequency = <120000000>;
1636b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SDMMC3_ID>;
1637b9313312SGatien Chevallier				status = "disabled";
1638b9313312SGatien Chevallier			};
1639b9313312SGatien Chevallier
1640b9313312SGatien Chevallier			usbotg_hs: usb-otg@49000000 {
1641b9313312SGatien Chevallier				compatible = "st,stm32mp15-hsotg", "snps,dwc2";
1642b9313312SGatien Chevallier				reg = <0x49000000 0x10000>;
1643b9313312SGatien Chevallier				clocks = <&rcc USBO_K>;
1644b9313312SGatien Chevallier				clock-names = "otg";
1645b9313312SGatien Chevallier				resets = <&rcc USBO_R>;
1646b9313312SGatien Chevallier				reset-names = "dwc2";
1647b9313312SGatien Chevallier				interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1648b9313312SGatien Chevallier				g-rx-fifo-size = <512>;
1649b9313312SGatien Chevallier				g-np-tx-fifo-size = <32>;
1650b9313312SGatien Chevallier				g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
1651b9313312SGatien Chevallier				dr_mode = "otg";
1652b9313312SGatien Chevallier				otg-rev = <0x200>;
1653b9313312SGatien Chevallier				usb33d-supply = <&usb33>;
1654b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_OTG_ID>;
1655b9313312SGatien Chevallier				status = "disabled";
1656b9313312SGatien Chevallier			};
1657b9313312SGatien Chevallier
1658b9313312SGatien Chevallier			dcmi: dcmi@4c006000 {
1659b9313312SGatien Chevallier				compatible = "st,stm32-dcmi";
1660b9313312SGatien Chevallier				reg = <0x4c006000 0x400>;
1661b9313312SGatien Chevallier				interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
1662b9313312SGatien Chevallier				resets = <&rcc CAMITF_R>;
1663b9313312SGatien Chevallier				clocks = <&rcc DCMI>;
1664b9313312SGatien Chevallier				clock-names = "mclk";
1665b9313312SGatien Chevallier				dmas = <&dmamux1 75 0x400 0x01>;
1666b9313312SGatien Chevallier				dma-names = "tx";
1667b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_DCMI_ID>;
1668b9313312SGatien Chevallier				status = "disabled";
1669b9313312SGatien Chevallier			};
1670b9313312SGatien Chevallier
1671b9313312SGatien Chevallier			lptimer2: timer@50021000 {
1672b9313312SGatien Chevallier				#address-cells = <1>;
1673b9313312SGatien Chevallier				#size-cells = <0>;
1674b9313312SGatien Chevallier				compatible = "st,stm32-lptimer";
1675b9313312SGatien Chevallier				reg = <0x50021000 0x400>;
1676b9313312SGatien Chevallier				interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
1677b9313312SGatien Chevallier				clocks = <&rcc LPTIM2_K>;
1678b9313312SGatien Chevallier				clock-names = "mux";
1679b9313312SGatien Chevallier				wakeup-source;
1680b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_LPTIM2_ID>;
1681b9313312SGatien Chevallier				status = "disabled";
1682b9313312SGatien Chevallier
1683b9313312SGatien Chevallier				pwm {
1684b9313312SGatien Chevallier					compatible = "st,stm32-pwm-lp";
1685b9313312SGatien Chevallier					#pwm-cells = <3>;
1686b9313312SGatien Chevallier					status = "disabled";
1687b9313312SGatien Chevallier				};
1688b9313312SGatien Chevallier
1689b9313312SGatien Chevallier				trigger@1 {
1690b9313312SGatien Chevallier					compatible = "st,stm32-lptimer-trigger";
1691b9313312SGatien Chevallier					reg = <1>;
1692b9313312SGatien Chevallier					status = "disabled";
1693b9313312SGatien Chevallier				};
1694b9313312SGatien Chevallier
1695b9313312SGatien Chevallier				counter {
1696b9313312SGatien Chevallier					compatible = "st,stm32-lptimer-counter";
1697b9313312SGatien Chevallier					status = "disabled";
1698b9313312SGatien Chevallier				};
1699b9313312SGatien Chevallier			};
1700b9313312SGatien Chevallier
1701b9313312SGatien Chevallier			lptimer3: timer@50022000 {
1702b9313312SGatien Chevallier				#address-cells = <1>;
1703b9313312SGatien Chevallier				#size-cells = <0>;
1704b9313312SGatien Chevallier				compatible = "st,stm32-lptimer";
1705b9313312SGatien Chevallier				reg = <0x50022000 0x400>;
1706b9313312SGatien Chevallier				interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
1707b9313312SGatien Chevallier				clocks = <&rcc LPTIM3_K>;
1708b9313312SGatien Chevallier				clock-names = "mux";
1709b9313312SGatien Chevallier				wakeup-source;
1710b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_LPTIM3_ID>;
1711b9313312SGatien Chevallier				status = "disabled";
1712b9313312SGatien Chevallier
1713b9313312SGatien Chevallier				pwm {
1714b9313312SGatien Chevallier					compatible = "st,stm32-pwm-lp";
1715b9313312SGatien Chevallier					#pwm-cells = <3>;
1716b9313312SGatien Chevallier					status = "disabled";
1717b9313312SGatien Chevallier				};
1718b9313312SGatien Chevallier
1719b9313312SGatien Chevallier				trigger@2 {
1720b9313312SGatien Chevallier					compatible = "st,stm32-lptimer-trigger";
1721b9313312SGatien Chevallier					reg = <2>;
1722b9313312SGatien Chevallier					status = "disabled";
1723b9313312SGatien Chevallier				};
1724b9313312SGatien Chevallier			};
1725b9313312SGatien Chevallier
1726b9313312SGatien Chevallier			lptimer4: timer@50023000 {
1727b9313312SGatien Chevallier				compatible = "st,stm32-lptimer";
1728b9313312SGatien Chevallier				reg = <0x50023000 0x400>;
1729b9313312SGatien Chevallier				interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
1730b9313312SGatien Chevallier				clocks = <&rcc LPTIM4_K>;
1731b9313312SGatien Chevallier				clock-names = "mux";
1732b9313312SGatien Chevallier				wakeup-source;
1733b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_LPTIM4_ID>;
1734b9313312SGatien Chevallier				status = "disabled";
1735b9313312SGatien Chevallier
1736b9313312SGatien Chevallier				pwm {
1737b9313312SGatien Chevallier					compatible = "st,stm32-pwm-lp";
1738b9313312SGatien Chevallier					#pwm-cells = <3>;
1739b9313312SGatien Chevallier					status = "disabled";
1740b9313312SGatien Chevallier				};
1741b9313312SGatien Chevallier			};
1742b9313312SGatien Chevallier
1743b9313312SGatien Chevallier			lptimer5: timer@50024000 {
1744b9313312SGatien Chevallier				compatible = "st,stm32-lptimer";
1745b9313312SGatien Chevallier				reg = <0x50024000 0x400>;
1746b9313312SGatien Chevallier				interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
1747b9313312SGatien Chevallier				clocks = <&rcc LPTIM5_K>;
1748b9313312SGatien Chevallier				clock-names = "mux";
1749b9313312SGatien Chevallier				wakeup-source;
1750b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_LPTIM5_ID>;
1751b9313312SGatien Chevallier				status = "disabled";
1752b9313312SGatien Chevallier
1753b9313312SGatien Chevallier				pwm {
1754b9313312SGatien Chevallier					compatible = "st,stm32-pwm-lp";
1755b9313312SGatien Chevallier					#pwm-cells = <3>;
1756b9313312SGatien Chevallier					status = "disabled";
1757b9313312SGatien Chevallier				};
1758b9313312SGatien Chevallier			};
1759b9313312SGatien Chevallier
1760b9313312SGatien Chevallier			vrefbuf: vrefbuf@50025000 {
1761b9313312SGatien Chevallier				compatible = "st,stm32-vrefbuf";
1762b9313312SGatien Chevallier				reg = <0x50025000 0x8>;
1763b9313312SGatien Chevallier				regulator-min-microvolt = <1500000>;
1764b9313312SGatien Chevallier				regulator-max-microvolt = <2500000>;
1765b9313312SGatien Chevallier				clocks = <&rcc VREF>;
1766b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_VREFBUF_ID>;
1767b9313312SGatien Chevallier				status = "disabled";
1768b9313312SGatien Chevallier			};
1769b9313312SGatien Chevallier
1770b9313312SGatien Chevallier			sai4: sai@50027000 {
1771b9313312SGatien Chevallier				compatible = "st,stm32h7-sai";
1772b9313312SGatien Chevallier				#address-cells = <1>;
1773b9313312SGatien Chevallier				#size-cells = <1>;
1774b9313312SGatien Chevallier				ranges = <0 0x50027000 0x400>;
1775b9313312SGatien Chevallier				reg = <0x50027000 0x4>, <0x500273f0 0x10>;
1776b9313312SGatien Chevallier				interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1777b9313312SGatien Chevallier				resets = <&rcc SAI4_R>;
1778b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SAI4_ID>;
1779b9313312SGatien Chevallier				status = "disabled";
1780b9313312SGatien Chevallier
1781b9313312SGatien Chevallier				sai4a: audio-controller@50027004 {
1782b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1783b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-a";
1784b9313312SGatien Chevallier					reg = <0x04 0x20>;
1785b9313312SGatien Chevallier					clocks = <&rcc SAI4_K>;
1786b9313312SGatien Chevallier					clock-names = "sai_ck";
1787b9313312SGatien Chevallier					dmas = <&dmamux1 99 0x400 0x01>;
1788b9313312SGatien Chevallier					status = "disabled";
1789b9313312SGatien Chevallier				};
1790b9313312SGatien Chevallier
1791b9313312SGatien Chevallier				sai4b: audio-controller@50027024 {
1792b9313312SGatien Chevallier					#sound-dai-cells = <0>;
1793b9313312SGatien Chevallier					compatible = "st,stm32-sai-sub-b";
1794b9313312SGatien Chevallier					reg = <0x24 0x20>;
1795b9313312SGatien Chevallier					clocks = <&rcc SAI4_K>;
1796b9313312SGatien Chevallier					clock-names = "sai_ck";
1797b9313312SGatien Chevallier					dmas = <&dmamux1 100 0x400 0x01>;
1798b9313312SGatien Chevallier					status = "disabled";
1799b9313312SGatien Chevallier				};
1800b9313312SGatien Chevallier			};
1801b9313312SGatien Chevallier
1802b9313312SGatien Chevallier			hash1: hash@54002000 {
1803b9313312SGatien Chevallier				compatible = "st,stm32f756-hash";
1804b9313312SGatien Chevallier				reg = <0x54002000 0x400>;
1805b9313312SGatien Chevallier				interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
1806b9313312SGatien Chevallier				clocks = <&rcc HASH1>;
1807b9313312SGatien Chevallier				resets = <&rcc HASH1_R>;
1808b9313312SGatien Chevallier				dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
1809b9313312SGatien Chevallier				dma-names = "in";
1810b9313312SGatien Chevallier				dma-maxburst = <2>;
1811b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_HASH1_ID>;
1812b9313312SGatien Chevallier				status = "disabled";
1813b9313312SGatien Chevallier			};
1814b9313312SGatien Chevallier
1815b9313312SGatien Chevallier			rng1: rng@54003000 {
1816b9313312SGatien Chevallier				compatible = "st,stm32-rng";
1817b9313312SGatien Chevallier				reg = <0x54003000 0x400>;
1818b9313312SGatien Chevallier				clocks = <&rcc RNG1_K>;
1819b9313312SGatien Chevallier				resets = <&rcc RNG1_R>;
1820b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_RNG1_ID>;
1821b9313312SGatien Chevallier				status = "disabled";
1822b9313312SGatien Chevallier			};
1823b9313312SGatien Chevallier
1824b9313312SGatien Chevallier			fmc: memory-controller@58002000 {
1825b9313312SGatien Chevallier				#address-cells = <2>;
1826b9313312SGatien Chevallier				#size-cells = <1>;
1827b9313312SGatien Chevallier				compatible = "st,stm32mp1-fmc2-ebi";
1828b9313312SGatien Chevallier				reg = <0x58002000 0x1000>;
1829b9313312SGatien Chevallier				clocks = <&rcc FMC_K>;
1830b9313312SGatien Chevallier				resets = <&rcc FMC_R>;
1831b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_FMC_ID>;
1832b9313312SGatien Chevallier				status = "disabled";
1833b9313312SGatien Chevallier
1834b9313312SGatien Chevallier				ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
1835b9313312SGatien Chevallier					 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
1836b9313312SGatien Chevallier					 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
1837b9313312SGatien Chevallier					 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
1838b9313312SGatien Chevallier					 <4 0 0x80000000 0x10000000>; /* NAND */
1839b9313312SGatien Chevallier
1840b9313312SGatien Chevallier				nand-controller@4,0 {
1841b9313312SGatien Chevallier					#address-cells = <1>;
1842b9313312SGatien Chevallier					#size-cells = <0>;
1843b9313312SGatien Chevallier					compatible = "st,stm32mp1-fmc2-nfc";
1844b9313312SGatien Chevallier					reg = <4 0x00000000 0x1000>,
1845b9313312SGatien Chevallier					      <4 0x08010000 0x1000>,
1846b9313312SGatien Chevallier					      <4 0x08020000 0x1000>,
1847b9313312SGatien Chevallier					      <4 0x01000000 0x1000>,
1848b9313312SGatien Chevallier					      <4 0x09010000 0x1000>,
1849b9313312SGatien Chevallier					      <4 0x09020000 0x1000>;
1850b9313312SGatien Chevallier					interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1851b9313312SGatien Chevallier					dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
1852b9313312SGatien Chevallier					       <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
1853b9313312SGatien Chevallier					       <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
1854b9313312SGatien Chevallier					dma-names = "tx", "rx", "ecc";
1855b9313312SGatien Chevallier					status = "disabled";
1856b9313312SGatien Chevallier				};
1857b9313312SGatien Chevallier			};
1858b9313312SGatien Chevallier
1859b9313312SGatien Chevallier			qspi: spi@58003000 {
1860b9313312SGatien Chevallier				compatible = "st,stm32f469-qspi";
1861b9313312SGatien Chevallier				reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
1862b9313312SGatien Chevallier				reg-names = "qspi", "qspi_mm";
1863b9313312SGatien Chevallier				interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
1864b9313312SGatien Chevallier				dmas = <&mdma1 22 0x2 0x10100002 0x0 0x0>,
1865b9313312SGatien Chevallier				       <&mdma1 22 0x2 0x10100008 0x0 0x0>;
1866b9313312SGatien Chevallier				dma-names = "tx", "rx";
1867b9313312SGatien Chevallier				clocks = <&rcc QSPI_K>;
1868b9313312SGatien Chevallier				resets = <&rcc QSPI_R>;
1869b9313312SGatien Chevallier				#address-cells = <1>;
1870b9313312SGatien Chevallier				#size-cells = <0>;
1871b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_QSPI_ID>;
1872b9313312SGatien Chevallier				status = "disabled";
1873b9313312SGatien Chevallier			};
1874b9313312SGatien Chevallier
1875b9313312SGatien Chevallier			ethernet0: ethernet@5800a000 {
1876b9313312SGatien Chevallier				compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
1877b9313312SGatien Chevallier				reg = <0x5800a000 0x2000>;
1878b9313312SGatien Chevallier				reg-names = "stmmaceth";
1879b9313312SGatien Chevallier				interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
1880b9313312SGatien Chevallier				interrupt-names = "macirq";
1881b9313312SGatien Chevallier				clock-names = "stmmaceth",
1882b9313312SGatien Chevallier					      "mac-clk-tx",
1883b9313312SGatien Chevallier					      "mac-clk-rx",
1884b9313312SGatien Chevallier					      "eth-ck",
1885b9313312SGatien Chevallier					      "ptp_ref",
1886b9313312SGatien Chevallier					      "ethstp";
1887b9313312SGatien Chevallier				clocks = <&rcc ETHMAC>,
1888b9313312SGatien Chevallier					 <&rcc ETHTX>,
1889b9313312SGatien Chevallier					 <&rcc ETHRX>,
1890b9313312SGatien Chevallier					 <&rcc ETHCK_K>,
1891b9313312SGatien Chevallier					 <&rcc ETHPTP_K>,
1892b9313312SGatien Chevallier					 <&rcc ETHSTP>;
1893b9313312SGatien Chevallier				st,syscon = <&syscfg 0x4>;
1894b9313312SGatien Chevallier				snps,mixed-burst;
1895b9313312SGatien Chevallier				snps,pbl = <2>;
1896b9313312SGatien Chevallier				snps,en-tx-lpi-clockgating;
1897b9313312SGatien Chevallier				snps,axi-config = <&stmmac_axi_config_0>;
1898b9313312SGatien Chevallier				snps,tso;
1899b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_ETH_ID>;
1900b9313312SGatien Chevallier				status = "disabled";
1901b9313312SGatien Chevallier
1902b9313312SGatien Chevallier				stmmac_axi_config_0: stmmac-axi-config {
1903b9313312SGatien Chevallier					snps,wr_osr_lmt = <0x7>;
1904b9313312SGatien Chevallier					snps,rd_osr_lmt = <0x7>;
1905b9313312SGatien Chevallier					snps,blen = <0 0 0 0 16 8 4>;
1906b9313312SGatien Chevallier				};
1907b9313312SGatien Chevallier			};
1908b9313312SGatien Chevallier
1909b9313312SGatien Chevallier			usart1: serial@5c000000 {
1910b9313312SGatien Chevallier				compatible = "st,stm32h7-uart";
1911b9313312SGatien Chevallier				reg = <0x5c000000 0x400>;
1912b9313312SGatien Chevallier				interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
1913b9313312SGatien Chevallier				clocks = <&rcc USART1_K>;
1914b9313312SGatien Chevallier				wakeup-source;
1915b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_USART1_ID>;
1916b9313312SGatien Chevallier				status = "disabled";
1917b9313312SGatien Chevallier			};
1918b9313312SGatien Chevallier
1919b9313312SGatien Chevallier			spi6: spi@5c001000 {
1920b9313312SGatien Chevallier				#address-cells = <1>;
1921b9313312SGatien Chevallier				#size-cells = <0>;
1922b9313312SGatien Chevallier				compatible = "st,stm32h7-spi";
1923b9313312SGatien Chevallier				reg = <0x5c001000 0x400>;
1924b9313312SGatien Chevallier				interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1925b9313312SGatien Chevallier				clocks = <&rcc SPI6_K>;
1926b9313312SGatien Chevallier				resets = <&rcc SPI6_R>;
1927b9313312SGatien Chevallier				dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
1928b9313312SGatien Chevallier				       <&mdma1 35 0x0 0x40002 0x0 0x0>;
1929b9313312SGatien Chevallier				dma-names = "rx", "tx";
1930b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_SPI6_ID>;
1931b9313312SGatien Chevallier				status = "disabled";
1932b9313312SGatien Chevallier			};
1933b9313312SGatien Chevallier
1934b9313312SGatien Chevallier			i2c4: i2c@5c002000 {
1935b9313312SGatien Chevallier				compatible = "st,stm32mp15-i2c";
1936b9313312SGatien Chevallier				reg = <0x5c002000 0x400>;
1937b9313312SGatien Chevallier				interrupt-names = "event", "error";
1938b9313312SGatien Chevallier				interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1939b9313312SGatien Chevallier					     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1940b9313312SGatien Chevallier				clocks = <&rcc I2C4_K>;
1941b9313312SGatien Chevallier				resets = <&rcc I2C4_R>;
1942b9313312SGatien Chevallier				#address-cells = <1>;
1943b9313312SGatien Chevallier				#size-cells = <0>;
1944b9313312SGatien Chevallier				st,syscfg-fmp = <&syscfg 0x4 0x8>;
1945b9313312SGatien Chevallier				wakeup-source;
1946b9313312SGatien Chevallier				i2c-analog-filter;
1947b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_I2C4_ID>;
1948b9313312SGatien Chevallier				status = "disabled";
1949b9313312SGatien Chevallier			};
1950b9313312SGatien Chevallier
1951b9313312SGatien Chevallier			iwdg1: watchdog@5c003000 {
1952b9313312SGatien Chevallier				compatible = "st,stm32mp1-iwdg";
1953b9313312SGatien Chevallier				reg = <0x5C003000 0x400>;
1954b9313312SGatien Chevallier				interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
1955b9313312SGatien Chevallier				clocks = <&rcc IWDG1>, <&rcc CK_LSI>;
1956b9313312SGatien Chevallier				clock-names = "pclk", "lsi";
1957b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_IWDG1_ID>;
1958b9313312SGatien Chevallier				status = "disabled";
1959b9313312SGatien Chevallier			};
1960b9313312SGatien Chevallier
1961b9313312SGatien Chevallier			i2c6: i2c@5c009000 {
1962b9313312SGatien Chevallier				compatible = "st,stm32mp15-i2c";
1963b9313312SGatien Chevallier				reg = <0x5c009000 0x400>;
1964b9313312SGatien Chevallier				interrupt-names = "event", "error";
1965b9313312SGatien Chevallier				interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1966b9313312SGatien Chevallier					     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1967b9313312SGatien Chevallier				clocks = <&rcc I2C6_K>;
1968b9313312SGatien Chevallier				resets = <&rcc I2C6_R>;
1969b9313312SGatien Chevallier				#address-cells = <1>;
1970b9313312SGatien Chevallier				#size-cells = <0>;
1971b9313312SGatien Chevallier				st,syscfg-fmp = <&syscfg 0x4 0x20>;
1972b9313312SGatien Chevallier				wakeup-source;
1973b9313312SGatien Chevallier				i2c-analog-filter;
1974b9313312SGatien Chevallier				access-controllers = <&etzpc STM32MP1_ETZPC_I2C6_ID>;
1975b9313312SGatien Chevallier				status = "disabled";
1976b9313312SGatien Chevallier			};
1977b9313312SGatien Chevallier		};
19781bf81340SEtienne Carriere	};
19791bf81340SEtienne Carriere
19801bf81340SEtienne Carriere	mlahb: ahb {
19811bf81340SEtienne Carriere		compatible = "st,mlahb", "simple-bus";
19821bf81340SEtienne Carriere		#address-cells = <1>;
19831bf81340SEtienne Carriere		#size-cells = <1>;
19841bf81340SEtienne Carriere		ranges;
19851bf81340SEtienne Carriere		dma-ranges = <0x00000000 0x38000000 0x10000>,
19861bf81340SEtienne Carriere			     <0x10000000 0x10000000 0x60000>,
19871bf81340SEtienne Carriere			     <0x30000000 0x30000000 0x60000>;
19881bf81340SEtienne Carriere
19891bf81340SEtienne Carriere		m4_rproc: m4@10000000 {
19901bf81340SEtienne Carriere			compatible = "st,stm32mp1-m4";
19911bf81340SEtienne Carriere			reg = <0x10000000 0x40000>,
19921bf81340SEtienne Carriere			      <0x30000000 0x40000>,
19931bf81340SEtienne Carriere			      <0x38000000 0x10000>;
19947c9920cbSArnaud Pouliquen			resets = <&rcc MCU_R>, <&rcc MCU_HOLD_BOOT_R>;
19957c9920cbSArnaud Pouliquen			reset-names = "mcu_rst", "hold_boot";
19961bf81340SEtienne Carriere			st,syscfg-tz = <&rcc 0x000 0x1>;
199713bd79f4SJohann Neuhauser			st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
199813bd79f4SJohann Neuhauser			st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
199913bd79f4SJohann Neuhauser			st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
20001bf81340SEtienne Carriere			status = "disabled";
20011bf81340SEtienne Carriere		};
20021bf81340SEtienne Carriere	};
20031bf81340SEtienne Carriere};
2004