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 = <®11>; 37513bd79f4SJohann Neuhauser vdda1v8-supply = <®18>; 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