]> Git Repo - J-linux.git/commitdiff
Merge tag 'irq-core-2024-05-12' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <[email protected]>
Tue, 14 May 2024 16:47:14 +0000 (09:47 -0700)
committerLinus Torvalds <[email protected]>
Tue, 14 May 2024 16:47:14 +0000 (09:47 -0700)
Pull interrupt subsystem updates from Thomas Gleixner:
 "Core code:

   - Interrupt storm detection for the lockup watchdog:

     Lockups which are caused by interrupt storms are not easy to debug
     because there is no information about the events which make the
     lockup detector trigger.

     To make this more user friendly, provide an extenstion to interrupt
     statistics which allows to take snapshots and an interface to
     retrieve the delta to the snapshot. Use this new mechanism in the
     watchdog code to do a two stage lockup analysis by taking the
     snapshot and printing the deltas for the topmost active interrupts
     on the second trigger.

     Note: This contains both the interrupt and the watchdog changes as
     the latter depend on the former obviously.

   - Avoid summation loops in the /proc/interrupts output and use the
     global counter when possible

   - Skip suspended interrupts on CPU hotplug operations to ensure that
     they are not delivered before the system resumes the device drivers
     when coming out of suspend.

   - On CPU hot-unplug interrupts which are affine to the outgoing CPU
     are migrated to a different CPU in the affinity mask. This can fail
     when the CPUs have no vectors left. Instead of giving up try to
     migrate it to any online CPU and thereby breaking the affinity
     setting in order to prevent a stale device interrupt which targets
     an offline CPU

   - The usual small cleanups

  Driver code:

   - Support for the RISCV AIA MSI controller

   - Make the interrupt allocation for the Loongson PCH controller more
     flexible to prevent vector exhaustion

   - The usual set of cleanups and fixes all over the place"

* tag 'irq-core-2024-05-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
  irqchip/gic-v3-its: Remove BUG_ON in its_vpe_irq_domain_alloc
  cpuidle: Avoid explicit cpumask allocation on stack
  irqchip/sifive-plic: Avoid explicit cpumask allocation on stack
  irqchip/riscv-aplic-direct: Avoid explicit cpumask allocation on stack
  irqchip/loongson-eiointc: Avoid explicit cpumask allocation on stack
  irqchip/gic-v3-its: Avoid explicit cpumask allocation on stack
  irqchip/irq-bcm6345-l1: Avoid explicit cpumask allocation on stack
  cpumask: Introduce cpumask_first_and_and()
  irqchip/irq-brcmstb-l2: Avoid saving mask on shutdown
  genirq: Reuse irq_is_nmi()
  genirq/cpuhotplug: Retry with cpu_online_mask when migration fails
  genirq/cpuhotplug: Skip suspended interrupts when restoring affinity
  arm64: dts: st: Add interrupt parent to pinctrl on stm32mp251
  arm64: dts: st: Add exti1 and exti2 nodes on stm32mp251
  ARM: dts: stm32: List exti parent interrupts on stm32mp131
  ARM: dts: stm32: List exti parent interrupts on stm32mp151
  arm64: Kconfig.platforms: Enable STM32_EXTI for ARCH_STM32
  irqchip/stm32-exti: Mark events reserved with RIF configuration check
  irqchip/stm32-exti: Skip secure events
  irqchip/stm32-exti: Convert driver to standard PM
  ...

1  2 
MAINTAINERS
arch/arm/boot/dts/st/stm32mp131.dtsi
arch/arm/boot/dts/st/stm32mp151.dtsi
arch/arm64/Kconfig.platforms
arch/arm64/boot/dts/st/stm32mp251.dtsi
drivers/irqchip/irq-gic-v3-its.c
kernel/irq/manage.c
lib/Kconfig.debug

diff --combined MAINTAINERS
index c8d98580f8212eb5df184b336dbfbc978692f36b,adab4f3f609ad289fc0e6d6103f1aa9872e16dd2..aecb2fe055cedba5e30a21868d0c0a9a1975cd2c
@@@ -553,7 -553,7 +553,7 @@@ F: Documentation/devicetree/bindings/ii
  F:    drivers/input/misc/adxl34x.c
  
  ADXL355 THREE-AXIS DIGITAL ACCELEROMETER DRIVER
 -M:    Puranjay Mohan <puranjay[email protected]>
 +M:    Puranjay Mohan <puranjay@kernel.org>
  L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/iio/accel/adi,adxl355.yaml
@@@ -993,7 -993,7 +993,7 @@@ F: drivers/video/fbdev/geode
  
  AMD HSMP DRIVER
  M:    Naveen Krishna Chatradhi <[email protected]>
 -R:    Carlos Bilbao <carlos.bilbao@amd.com>
 +R:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/arch/x86/amd_hsmp.rst
@@@ -2191,6 -2191,7 +2191,6 @@@ N:      mx
  
  ARM/FREESCALE LAYERSCAPE ARM ARCHITECTURE
  M:    Shawn Guo <[email protected]>
 -M:    Li Yang <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
@@@ -2585,8 -2586,12 +2585,8 @@@ F:     arch/arm64/boot/dts/qcom/sc7180
  F:    arch/arm64/boot/dts/qcom/sc7280*
  F:    arch/arm64/boot/dts/qcom/sdm845-cheza*
  
 -ARM/QUALCOMM SUPPORT
 -M:    Bjorn Andersson <[email protected]>
 -M:    Konrad Dybcio <[email protected]>
 +ARM/QUALCOMM MAILING LIST
  L:    [email protected]
 -S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
  F:    Documentation/devicetree/bindings/*/qcom*
  F:    Documentation/devicetree/bindings/soc/qcom/
  F:    arch/arm/boot/dts/qcom/
@@@ -2623,33 -2628,6 +2623,33 @@@ F:    include/dt-bindings/*/qcom
  F:    include/linux/*/qcom*
  F:    include/linux/soc/qcom/
  
 +ARM/QUALCOMM SUPPORT
 +M:    Bjorn Andersson <[email protected]>
 +M:    Konrad Dybcio <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
 +F:    Documentation/devicetree/bindings/arm/qcom-soc.yaml
 +F:    Documentation/devicetree/bindings/arm/qcom.yaml
 +F:    Documentation/devicetree/bindings/bus/qcom*
 +F:    Documentation/devicetree/bindings/cache/qcom,llcc.yaml
 +F:    Documentation/devicetree/bindings/firmware/qcom,scm.yaml
 +F:    Documentation/devicetree/bindings/reserved-memory/qcom
 +F:    Documentation/devicetree/bindings/soc/qcom/
 +F:    arch/arm/boot/dts/qcom/
 +F:    arch/arm/configs/qcom_defconfig
 +F:    arch/arm/mach-qcom/
 +F:    arch/arm64/boot/dts/qcom/
 +F:    drivers/bus/qcom*
 +F:    drivers/firmware/qcom/
 +F:    drivers/soc/qcom/
 +F:    include/dt-bindings/arm/qcom,ids.h
 +F:    include/dt-bindings/firmware/qcom,scm.h
 +F:    include/dt-bindings/soc/qcom*
 +F:    include/linux/firmware/qcom
 +F:    include/linux/soc/qcom/
 +F:    include/soc/qcom/
 +
  ARM/RDA MICRO ARCHITECTURE
  M:    Manivannan Sadhasivam <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -2730,7 -2708,7 +2730,7 @@@ F:      sound/soc/rockchip
  N:    rockchip
  
  ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  R:    Alim Akhtar <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
@@@ -3595,7 -3573,6 +3595,7 @@@ S:      Supporte
  C:    irc://irc.oftc.net/bcache
  T:    git https://evilpiepirate.org/git/bcachefs.git
  F:    fs/bcachefs/
 +F:    Documentation/filesystems/bcachefs/
  
  BDISP ST MEDIA DRIVER
  M:    Fabien Dessenne <[email protected]>
@@@ -3737,7 -3714,7 +3737,7 @@@ F:      drivers/iio/imu/bmi323
  
  BPF JIT for ARM
  M:    Russell King <[email protected]>
 -M:    Puranjay Mohan <puranjay[email protected]>
 +M:    Puranjay Mohan <puranjay@kernel.org>
  L:    [email protected]
  S:    Maintained
  F:    arch/arm/net/
@@@ -3787,8 -3764,6 +3787,8 @@@ X:      arch/riscv/net/bpf_jit_comp64.
  
  BPF JIT for RISC-V (64-bit)
  M:    Björn Töpel <[email protected]>
 +R:    Pu Lehui <[email protected]>
 +R:    Puranjay Mohan <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    arch/riscv/net/
@@@ -3967,7 -3942,8 +3967,7 @@@ F:      kernel/bpf/ringbuf.
  
  BPF [SECURITY & LSM] (Security Audit and Enforcement using BPF)
  M:    KP Singh <[email protected]>
 -R:    Florent Revest <[email protected]>
 -R:    Brendan Jackman <[email protected]>
 +R:    Matt Bobrowski <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/bpf/prog_lsm.rst
@@@ -3992,7 -3968,7 +3992,7 @@@ F:      kernel/bpf/bpf_lru
  F:    kernel/bpf/cgroup.c
  
  BPF [TOOLING] (bpftool)
 -M:    Quentin Monnet <q[email protected]>
 +M:    Quentin Monnet <q[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    kernel/bpf/disasm.*
@@@ -4216,6 -4192,7 +4216,6 @@@ S:      Supporte
  F:    drivers/scsi/bnx2i/
  
  BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
 -M:    Ariel Elior <[email protected]>
  M:    Sudarsana Kalluru <[email protected]>
  M:    Manish Chopra <[email protected]>
  L:    [email protected]
@@@ -4893,6 -4870,7 +4893,6 @@@ F:      drivers/power/supply/cw2015_battery.
  CEPH COMMON CODE (LIBCEPH)
  M:    Ilya Dryomov <[email protected]>
  M:    Xiubo Li <[email protected]>
 -R:    Jeff Layton <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://ceph.com/
@@@ -4904,6 -4882,7 +4904,6 @@@ F:      net/ceph
  CEPH DISTRIBUTED FILE SYSTEM CLIENT (CEPH)
  M:    Xiubo Li <[email protected]>
  M:    Ilya Dryomov <[email protected]>
 -R:    Jeff Layton <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://ceph.com/
@@@ -5376,7 -5355,7 +5376,7 @@@ F:      drivers/usb/atm/cxacru.
  
  CONFIDENTIAL COMPUTING THREAT MODEL FOR X86 VIRTUALIZATION (SNP/TDX)
  M:    Elena Reshetova <[email protected]>
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  S:    Maintained
  F:    Documentation/security/snp-tdx-threat-model.rst
  
@@@ -5579,7 -5558,7 +5579,7 @@@ F:      drivers/cpuidle/cpuidle-big_little.
  CPUIDLE DRIVER - ARM EXYNOS
  M:    Daniel Lezcano <[email protected]>
  M:    Kukjin Kim <[email protected]>
 -R:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +R:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -5732,7 -5711,7 +5732,7 @@@ Q:      http://patchwork.linuxtv.org/project
  F:    drivers/media/dvb-frontends/cxd2820r*
  
  CXGB3 ETHERNET DRIVER (CXGB3)
 -M:    Raju Rangoju <rajur@chelsio.com>
 +M:    Potnuri Bharat Teja <bharat@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -5753,7 -5732,7 +5753,7 @@@ W:      http://www.chelsio.co
  F:    drivers/crypto/chelsio
  
  CXGB4 ETHERNET DRIVER (CXGB4)
 -M:    Raju Rangoju <rajur@chelsio.com>
 +M:    Potnuri Bharat Teja <bharat@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -5782,7 -5761,7 +5782,7 @@@ F:      drivers/infiniband/hw/cxgb4
  F:    include/uapi/rdma/cxgb4-abi.h
  
  CXGB4VF ETHERNET DRIVER (CXGB4VF)
 -M:    Raju Rangoju <rajur@chelsio.com>
 +M:    Potnuri Bharat Teja <bharat@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -6178,6 -6157,7 +6178,6 @@@ DEVICE-MAPPER  (LVM
  M:    Alasdair Kergon <[email protected]>
  M:    Mike Snitzer <[email protected]>
  M:    Mikulas Patocka <[email protected]>
 -M:    [email protected]
  L:    [email protected]
  S:    Maintained
  Q:    http://patchwork.kernel.org/project/dm-devel/list/
@@@ -6193,6 -6173,7 +6193,6 @@@ F:      include/uapi/linux/dm-*.
  
  DEVICE-MAPPER VDO TARGET
  M:    Matthew Sakai <[email protected]>
 -M:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/device-mapper/vdo*.rst
@@@ -6425,7 -6406,6 +6425,7 @@@ S:      Maintaine
  P:    Documentation/doc-guide/maintainer-profile.rst
  T:    git git://git.lwn.net/linux.git docs-next
  F:    Documentation/
 +F:    scripts/check-variable-fonts.sh
  F:    scripts/documentation-file-ref-check
  F:    scripts/kernel-doc
  F:    scripts/sphinx-pre-install
@@@ -7854,8 -7834,9 +7854,8 @@@ W:      http://aeschi.ch.eu.org/efs
  F:    fs/efs/
  
  EHEA (IBM pSeries eHEA 10Gb ethernet adapter) DRIVER
 -M:    Douglas Miller <[email protected]>
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/net/ethernet/ibm/ehea/
  
  ELM327 CAN NETWORK DRIVER
@@@ -7960,7 -7941,6 +7960,7 @@@ M:      Gao Xiang <[email protected]
  M:    Chao Yu <[email protected]>
  R:    Yue Hu <[email protected]>
  R:    Jeffle Xu <[email protected]>
 +R:    Sandeep Dhavale <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    https://erofs.docs.kernel.org
@@@ -8463,6 -8443,8 +8463,6 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    include/linux/fortify-string.h
  F:    lib/fortify_kunit.c
  F:    lib/memcpy_kunit.c
 -F:    lib/strcat_kunit.c
 -F:    lib/strscpy_kunit.c
  F:    lib/test_fortify/*
  F:    scripts/test_fortify.sh
  K:    \b__NO_FORTIFY\b
@@@ -8543,6 -8525,7 +8543,6 @@@ S:      Maintaine
  F:    drivers/video/fbdev/fsl-diu-fb.*
  
  FREESCALE DMA DRIVER
 -M:    Li Yang <[email protected]>
  M:    Zhang Wei <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -8707,9 -8690,10 +8707,9 @@@ F:     drivers/soc/fsl/qe/tsa.
  F:    include/dt-bindings/soc/cpm1-fsl,tsa.h
  
  FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
 -M:    Li Yang <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/net/ethernet/freescale/ucc_geth*
  
  FREESCALE QUICC ENGINE UCC HDLC DRIVER
@@@ -8726,9 -8710,10 +8726,9 @@@ S:     Maintaine
  F:    drivers/tty/serial/ucc_uart.c
  
  FREESCALE SOC DRIVERS
 -M:    Li Yang <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/devicetree/bindings/misc/fsl,dpaa2-console.yaml
  F:    Documentation/devicetree/bindings/soc/fsl/
  F:    drivers/soc/fsl/
@@@ -8762,15 -8747,17 +8762,15 @@@ F:   Documentation/devicetree/bindings/so
  F:    sound/soc/fsl/fsl_qmc_audio.c
  
  FREESCALE USB PERIPHERAL DRIVERS
 -M:    Li Yang <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/usb/gadget/udc/fsl*
  
  FREESCALE USB PHY DRIVER
 -M:    Ran Wang <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -S:    Maintained
 +S:    Orphan
  F:    drivers/usb/phy/phy-fsl-usb*
  
  FREEVXFS FILESYSTEM
@@@ -9015,7 -9002,7 +9015,7 @@@ F:      drivers/i2c/muxes/i2c-mux-gpio.
  F:    include/linux/platform_data/i2c-mux-gpio.h
  
  GENERIC GPIO RESET DRIVER
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  S:    Maintained
  F:    drivers/reset/reset-gpio.c
  
@@@ -9598,7 -9585,7 +9598,7 @@@ F:      kernel/power
  
  HID CORE LAYER
  M:    Jiri Kosina <[email protected]>
 -M:    Benjamin Tissoires <ben[email protected]>
 +M:    Benjamin Tissoires <ben[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
@@@ -9666,9 -9653,7 +9666,9 @@@ L:      [email protected]
  S:    Maintained
  F:    drivers/hid/hid-logitech-hidpp.c
  
 -HIGH-RESOLUTION TIMERS, CLOCKEVENTS
 +HIGH-RESOLUTION TIMERS, TIMER WHEEL, CLOCKEVENTS
 +M:    Anna-Maria Behnsen <[email protected]>
 +M:    Frederic Weisbecker <[email protected]>
  M:    Thomas Gleixner <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -9676,13 -9661,9 +9676,13 @@@ T:    git git://git.kernel.org/pub/scm/lin
  F:    Documentation/timers/
  F:    include/linux/clockchips.h
  F:    include/linux/hrtimer.h
 +F:    include/linux/timer.h
  F:    kernel/time/clockevents.c
  F:    kernel/time/hrtimer.c
 -F:    kernel/time/timer_*.c
 +F:    kernel/time/timer.c
 +F:    kernel/time/timer_list.c
 +F:    kernel/time/timer_migration.*
 +F:    tools/testing/selftests/timers/
  
  HIGH-SPEED SCC DRIVER FOR AX.25
  L:    [email protected]
@@@ -10045,7 -10026,7 +10045,7 @@@ F:   drivers/media/platform/st/sti/hv
  
  HWPOISON MEMORY FAILURE HANDLING
  M:    Miaohe Lin <[email protected]>
 -R:    Naoya Horiguchi <naoya.horiguchi@nec.com>
 +R:    Naoya Horiguchi <nao.horiguchi@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    mm/hwpoison-inject.c
@@@ -10625,7 -10606,7 +10625,7 @@@ S:   Orpha
  F:    drivers/video/fbdev/imsttfb.c
  
  INDEX OF FURTHER KERNEL DOCUMENTATION
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  S:    Maintained
  F:    Documentation/process/kernel-docs.rst
  
@@@ -11454,6 -11435,7 +11454,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    Documentation/core-api/irq/irq-domain.rst
  F:    include/linux/irqdomain.h
+ F:    include/linux/irqdomain_defs.h
  F:    kernel/irq/irqdomain.c
  F:    kernel/irq/msi.c
  
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    include/linux/group_cpus.h
+ F:    include/linux/irq.h
+ F:    include/linux/irqhandler.h
+ F:    include/linux/irqnr.h
+ F:    include/linux/irqreturn.h
  F:    kernel/irq/
  F:    lib/group_cpus.c
  
@@@ -11473,6 -11459,7 +11478,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    Documentation/devicetree/bindings/interrupt-controller/
  F:    drivers/irqchip/
+ F:    include/linux/irqchip.h
  
  ISA
  M:    William Breathitt Gray <[email protected]>
@@@ -12016,7 -12003,7 +12022,7 @@@ F:   include/keys/encrypted-type.
  F:    security/keys/encrypted-keys/
  
  KEYS-TRUSTED
 -M:    James Bottomley <[email protected].com>
 +M:    James Bottomley <James.Bottomley@HansenPartnership.com>
  M:    Jarkko Sakkinen <[email protected]>
  M:    Mimi Zohar <[email protected]>
  L:    [email protected]
@@@ -12036,15 -12023,6 +12042,15 @@@ S: Maintaine
  F:    include/keys/trusted_caam.h
  F:    security/keys/trusted-keys/trusted_caam.c
  
 +KEYS-TRUSTED-DCP
 +M:    David Gstir <[email protected]>
 +R:    sigma star Kernel Team <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +F:    include/keys/trusted_dcp.h
 +F:    security/keys/trusted-keys/trusted_dcp.c
 +
  KEYS-TRUSTED-TEE
  M:    Sumit Garg <[email protected]>
  L:    [email protected]
@@@ -12072,7 -12050,6 +12078,7 @@@ M:   Mimi Zohar <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 +W:    https://kernsec.org/wiki/index.php/Linux_Kernel_Integrity
  F:    security/integrity/platform_certs
  
  KFENCE
@@@ -13163,7 -13140,6 +13169,7 @@@ F:   drivers/net/ethernet/marvell/mvpp2
  
  MARVELL MWIFIEX WIRELESS DRIVER
  M:    Brian Norris <[email protected]>
 +R:    Francesco Dolcini <[email protected]>
  L:    [email protected]
  S:    Odd Fixes
  F:    drivers/net/wireless/marvell/mwifiex/
@@@ -13320,7 -13296,7 +13326,7 @@@ F:   drivers/iio/adc/max11205.
  
  MAXIM MAX17040 FAMILY FUEL GAUGE DRIVERS
  R:    Iskren Chernev <[email protected]>
 -R:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +R:    Krzysztof Kozlowski <krzk@kernel.org>
  R:    Marek Szyprowski <[email protected]>
  R:    Matheus Castello <[email protected]>
  L:    [email protected]
@@@ -13330,7 -13306,7 +13336,7 @@@ F:   drivers/power/supply/max17040_batter
  
  MAXIM MAX17042 FAMILY FUEL GAUGE DRIVERS
  R:    Hans de Goede <[email protected]>
 -R:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +R:    Krzysztof Kozlowski <krzk@kernel.org>
  R:    Marek Szyprowski <[email protected]>
  R:    Sebastian Krzyszkowiak <[email protected]>
  R:    Purism Kernel Team <[email protected]>
@@@ -13388,7 -13364,7 +13394,7 @@@ F:   Documentation/devicetree/bindings/po
  F:    drivers/power/supply/max77976_charger.c
  
  MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  S:    Maintained
  B:    mailto:[email protected]
@@@ -13399,7 -13375,7 +13405,7 @@@ F:   drivers/power/supply/max77693_charge
  
  MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BOARDS
  M:    Chanwoo Choi <[email protected]>
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  S:    Maintained
  B:    mailto:[email protected]
@@@ -14044,7 -14020,6 +14050,7 @@@ F:   drivers/net/ethernet/mellanox/mlx4/e
  
  MELLANOX ETHERNET DRIVER (mlx5e)
  M:    Saeed Mahameed <[email protected]>
 +M:    Tariq Toukan <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
@@@ -14112,7 -14087,6 +14118,7 @@@ F:   include/uapi/rdma/mlx4-abi.
  MELLANOX MLX5 core VPI driver
  M:    Saeed Mahameed <[email protected]>
  M:    Leon Romanovsky <[email protected]>
 +M:    Tariq Toukan <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -14183,7 -14157,7 +14189,7 @@@ F:   mm/mm_init.
  F:    tools/testing/memblock/
  
  MEMORY CONTROLLER DRIVERS
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  S:    Maintained
  B:    mailto:[email protected]
@@@ -14388,7 -14362,7 +14394,7 @@@ F:   drivers/dma/at_xdmac.
  F:    include/dt-bindings/dma/at91.h
  
  MICROCHIP AT91 SERIAL DRIVER
 -M:    Richard Genoud <richard.genoud@gmail.com>
 +M:    Richard Genoud <richard.genoud@bootlin.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
  F:    drivers/tty/serial/atmel_serial.c
@@@ -15193,8 -15167,9 +15199,8 @@@ F:   drivers/scsi/myrb.
  F:    drivers/scsi/myrs.*
  
  MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
 -M:    Chris Lee <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Orphan
  W:    https://www.cspi.com/ethernet-products/support/downloads/
  F:    drivers/net/ethernet/myricom/myri10ge/
  
@@@ -15563,7 -15538,7 +15569,7 @@@ F:   include/uapi/linux/nexthop.
  F:    net/ipv4/nexthop.c
  
  NFC SUBSYSTEM
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/nfc/
@@@ -15658,10 -15633,9 +15664,10 @@@ F: drivers/misc/nsm.
  F:    include/uapi/linux/nsm.h
  
  NOHZ, DYNTICKS SUPPORT
 +M:    Anna-Maria Behnsen <[email protected]>
  M:    Frederic Weisbecker <[email protected]>
 -M:    Thomas Gleixner <[email protected]>
  M:    Ingo Molnar <[email protected]>
 +M:    Thomas Gleixner <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/nohz
@@@ -15940,7 -15914,7 +15946,7 @@@ F:   Documentation/devicetree/bindings/re
  F:    drivers/regulator/pf8x00-regulator.c
  
  NXP PTN5150A CC LOGIC AND EXTCON DRIVER
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml
@@@ -16551,7 -16525,7 +16557,7 @@@ K:   of_overlay_remov
  
  OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
  M:    Rob Herring <[email protected]>
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
 +M:    Krzysztof Kozlowski <krzk+dt@kernel.org>
  M:    Conor Dooley <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -16757,9 -16731,9 +16763,9 @@@ F:   include/uapi/linux/ppdev.
  
  PARAVIRT_OPS INTERFACE
  M:    Juergen Gross <[email protected]>
 -R:    Ajay Kaher <akaher@vmware.com>
 -R:    Alexey Makhalov <amakhalov@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +R:    Ajay Kaher <ajay.kaher@broadcom.com>
 +R:    Alexey Makhalov <alexey.amakhalov@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -16830,6 -16804,12 +16836,6 @@@ S:  Maintaine
  F:    drivers/leds/leds-pca9532.c
  F:    include/linux/leds-pca9532.h
  
 -PCA9541 I2C BUS MASTER SELECTOR DRIVER
 -M:    Guenter Roeck <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/i2c/muxes/i2c-mux-pca9541.c
 -
  PCI DRIVER FOR AARDVARK (Marvell Armada 3700)
  M:    Thomas Petazzoni <[email protected]>
  M:    Pali Rohár <[email protected]>
@@@ -16992,6 -16972,7 +16998,6 @@@ F:   drivers/pci/controller/dwc/pci-exyno
  
  PCI DRIVER FOR SYNOPSYS DESIGNWARE
  M:    Jingoo Han <[email protected]>
 -M:    Gustavo Pimentel <[email protected]>
  M:    Manivannan Sadhasivam <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -17502,7 -17483,7 +17508,7 @@@ F:   Documentation/devicetree/bindings/pi
  F:    drivers/pinctrl/renesas/
  
  PIN CONTROLLER - SAMSUNG
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  M:    Sylwester Nawrocki <[email protected]>
  R:    Alim Akhtar <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -17615,20 -17596,15 +17621,20 @@@ F:        drivers/pnp
  F:    include/linux/pnp.h
  
  POSIX CLOCKS and TIMERS
 +M:    Anna-Maria Behnsen <[email protected]>
 +M:    Frederic Weisbecker <[email protected]>
  M:    Thomas Gleixner <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
  F:    fs/timerfd.c
  F:    include/linux/time_namespace.h
 -F:    include/linux/timer*
 +F:    include/linux/timerfd.h
 +F:    include/uapi/linux/time.h
 +F:    include/uapi/linux/timerfd.h
  F:    include/trace/events/timer*
 -F:    kernel/time/*timer*
 +F:    kernel/time/itimer.c
 +F:    kernel/time/posix-*
  F:    kernel/time/namespace.c
  
  POWER MANAGEMENT CORE
@@@ -17898,7 -17874,7 +17904,7 @@@ F:   Documentation/devicetree/bindings/le
  F:    drivers/media/rc/pwm-ir-tx.c
  
  PWM SUBSYSTEM
 -M:    Uwe Kleine-König <u[email protected]>
 +M:    Uwe Kleine-König <u[email protected]>
  L:    [email protected]
  S:    Maintained
  Q:    https://patchwork.ozlabs.org/project/linux-pwm/list/
@@@ -18022,6 -17998,7 +18028,6 @@@ S:   Supporte
  F:    drivers/scsi/qedi/
  
  QLOGIC QL4xxx ETHERNET DRIVER
 -M:    Ariel Elior <[email protected]>
  M:    Manish Chopra <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -18031,6 -18008,7 +18037,6 @@@ F:   include/linux/qed
  
  QLOGIC QL4xxx RDMA DRIVER
  M:    Michal Kalderon <[email protected]>
 -M:    Ariel Elior <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/infiniband/hw/qedr/
@@@ -18608,7 -18586,7 +18614,7 @@@ F:   tools/testing/selftests/resctrl
  READ-COPY UPDATE (RCU)
  M:    "Paul E. McKenney" <[email protected]>
  M:    Frederic Weisbecker <[email protected]> (kernel/rcu/tree_nocb.h)
 -M:    Neeraj Upadhyay <[email protected]> (kernel/rcu/tasks.h)
 +M:    Neeraj Upadhyay <[email protected]> (kernel/rcu/tasks.h)
  M:    Joel Fernandes <[email protected]>
  M:    Josh Triplett <[email protected]>
  M:    Boqun Feng <[email protected]>
@@@ -18673,21 -18651,18 +18679,21 @@@ REALTEK WIRELESS DRIVER (rtlwifi family
  M:    Ping-Ke Shih <[email protected]>
  L:    [email protected]
  S:    Maintained
 +T:    git https://github.com/pkshih/rtw.git
  F:    drivers/net/wireless/realtek/rtlwifi/
  
  REALTEK WIRELESS DRIVER (rtw88)
  M:    Ping-Ke Shih <[email protected]>
  L:    [email protected]
  S:    Maintained
 +T:    git https://github.com/pkshih/rtw.git
  F:    drivers/net/wireless/realtek/rtw88/
  
  REALTEK WIRELESS DRIVER (rtw89)
  M:    Ping-Ke Shih <[email protected]>
  L:    [email protected]
  S:    Maintained
 +T:    git https://github.com/pkshih/rtw.git
  F:    drivers/net/wireless/realtek/rtw89/
  
  REDPINE WIRELESS DRIVER
@@@ -18758,24 -18733,13 +18764,24 @@@ S:        Supporte
  F:    Documentation/devicetree/bindings/i2c/renesas,iic-emev2.yaml
  F:    drivers/i2c/busses/i2c-emev2.c
  
 -RENESAS ETHERNET DRIVERS
 +RENESAS ETHERNET AVB DRIVER
  R:    Sergey Shtylyov <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -F:    Documentation/devicetree/bindings/net/renesas,*.yaml
 -F:    drivers/net/ethernet/renesas/
 -F:    include/linux/sh_eth.h
 +F:    Documentation/devicetree/bindings/net/renesas,etheravb.yaml
 +F:    drivers/net/ethernet/renesas/Kconfig
 +F:    drivers/net/ethernet/renesas/Makefile
 +F:    drivers/net/ethernet/renesas/ravb*
 +
 +RENESAS ETHERNET SWITCH DRIVER
 +R:    Yoshihiro Shimoda <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +F:    Documentation/devicetree/bindings/net/renesas,*ether-switch.yaml
 +F:    drivers/net/ethernet/renesas/Kconfig
 +F:    drivers/net/ethernet/renesas/Makefile
 +F:    drivers/net/ethernet/renesas/rcar_gen4*
 +F:    drivers/net/ethernet/renesas/rswitch*
  
  RENESAS IDT821034 ASoC CODEC
  M:    Herve Codina <[email protected]>
@@@ -18885,16 -18849,6 +18891,16 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml
  F:    drivers/i2c/busses/i2c-rzv2m.c
  
 +RENESAS SUPERH ETHERNET DRIVER
 +R:    Sergey Shtylyov <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +F:    Documentation/devicetree/bindings/net/renesas,ether.yaml
 +F:    drivers/net/ethernet/renesas/Kconfig
 +F:    drivers/net/ethernet/renesas/Makefile
 +F:    drivers/net/ethernet/renesas/sh_eth*
 +F:    include/linux/sh_eth.h
 +
  RENESAS USB PHY DRIVER
  M:    Yoshihiro Shimoda <[email protected]>
  L:    [email protected]
@@@ -18974,6 -18928,20 +18980,20 @@@ S: Maintaine
  F:    drivers/mtd/nand/raw/r852.c
  F:    drivers/mtd/nand/raw/r852.h
  
+ RISC-V AIA DRIVERS
+ M:    Anup Patel <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml
+ F:    Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml
+ F:    drivers/irqchip/irq-riscv-aplic-*.c
+ F:    drivers/irqchip/irq-riscv-aplic-*.h
+ F:    drivers/irqchip/irq-riscv-imsic-*.c
+ F:    drivers/irqchip/irq-riscv-imsic-*.h
+ F:    drivers/irqchip/irq-riscv-intc.c
+ F:    include/linux/irqchip/riscv-aplic.h
+ F:    include/linux/irqchip/riscv-imsic.h
  RISC-V ARCHITECTURE
  M:    Paul Walmsley <[email protected]>
  M:    Palmer Dabbelt <[email protected]>
@@@ -19231,14 -19199,12 +19251,14 @@@ M:        Hin-Tak Leung <[email protected]
  M:    Larry Finger <[email protected]>
  L:    [email protected]
  S:    Maintained
 +T:    git https://github.com/pkshih/rtw.git
  F:    drivers/net/wireless/realtek/rtl818x/rtl8187/
  
  RTL8XXXU WIRELESS DRIVER (rtl8xxxu)
  M:    Jes Sorensen <[email protected]>
  L:    [email protected]
  S:    Maintained
 +T:    git https://github.com/pkshih/rtw.git
  F:    drivers/net/wireless/realtek/rtl8xxxu/
  
  RTRS TRANSPORT DRIVERS
@@@ -19468,7 -19434,7 +19488,7 @@@ F:   Documentation/devicetree/bindings/so
  F:    sound/soc/samsung/
  
  SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -19503,7 -19469,7 +19523,7 @@@ S:   Maintaine
  F:    drivers/platform/x86/samsung-laptop.c
  
  SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -19529,7 -19495,7 +19549,7 @@@ F:   drivers/media/platform/samsung/s3c-c
  F:    include/media/drv-intf/s3c_camif.h
  
  SAMSUNG S3FWRN5 NFC DRIVER
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml
  F:    drivers/nfc/s3fwrn5
@@@ -19550,7 -19516,7 +19570,7 @@@ S:   Supporte
  F:    drivers/media/i2c/s5k5baf.c
  
  SAMSUNG S5P Security SubSystem (SSS) DRIVER
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  M:    Vladimir Zapolskiy <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -19572,7 -19538,7 +19592,7 @@@ F:   Documentation/devicetree/bindings/me
  F:    drivers/media/platform/samsung/exynos4-is/
  
  SAMSUNG SOC CLOCK DRIVERS
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  M:    Sylwester Nawrocki <[email protected]>
  M:    Chanwoo Choi <[email protected]>
  R:    Alim Akhtar <[email protected]>
@@@ -19604,7 -19570,7 +19624,7 @@@ F:   drivers/net/ethernet/samsung/sxgbe
  
  SAMSUNG THERMAL DRIVER
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -19691,7 -19657,7 +19711,7 @@@ F:   drivers/scsi/sg.
  F:    include/scsi/sg.h
  
  SCSI SUBSYSTEM
 -M:    "James E.J. Bottomley" <[email protected].com>
 +M:    "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
  M:    "Martin K. Petersen" <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -20200,6 -20166,7 +20220,6 @@@ F:   include/linux/platform_data/simplefb
  
  SIOX
  M:    Thorsten Scherer <[email protected]>
 -M:    Uwe Kleine-König <[email protected]>
  R:    Pengutronix Kernel Team <[email protected]>
  S:    Supported
  F:    drivers/gpio/gpio-siox.c
@@@ -20712,7 -20679,7 +20732,7 @@@ Q:   http://patchwork.linuxtv.org/project
  F:    drivers/media/dvb-frontends/sp2*
  
  SPANISH DOCUMENTATION
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  R:    Avadhut Naik <[email protected]>
  S:    Maintained
  F:    Documentation/translations/sp_SP/
@@@ -20864,13 -20831,6 +20884,13 @@@ T: git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml
  F:    drivers/media/i2c/st-mipid02.c
  
 +ST STM32 FIREWALL
 +M:    Gatien Chevallier <[email protected]>
 +S:    Maintained
 +F:    drivers/bus/stm32_etzpc.c
 +F:    drivers/bus/stm32_firewall.c
 +F:    drivers/bus/stm32_rifsc.c
 +
  ST STM32 I2C/SMBUS DRIVER
  M:    Pierre-Yves MORDRET <[email protected]>
  M:    Alain Volmat <[email protected]>
@@@ -21513,7 -21473,6 +21533,7 @@@ F:   drivers/cpufreq/sc[mp]i-cpufreq.
  F:    drivers/firmware/arm_scmi/
  F:    drivers/firmware/arm_scpi.c
  F:    drivers/hwmon/scmi-hwmon.c
 +F:    drivers/pinctrl/pinctrl-scmi.c
  F:    drivers/pmdomain/arm/
  F:    drivers/powercap/arm_scmi_powercap.c
  F:    drivers/regulator/scmi-regulator.c
@@@ -21745,7 -21704,6 +21765,7 @@@ F:   Documentation/driver-api/tee.rs
  F:    Documentation/tee/
  F:    Documentation/userspace-api/tee.rst
  F:    drivers/tee/
 +F:    include/linux/tee_core.h
  F:    include/linux/tee_drv.h
  F:    include/uapi/linux/tee.h
  
@@@ -21764,11 -21722,6 +21784,11 @@@ M: Prashant Gaikwad <[email protected]
  S:    Supported
  F:    drivers/clk/tegra/
  
 +TEGRA CRYPTO DRIVERS
 +M:    Akhil R <[email protected]>
 +S:    Supported
 +F:    drivers/crypto/tegra/*
 +
  TEGRA DMA DRIVERS
  M:    Laxman Dewangan <[email protected]>
  M:    Jon Hunter <[email protected]>
@@@ -21962,7 -21915,7 +21982,7 @@@ F:   include/linux/soc/ti/ti_sci_inta_msi
  F:    include/linux/soc/ti/ti_sci_protocol.h
  
  TEXAS INSTRUMENTS' TMP117 TEMPERATURE SENSOR DRIVER
 -M:    Puranjay Mohan <puranjay[email protected]>
 +M:    Puranjay Mohan <puranjay@kernel.org>
  L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
@@@ -22321,20 -22274,13 +22341,20 @@@ S:        Supporte
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
  F:    include/linux/clocksource.h
  F:    include/linux/time.h
 +F:    include/linux/timekeeper_internal.h
 +F:    include/linux/timekeeping.h
  F:    include/linux/timex.h
  F:    include/uapi/linux/time.h
  F:    include/uapi/linux/timex.h
  F:    kernel/time/alarmtimer.c
 -F:    kernel/time/clocksource.c
 -F:    kernel/time/ntp.c
 -F:    kernel/time/time*.c
 +F:    kernel/time/clocksource*
 +F:    kernel/time/ntp*
 +F:    kernel/time/time.c
 +F:    kernel/time/timeconst.bc
 +F:    kernel/time/timeconv.c
 +F:    kernel/time/timecounter.c
 +F:    kernel/time/timekeeping*
 +F:    kernel/time/time_test.c
  F:    tools/testing/selftests/timers/
  
  TIPC NETWORK LAYER
@@@ -22455,10 -22401,9 +22475,10 @@@ M: Jarkko Sakkinen <[email protected]
  R:    Jason Gunthorpe <[email protected]>
  L:    [email protected]
  S:    Maintained
 -W:    https://kernsec.org/wiki/index.php/Linux_Kernel_Integrity
 +W:    https://gitlab.com/jarkkojs/linux-tpmdd-test
  Q:    https://patchwork.kernel.org/project/linux-integrity/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
 +F:    Documentation/devicetree/bindings/tpm/
  F:    drivers/char/tpm/
  
  TPS546D24 DRIVER
@@@ -22544,15 -22489,6 +22564,15 @@@ F: Documentation/ABI/testing/configfs-t
  F:    drivers/virt/coco/tsm.c
  F:    include/linux/tsm.h
  
 +TRUSTED SERVICES TEE DRIVER
 +M:    Balint Dobszay <[email protected]>
 +M:    Sudeep Holla <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/tee/ts-tee.rst
 +F:    drivers/tee/tstee/
 +
  TTY LAYER AND SERIAL DRIVERS
  M:    Greg Kroah-Hartman <[email protected]>
  M:    Jiri Slaby <[email protected]>
@@@ -22614,7 -22550,6 +22634,7 @@@ Q:   https://patchwork.kernel.org/project
  B:    https://bugzilla.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git turbostat
  F:    tools/power/x86/turbostat/
 +F:    tools/testing/selftests/turbostat/
  
  TW5864 VIDEO4LINUX DRIVER
  M:    Bluecherry Maintainers <[email protected]>
@@@ -22694,7 -22629,6 +22714,7 @@@ F:   include/linux/ubsan.
  F:    lib/Kconfig.ubsan
  F:    lib/test_ubsan.c
  F:    lib/ubsan.c
 +F:    lib/ubsan.h
  F:    scripts/Makefile.ubsan
  K:    \bARCH_HAS_UBSAN\b
  
@@@ -22885,7 -22819,7 +22905,7 @@@ F:   drivers/usb/host/ehci
  
  USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
  M:    Jiri Kosina <[email protected]>
 -M:    Benjamin Tissoires <ben[email protected]>
 +M:    Benjamin Tissoires <ben[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
@@@ -23694,9 -23628,9 +23714,9 @@@ S:   Supporte
  F:    drivers/misc/vmw_balloon.c
  
  VMWARE HYPERVISOR INTERFACE
 -M:    Ajay Kaher <akaher@vmware.com>
 -M:    Alexey Makhalov <amakhalov@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +M:    Ajay Kaher <ajay.kaher@broadcom.com>
 +M:    Alexey Makhalov <alexey.amakhalov@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -23705,34 -23639,34 +23725,34 @@@ F:        arch/x86/include/asm/vmware.
  F:    arch/x86/kernel/cpu/vmware.c
  
  VMWARE PVRDMA DRIVER
 -M:    Bryan Tan <bryantan@vmware.com>
 -M:    Vishnu Dasa <vdasa@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +M:    Bryan Tan <bryan-bt.tan@broadcom.com>
 +M:    Vishnu Dasa <vishnu.dasa@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/infiniband/hw/vmw_pvrdma/
  
  VMWARE PVSCSI DRIVER
 -M:    Vishal Bhakta <vbhakta@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +M:    Vishal Bhakta <vishal.bhakta@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/scsi/vmw_pvscsi.c
  F:    drivers/scsi/vmw_pvscsi.h
  
  VMWARE VIRTUAL PTP CLOCK DRIVER
 -M:    Jeff Sipek <jsipek@vmware.com>
 -R:    Ajay Kaher <akaher@vmware.com>
 -R:    Alexey Makhalov <amakhalov@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +M:    Nick Shi <nick.shi@broadcom.com>
 +R:    Ajay Kaher <ajay.kaher@broadcom.com>
 +R:    Alexey Makhalov <alexey.amakhalov@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/ptp/ptp_vmw.c
  
  VMWARE VMCI DRIVER
 -M:    Bryan Tan <bryantan@vmware.com>
 -M:    Vishnu Dasa <vdasa@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +M:    Bryan Tan <bryan-bt.tan@broadcom.com>
 +M:    Vishnu Dasa <vishnu.dasa@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/misc/vmw_vmci/
@@@ -23747,16 -23681,16 +23767,16 @@@ F:        drivers/input/mouse/vmmouse.
  F:    drivers/input/mouse/vmmouse.h
  
  VMWARE VMXNET3 ETHERNET DRIVER
 -M:    Ronak Doshi <doshir@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +M:    Ronak Doshi <ronak.doshi@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/net/vmxnet3/
  
  VMWARE VSOCK VMCI TRANSPORT DRIVER
 -M:    Bryan Tan <bryantan@vmware.com>
 -M:    Vishnu Dasa <vdasa@vmware.com>
 -R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +M:    Bryan Tan <bryan-bt.tan@broadcom.com>
 +M:    Vishnu Dasa <vishnu.dasa@broadcom.com>
 +R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    [email protected]
  S:    Supported
  F:    net/vmw_vsock/vmci_transport*
@@@ -23824,7 -23758,7 +23844,7 @@@ S:   Orpha
  F:    drivers/mmc/host/vub300.c
  
  W1 DALLAS'S 1-WIRE BUS
 -M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
  S:    Maintained
  F:    Documentation/devicetree/bindings/w1/
  F:    Documentation/w1/
@@@ -24513,14 -24447,6 +24533,14 @@@ T: git git://git.kernel.org/pub/scm/lin
  F:    Documentation/admin-guide/LSM/Yama.rst
  F:    security/yama/
  
 +YAML NETLINK (YNL)
 +M:    Donald Hunter <[email protected]>
 +M:    Jakub Kicinski <[email protected]>
 +F:    Documentation/netlink/
 +F:    Documentation/userspace-api/netlink/intro-specs.rst
 +F:    Documentation/userspace-api/netlink/specs.rst
 +F:    tools/net/ynl/
 +
  YEALINK PHONE DRIVER
  M:    Henk Vergonet <[email protected]>
  L:    [email protected]
index ecfa120827ba012f275a8ccc9bd512961c8e7359,c432fe109cbec3b9736f67988c5431178e16e503..6704ceef284d31dfef66c1093eaf338ebcf99427
                        dma-channels = <16>;
                };
  
 -              adc_2: adc@48004000 {
 -                      compatible = "st,stm32mp13-adc-core";
 -                      reg = <0x48004000 0x400>;
 -                      interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc ADC2>, <&rcc ADC2_K>;
 -                      clock-names = "bus", "adc";
 -                      interrupt-controller;
 -                      #interrupt-cells = <1>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      status = "disabled";
 -
 -                      adc2: adc@0 {
 -                              compatible = "st,stm32mp13-adc";
 -                              #io-channel-cells = <1>;
 -                              #address-cells = <1>;
 -                              #size-cells = <0>;
 -                              reg = <0x0>;
 -                              interrupt-parent = <&adc_2>;
 -                              interrupts = <0>;
 -                              dmas = <&dmamux1 10 0x400 0x80000001>;
 -                              dma-names = "rx";
 -                              status = "disabled";
 -
 -                              channel@13 {
 -                                      reg = <13>;
 -                                      label = "vrefint";
 -                              };
 -                              channel@14 {
 -                                      reg = <14>;
 -                                      label = "vddcore";
 -                              };
 -                              channel@16 {
 -                                      reg = <16>;
 -                                      label = "vddcpu";
 -                              };
 -                              channel@17 {
 -                                      reg = <17>;
 -                                      label = "vddq_ddr";
 -                              };
 -                      };
 -              };
 -
 -              usbotg_hs: usb@49000000 {
 -                      compatible = "st,stm32mp15-hsotg", "snps,dwc2";
 -                      reg = <0x49000000 0x40000>;
 -                      clocks = <&rcc USBO_K>;
 -                      clock-names = "otg";
 -                      resets = <&rcc USBO_R>;
 -                      reset-names = "dwc2";
 -                      interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
 -                      g-rx-fifo-size = <512>;
 -                      g-np-tx-fifo-size = <32>;
 -                      g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
 -                      dr_mode = "otg";
 -                      otg-rev = <0x200>;
 -                      usb33d-supply = <&scmi_usb33>;
 -                      status = "disabled";
 -              };
 -
 -              usart1: serial@4c000000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x4c000000 0x400>;
 -                      interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc USART1_K>;
 -                      resets = <&rcc USART1_R>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 41 0x400 0x5>,
 -                             <&dmamux1 42 0x400 0x1>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 -
 -              usart2: serial@4c001000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x4c001000 0x400>;
 -                      interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc USART2_K>;
 -                      resets = <&rcc USART2_R>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 43 0x400 0x5>,
 -                             <&dmamux1 44 0x400 0x1>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 -
 -              i2s4: audio-controller@4c002000 {
 -                      compatible = "st,stm32h7-i2s";
 -                      reg = <0x4c002000 0x400>;
 -                      #sound-dai-cells = <0>;
 -                      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 -                      dmas = <&dmamux1 83 0x400 0x01>,
 -                             <&dmamux1 84 0x400 0x01>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 -
 -              spi4: spi@4c002000 {
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x4c002000 0x400>;
 -                      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI4_K>;
 -                      resets = <&rcc SPI4_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      dmas = <&dmamux1 83 0x400 0x01>,
 -                             <&dmamux1 84 0x400 0x01>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 -
 -              spi5: spi@4c003000 {
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x4c003000 0x400>;
 -                      interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI5_K>;
 -                      resets = <&rcc SPI5_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      dmas = <&dmamux1 85 0x400 0x01>,
 -                             <&dmamux1 86 0x400 0x01>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 -
 -              i2c3: i2c@4c004000 {
 -                      compatible = "st,stm32mp13-i2c";
 -                      reg = <0x4c004000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C3_K>;
 -                      resets = <&rcc I2C3_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      dmas = <&dmamux1 73 0x400 0x1>,
 -                             <&dmamux1 74 0x400 0x1>;
 -                      dma-names = "rx", "tx";
 -                      st,syscfg-fmp = <&syscfg 0x4 0x4>;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 -              };
 -
 -              i2c4: i2c@4c005000 {
 -                      compatible = "st,stm32mp13-i2c";
 -                      reg = <0x4c005000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C4_K>;
 -                      resets = <&rcc I2C4_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      dmas = <&dmamux1 75 0x400 0x1>,
 -                             <&dmamux1 76 0x400 0x1>;
 -                      dma-names = "rx", "tx";
 -                      st,syscfg-fmp = <&syscfg 0x4 0x8>;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 -              };
 -
 -              i2c5: i2c@4c006000 {
 -                      compatible = "st,stm32mp13-i2c";
 -                      reg = <0x4c006000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C5_K>;
 -                      resets = <&rcc I2C5_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      dmas = <&dmamux1 115 0x400 0x1>,
 -                             <&dmamux1 116 0x400 0x1>;
 -                      dma-names = "rx", "tx";
 -                      st,syscfg-fmp = <&syscfg 0x4 0x10>;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 -              };
 -
 -              timers12: timer@4c007000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x4c007000 0x400>;
 -                      interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM12_K>;
 -                      clock-names = "int";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@11 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <11>;
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              timers13: timer@4c008000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x4c008000 0x400>;
 -                      interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM13_K>;
 -                      clock-names = "int";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@12 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <12>;
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              timers14: timer@4c009000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x4c009000 0x400>;
 -                      interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM14_K>;
 -                      clock-names = "int";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@13 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <13>;
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              timers15: timer@4c00a000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x4c00a000 0x400>;
 -                      interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM15_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 105 0x400 0x1>,
 -                             <&dmamux1 106 0x400 0x1>,
 -                             <&dmamux1 107 0x400 0x1>,
 -                             <&dmamux1 108 0x400 0x1>;
 -                      dma-names = "ch1", "up", "trig", "com";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@14 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <14>;
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              timers16: timer@4c00b000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x4c00b000 0x400>;
 -                      interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM16_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 109 0x400 0x1>,
 -                             <&dmamux1 110 0x400 0x1>;
 -                      dma-names = "ch1", "up";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@15 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <15>;
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              timers17: timer@4c00c000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x4c00c000 0x400>;
 -                      interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM17_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 111 0x400 0x1>,
 -                             <&dmamux1 112 0x400 0x1>;
 -                      dma-names = "ch1", "up";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@16 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <16>;
 -                              status = "disabled";
 -                      };
 -              };
 -
                rcc: rcc@50000000 {
                        compatible = "st,stm32mp13-rcc", "syscon";
                        reg = <0x50000000 0x1000>;
                                 <&scmi_clk CK_SCMI_LSI>;
                };
  
 +              pwr_regulators: pwr@50001000 {
 +                      compatible = "st,stm32mp1,pwr-reg";
 +                      reg = <0x50001000 0x10>;
 +                      status = "disabled";
 +
 +                      reg11: reg11 {
 +                              regulator-name = "reg11";
 +                              regulator-min-microvolt = <1100000>;
 +                              regulator-max-microvolt = <1100000>;
 +                      };
 +
 +                      reg18: reg18 {
 +                              regulator-name = "reg18";
 +                              regulator-min-microvolt = <1800000>;
 +                              regulator-max-microvolt = <1800000>;
 +                      };
 +
 +                      usb33: usb33 {
 +                              regulator-name = "usb33";
 +                              regulator-min-microvolt = <3300000>;
 +                              regulator-max-microvolt = <3300000>;
 +                      };
 +              };
 +
                exti: interrupt-controller@5000d000 {
-                       compatible = "st,stm32mp13-exti", "syscon";
+                       compatible = "st,stm32mp1-exti", "syscon";
                        interrupt-controller;
                        #interrupt-cells = <2>;
                        reg = <0x5000d000 0x400>;
+                       interrupts-extended =
+                               <&intc GIC_SPI 6   IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_0 */
+                               <&intc GIC_SPI 7   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 8   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 9   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 10  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 24  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 65  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 66  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 67  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 68  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 41  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_10 */
+                               <&intc GIC_SPI 43  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 77  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 78  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 1   IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 3   IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,                                            /* EXTI_20 */
+                               <&intc GIC_SPI 32  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 34  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 73  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 93  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 38  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 39  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 40  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 72  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 53  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_30 */
+                               <&intc GIC_SPI 54  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 83  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 84  IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,                                            /* EXTI_40 */
+                               <0>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 96  IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 92  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_50 */
+                               <0>,
+                               <&intc GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,                                            /* EXTI_60 */
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 63  IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 98  IRQ_TYPE_LEVEL_HIGH>;        /* EXTI_70 */
                };
  
                syscfg: syscon@50020000 {
                        clocks = <&rcc SYSCFG>;
                };
  
 -              lptimer2: timer@50021000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-lptimer";
 -                      reg = <0x50021000 0x400>;
 -                      interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LPTIM2_K>;
 -                      clock-names = "mux";
 -                      wakeup-source;
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm-lp";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      trigger@1 {
 -                              compatible = "st,stm32-lptimer-trigger";
 -                              reg = <1>;
 -                              status = "disabled";
 -                      };
 -
 -                      counter {
 -                              compatible = "st,stm32-lptimer-counter";
 -                              status = "disabled";
 -                      };
 -
 -                      timer {
 -                              compatible = "st,stm32-lptimer-timer";
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              lptimer3: timer@50022000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-lptimer";
 -                      reg = <0x50022000 0x400>;
 -                      interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LPTIM3_K>;
 -                      clock-names = "mux";
 -                      wakeup-source;
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm-lp";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      trigger@2 {
 -                              compatible = "st,stm32-lptimer-trigger";
 -                              reg = <2>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer {
 -                              compatible = "st,stm32-lptimer-timer";
 -                              status = "disabled";
 -                      };
 -              };
 -
                lptimer4: timer@50023000 {
                        compatible = "st,stm32-lptimer";
                        reg = <0x50023000 0x400>;
                        };
                };
  
 -              hash: hash@54003000 {
 -                      compatible = "st,stm32mp13-hash";
 -                      reg = <0x54003000 0x400>;
 -                      interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc HASH1>;
 -                      resets = <&rcc HASH1_R>;
 -                      dmas = <&mdma 30 0x2 0x1000a02 0x0 0x0>;
 -                      dma-names = "in";
 -                      status = "disabled";
 -              };
 -
 -              rng: rng@54004000 {
 -                      compatible = "st,stm32mp13-rng";
 -                      reg = <0x54004000 0x400>;
 -                      clocks = <&rcc RNG1_K>;
 -                      resets = <&rcc RNG1_R>;
 -                      status = "disabled";
 -              };
 -
                mdma: dma-controller@58000000 {
                        compatible = "st,stm32h7-mdma";
                        reg = <0x58000000 0x1000>;
                        dma-requests = <48>;
                };
  
 -              fmc: memory-controller@58002000 {
 -                      compatible = "st,stm32mp1-fmc2-ebi";
 -                      reg = <0x58002000 0x1000>;
 -                      ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
 -                               <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
 -                               <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
 -                               <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
 -                               <4 0 0x80000000 0x10000000>; /* NAND */
 -                      #address-cells = <2>;
 -                      #size-cells = <1>;
 -                      clocks = <&rcc FMC_K>;
 -                      resets = <&rcc FMC_R>;
 -                      status = "disabled";
 -
 -                      nand-controller@4,0 {
 -                              compatible = "st,stm32mp1-fmc2-nfc";
 -                              reg = <4 0x00000000 0x1000>,
 -                                    <4 0x08010000 0x1000>,
 -                                    <4 0x08020000 0x1000>,
 -                                    <4 0x01000000 0x1000>,
 -                                    <4 0x09010000 0x1000>,
 -                                    <4 0x09020000 0x1000>;
 -                              #address-cells = <1>;
 -                              #size-cells = <0>;
 -                              interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&mdma 24 0x2 0x12000a02 0x0 0x0>,
 -                                     <&mdma 24 0x2 0x12000a08 0x0 0x0>,
 -                                     <&mdma 25 0x2 0x12000a0a 0x0 0x0>;
 -                              dma-names = "tx", "rx", "ecc";
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              qspi: spi@58003000 {
 -                      compatible = "st,stm32f469-qspi";
 -                      reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
 -                      reg-names = "qspi", "qspi_mm";
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
 -                      dmas = <&mdma 26 0x2 0x10100002 0x0 0x0>,
 -                             <&mdma 26 0x2 0x10100008 0x0 0x0>;
 -                      dma-names = "tx", "rx";
 -                      clocks = <&rcc QSPI_K>;
 -                      resets = <&rcc QSPI_R>;
 -                      status = "disabled";
 -              };
 -
 -              sdmmc1: mmc@58005000 {
 -                      compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 -                      arm,primecell-periphid = <0x20253180>;
 -                      reg = <0x58005000 0x1000>, <0x58006000 0x1000>;
 -                      interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SDMMC1_K>;
 -                      clock-names = "apb_pclk";
 -                      resets = <&rcc SDMMC1_R>;
 -                      cap-sd-highspeed;
 -                      cap-mmc-highspeed;
 -                      max-frequency = <130000000>;
 -                      status = "disabled";
 -              };
 -
 -              sdmmc2: mmc@58007000 {
 -                      compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 -                      arm,primecell-periphid = <0x20253180>;
 -                      reg = <0x58007000 0x1000>, <0x58008000 0x1000>;
 -                      interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SDMMC2_K>;
 -                      clock-names = "apb_pclk";
 -                      resets = <&rcc SDMMC2_R>;
 -                      cap-sd-highspeed;
 -                      cap-mmc-highspeed;
 -                      max-frequency = <130000000>;
 -                      status = "disabled";
 -              };
 -
                crc1: crc@58009000 {
                        compatible = "st,stm32f7-crc";
                        reg = <0x58009000 0x400>;
                        status = "disabled";
                };
  
 -              usbphyc: usbphyc@5a006000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      #clock-cells = <0>;
 -                      compatible = "st,stm32mp1-usbphyc";
 -                      reg = <0x5a006000 0x1000>;
 -                      clocks = <&rcc USBPHY_K>;
 -                      resets = <&rcc USBPHY_R>;
 -                      vdda1v1-supply = <&scmi_reg11>;
 -                      vdda1v8-supply = <&scmi_reg18>;
 -                      status = "disabled";
 -
 -                      usbphyc_port0: usb-phy@0 {
 -                              #phy-cells = <0>;
 -                              reg = <0>;
 -                      };
 -
 -                      usbphyc_port1: usb-phy@1 {
 -                              #phy-cells = <1>;
 -                              reg = <1>;
 -                      };
 -              };
 -
                rtc: rtc@5c004000 {
                        compatible = "st,stm32mp1-rtc";
                        reg = <0x5c004000 0x400>;
                        };
                };
  
 +              etzpc: bus@5c007000 {
 +                      compatible = "st,stm32-etzpc", "simple-bus";
 +                      reg = <0x5c007000 0x400>;
 +                      #address-cells = <1>;
 +                      #size-cells = <1>;
 +                      #access-controller-cells = <1>;
 +                      ranges;
 +
 +                      adc_2: adc@48004000 {
 +                              compatible = "st,stm32mp13-adc-core";
 +                              reg = <0x48004000 0x400>;
 +                              interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc ADC2>, <&rcc ADC2_K>;
 +                              clock-names = "bus", "adc";
 +                              interrupt-controller;
 +                              #interrupt-cells = <1>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&etzpc 33>;
 +                              status = "disabled";
 +
 +                              adc2: adc@0 {
 +                                      compatible = "st,stm32mp13-adc";
 +                                      #io-channel-cells = <1>;
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      reg = <0x0>;
 +                                      interrupt-parent = <&adc_2>;
 +                                      interrupts = <0>;
 +                                      dmas = <&dmamux1 10 0x400 0x80000001>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +
 +                                      channel@13 {
 +                                              reg = <13>;
 +                                              label = "vrefint";
 +                                      };
 +                                      channel@14 {
 +                                              reg = <14>;
 +                                              label = "vddcore";
 +                                      };
 +                                      channel@16 {
 +                                              reg = <16>;
 +                                              label = "vddcpu";
 +                                      };
 +                                      channel@17 {
 +                                              reg = <17>;
 +                                              label = "vddq_ddr";
 +                                      };
 +                              };
 +                      };
 +
 +                      usbotg_hs: usb@49000000 {
 +                              compatible = "st,stm32mp15-hsotg", "snps,dwc2";
 +                              reg = <0x49000000 0x40000>;
 +                              clocks = <&rcc USBO_K>;
 +                              clock-names = "otg";
 +                              resets = <&rcc USBO_R>;
 +                              reset-names = "dwc2";
 +                              interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
 +                              g-rx-fifo-size = <512>;
 +                              g-np-tx-fifo-size = <32>;
 +                              g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
 +                              dr_mode = "otg";
 +                              otg-rev = <0x200>;
 +                              usb33d-supply = <&scmi_usb33>;
 +                              access-controllers = <&etzpc 34>;
 +                              status = "disabled";
 +                      };
 +
 +                      usart1: serial@4c000000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x4c000000 0x400>;
 +                              interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc USART1_K>;
 +                              resets = <&rcc USART1_R>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 41 0x400 0x5>,
 +                              <&dmamux1 42 0x400 0x1>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 16>;
 +                              status = "disabled";
 +                      };
 +
 +                      usart2: serial@4c001000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x4c001000 0x400>;
 +                              interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc USART2_K>;
 +                              resets = <&rcc USART2_R>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 43 0x400 0x5>,
 +                              <&dmamux1 44 0x400 0x1>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 17>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2s4: audio-controller@4c002000 {
 +                              compatible = "st,stm32h7-i2s";
 +                              reg = <0x4c002000 0x400>;
 +                              #sound-dai-cells = <0>;
 +                              interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 +                              dmas = <&dmamux1 83 0x400 0x01>,
 +                              <&dmamux1 84 0x400 0x01>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 13>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi4: spi@4c002000 {
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x4c002000 0x400>;
 +                              interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI4_K>;
 +                              resets = <&rcc SPI4_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              dmas = <&dmamux1 83 0x400 0x01>,
 +                                     <&dmamux1 84 0x400 0x01>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 18>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi5: spi@4c003000 {
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x4c003000 0x400>;
 +                              interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI5_K>;
 +                              resets = <&rcc SPI5_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              dmas = <&dmamux1 85 0x400 0x01>,
 +                                     <&dmamux1 86 0x400 0x01>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 19>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c3: i2c@4c004000 {
 +                              compatible = "st,stm32mp13-i2c";
 +                              reg = <0x4c004000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C3_K>;
 +                              resets = <&rcc I2C3_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              dmas = <&dmamux1 73 0x400 0x1>,
 +                                     <&dmamux1 74 0x400 0x1>;
 +                              dma-names = "rx", "tx";
 +                              st,syscfg-fmp = <&syscfg 0x4 0x4>;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 20>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c4: i2c@4c005000 {
 +                              compatible = "st,stm32mp13-i2c";
 +                              reg = <0x4c005000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C4_K>;
 +                              resets = <&rcc I2C4_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              dmas = <&dmamux1 75 0x400 0x1>,
 +                                     <&dmamux1 76 0x400 0x1>;
 +                              dma-names = "rx", "tx";
 +                              st,syscfg-fmp = <&syscfg 0x4 0x8>;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 21>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c5: i2c@4c006000 {
 +                              compatible = "st,stm32mp13-i2c";
 +                              reg = <0x4c006000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C5_K>;
 +                              resets = <&rcc I2C5_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              dmas = <&dmamux1 115 0x400 0x1>,
 +                                     <&dmamux1 116 0x400 0x1>;
 +                              dma-names = "rx", "tx";
 +                              st,syscfg-fmp = <&syscfg 0x4 0x10>;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 22>;
 +                              status = "disabled";
 +                      };
 +
 +                      timers12: timer@4c007000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x4c007000 0x400>;
 +                              interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM12_K>;
 +                              clock-names = "int";
 +                              access-controllers = <&etzpc 23>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@11 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <11>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      timers13: timer@4c008000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x4c008000 0x400>;
 +                              interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM13_K>;
 +                              clock-names = "int";
 +                              access-controllers = <&etzpc 24>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@12 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <12>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      timers14: timer@4c009000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x4c009000 0x400>;
 +                              interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM14_K>;
 +                              clock-names = "int";
 +                              access-controllers = <&etzpc 25>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@13 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <13>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      timers15: timer@4c00a000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x4c00a000 0x400>;
 +                              interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM15_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 105 0x400 0x1>,
 +                              <&dmamux1 106 0x400 0x1>,
 +                              <&dmamux1 107 0x400 0x1>,
 +                              <&dmamux1 108 0x400 0x1>;
 +                              dma-names = "ch1", "up", "trig", "com";
 +                              access-controllers = <&etzpc 26>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@14 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <14>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      timers16: timer@4c00b000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x4c00b000 0x400>;
 +                              interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM16_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 109 0x400 0x1>,
 +                              <&dmamux1 110 0x400 0x1>;
 +                              dma-names = "ch1", "up";
 +                              access-controllers = <&etzpc 27>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@15 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <15>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      timers17: timer@4c00c000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x4c00c000 0x400>;
 +                              interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM17_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 111 0x400 0x1>,
 +                                     <&dmamux1 112 0x400 0x1>;
 +                              dma-names = "ch1", "up";
 +                              access-controllers = <&etzpc 28>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@16 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <16>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      lptimer2: timer@50021000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-lptimer";
 +                              reg = <0x50021000 0x400>;
 +                              interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc LPTIM2_K>;
 +                              clock-names = "mux";
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 1>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm-lp";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              trigger@1 {
 +                                      compatible = "st,stm32-lptimer-trigger";
 +                                      reg = <1>;
 +                                      status = "disabled";
 +                              };
 +
 +                              counter {
 +                                      compatible = "st,stm32-lptimer-counter";
 +                                      status = "disabled";
 +                              };
 +
 +                              timer {
 +                                      compatible = "st,stm32-lptimer-timer";
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      lptimer3: timer@50022000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-lptimer";
 +                              reg = <0x50022000 0x400>;
 +                              interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc LPTIM3_K>;
 +                              clock-names = "mux";
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 2>;
 +                              status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm-lp";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              trigger@2 {
 +                                      compatible = "st,stm32-lptimer-trigger";
 +                                      reg = <2>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer {
 +                                      compatible = "st,stm32-lptimer-timer";
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      hash: hash@54003000 {
 +                              compatible = "st,stm32mp13-hash";
 +                              reg = <0x54003000 0x400>;
 +                              interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc HASH1>;
 +                              resets = <&rcc HASH1_R>;
 +                              dmas = <&mdma 30 0x2 0x1000a02 0x0 0x0>;
 +                              dma-names = "in";
 +                              access-controllers = <&etzpc 41>;
 +                              status = "disabled";
 +                      };
 +
 +                      rng: rng@54004000 {
 +                              compatible = "st,stm32mp13-rng";
 +                              reg = <0x54004000 0x400>;
 +                              clocks = <&rcc RNG1_K>;
 +                              resets = <&rcc RNG1_R>;
 +                              access-controllers = <&etzpc 40>;
 +                              status = "disabled";
 +                      };
 +
 +                      fmc: memory-controller@58002000 {
 +                              compatible = "st,stm32mp1-fmc2-ebi";
 +                              reg = <0x58002000 0x1000>;
 +                              ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
 +                                       <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
 +                                       <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
 +                                       <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
 +                                       <4 0 0x80000000 0x10000000>; /* NAND */
 +                              #address-cells = <2>;
 +                              #size-cells = <1>;
 +                              clocks = <&rcc FMC_K>;
 +                              resets = <&rcc FMC_R>;
 +                              access-controllers = <&etzpc 54>;
 +                              status = "disabled";
 +
 +                              nand-controller@4,0 {
 +                                      compatible = "st,stm32mp1-fmc2-nfc";
 +                                      reg = <4 0x00000000 0x1000>,
 +                                            <4 0x08010000 0x1000>,
 +                                            <4 0x08020000 0x1000>,
 +                                            <4 0x01000000 0x1000>,
 +                                            <4 0x09010000 0x1000>,
 +                                            <4 0x09020000 0x1000>;
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&mdma 24 0x2 0x12000a02 0x0 0x0>,
 +                                             <&mdma 24 0x2 0x12000a08 0x0 0x0>,
 +                                             <&mdma 25 0x2 0x12000a0a 0x0 0x0>;
 +                                      dma-names = "tx", "rx", "ecc";
 +                                      status = "disabled";
 +                              };
 +                      };
 +
 +                      qspi: spi@58003000 {
 +                              compatible = "st,stm32f469-qspi";
 +                              reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
 +                              reg-names = "qspi", "qspi_mm";
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
 +                              dmas = <&mdma 26 0x2 0x10100002 0x0 0x0>,
 +                                     <&mdma 26 0x2 0x10100008 0x0 0x0>;
 +                              dma-names = "tx", "rx";
 +                              clocks = <&rcc QSPI_K>;
 +                              resets = <&rcc QSPI_R>;
 +                              access-controllers = <&etzpc 55>;
 +                              status = "disabled";
 +                      };
 +
 +                      sdmmc1: mmc@58005000 {
 +                              compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 +                              arm,primecell-periphid = <0x20253180>;
 +                              reg = <0x58005000 0x1000>, <0x58006000 0x1000>;
 +                              interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SDMMC1_K>;
 +                              clock-names = "apb_pclk";
 +                              resets = <&rcc SDMMC1_R>;
 +                              cap-sd-highspeed;
 +                              cap-mmc-highspeed;
 +                              max-frequency = <130000000>;
 +                              access-controllers = <&etzpc 50>;
 +                              status = "disabled";
 +                      };
 +
 +                      sdmmc2: mmc@58007000 {
 +                              compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 +                              arm,primecell-periphid = <0x20253180>;
 +                              reg = <0x58007000 0x1000>, <0x58008000 0x1000>;
 +                              interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SDMMC2_K>;
 +                              clock-names = "apb_pclk";
 +                              resets = <&rcc SDMMC2_R>;
 +                              cap-sd-highspeed;
 +                              cap-mmc-highspeed;
 +                              max-frequency = <130000000>;
 +                              access-controllers = <&etzpc 51>;
 +                              status = "disabled";
 +                      };
 +
 +                      usbphyc: usbphyc@5a006000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              #clock-cells = <0>;
 +                              compatible = "st,stm32mp1-usbphyc";
 +                              reg = <0x5a006000 0x1000>;
 +                              clocks = <&rcc USBPHY_K>;
 +                              resets = <&rcc USBPHY_R>;
 +                              vdda1v1-supply = <&scmi_reg11>;
 +                              vdda1v8-supply = <&scmi_reg18>;
 +                              access-controllers = <&etzpc 5>;
 +                              status = "disabled";
 +
 +                              usbphyc_port0: usb-phy@0 {
 +                                      #phy-cells = <0>;
 +                                      reg = <0>;
 +                              };
 +
 +                              usbphyc_port1: usb-phy@1 {
 +                                      #phy-cells = <1>;
 +                                      reg = <1>;
 +                              };
 +                      };
 +              };
 +
                /*
                 * Break node order to solve dependency probe issue between
                 * pinctrl and exti.
index 16bd6eee32b4e24d5b2f1ce99cab743c0b69e2ba,bcb3ed94b265626a88e0e9f221ad45d557c3ed6a..90c5c72c87ab7e7c7ac74b297922f080cb5ab7c1
                interrupt-parent = <&intc>;
                ranges;
  
 -              timers2: timer@40000000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40000000 0x400>;
 -                      interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM2_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 18 0x400 0x1>,
 -                             <&dmamux1 19 0x400 0x1>,
 -                             <&dmamux1 20 0x400 0x1>,
 -                             <&dmamux1 21 0x400 0x1>,
 -                             <&dmamux1 22 0x400 0x1>;
 -                      dma-names = "ch1", "ch2", "ch3", "ch4", "up";
 +              ipcc: mailbox@4c001000 {
 +                      compatible = "st,stm32mp1-ipcc";
 +                      #mbox-cells = <1>;
 +                      reg = <0x4c001000 0x400>;
 +                      st,proc-id = <0>;
 +                      interrupts-extended =
 +                              <&exti 61 1>,
 +                              <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
 +                      interrupt-names = "rx", "tx";
 +                      clocks = <&rcc IPCC>;
 +                      wakeup-source;
                        status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@1 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <1>;
 -                              status = "disabled";
 -                      };
 -
 -                      counter {
 -                              compatible = "st,stm32-timer-counter";
 -                              status = "disabled";
 -                      };
                };
  
 -              timers3: timer@40001000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40001000 0x400>;
 -                      interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM3_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 23 0x400 0x1>,
 -                             <&dmamux1 24 0x400 0x1>,
 -                             <&dmamux1 25 0x400 0x1>,
 -                             <&dmamux1 26 0x400 0x1>,
 -                             <&dmamux1 27 0x400 0x1>,
 -                             <&dmamux1 28 0x400 0x1>;
 -                      dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@2 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <2>;
 -                              status = "disabled";
 -                      };
 -
 -                      counter {
 -                              compatible = "st,stm32-timer-counter";
 -                              status = "disabled";
 -                      };
 +              rcc: rcc@50000000 {
 +                      compatible = "st,stm32mp1-rcc", "syscon";
 +                      reg = <0x50000000 0x1000>;
 +                      #clock-cells = <1>;
 +                      #reset-cells = <1>;
                };
  
 -              timers4: timer@40002000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40002000 0x400>;
 -                      interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM4_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 29 0x400 0x1>,
 -                             <&dmamux1 30 0x400 0x1>,
 -                             <&dmamux1 31 0x400 0x1>,
 -                             <&dmamux1 32 0x400 0x1>;
 -                      dma-names = "ch1", "ch2", "ch3", "ch4";
 -                      status = "disabled";
 +              pwr_regulators: pwr@50001000 {
 +                      compatible = "st,stm32mp1,pwr-reg";
 +                      reg = <0x50001000 0x10>;
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 +                      reg11: reg11 {
 +                              regulator-name = "reg11";
 +                              regulator-min-microvolt = <1100000>;
 +                              regulator-max-microvolt = <1100000>;
                        };
  
 -                      timer@3 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <3>;
 -                              status = "disabled";
 +                      reg18: reg18 {
 +                              regulator-name = "reg18";
 +                              regulator-min-microvolt = <1800000>;
 +                              regulator-max-microvolt = <1800000>;
                        };
  
 -                      counter {
 -                              compatible = "st,stm32-timer-counter";
 -                              status = "disabled";
 +                      usb33: usb33 {
 +                              regulator-name = "usb33";
 +                              regulator-min-microvolt = <3300000>;
 +                              regulator-max-microvolt = <3300000>;
                        };
                };
  
 -              timers5: timer@40003000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40003000 0x400>;
 -                      interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM5_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 55 0x400 0x1>,
 -                             <&dmamux1 56 0x400 0x1>,
 -                             <&dmamux1 57 0x400 0x1>,
 -                             <&dmamux1 58 0x400 0x1>,
 -                             <&dmamux1 59 0x400 0x1>,
 -                             <&dmamux1 60 0x400 0x1>;
 -                      dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@4 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <4>;
 -                              status = "disabled";
 -                      };
 -
 -                      counter {
 -                              compatible = "st,stm32-timer-counter";
 -                              status = "disabled";
 -                      };
 +              pwr_mcu: pwr_mcu@50001014 {
 +                      compatible = "st,stm32mp151-pwr-mcu", "syscon";
 +                      reg = <0x50001014 0x4>;
                };
  
 -              timers6: timer@40004000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40004000 0x400>;
 -                      interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM6_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 69 0x400 0x1>;
 -                      dma-names = "up";
 -                      status = "disabled";
 -
 -                      timer@5 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <5>;
 -                              status = "disabled";
 -                      };
 +              exti: interrupt-controller@5000d000 {
 +                      compatible = "st,stm32mp1-exti", "syscon";
 +                      interrupt-controller;
 +                      #interrupt-cells = <2>;
 +                      reg = <0x5000d000 0x400>;
++                      interrupts-extended =
++                              <&intc GIC_SPI 6   IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_0 */
++                              <&intc GIC_SPI 7   IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 8   IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 9   IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 10  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 23  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 64  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 65  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 66  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 67  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 40  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_10 */
++                              <&intc GIC_SPI 42  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 76  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 77  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 1   IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,
++                              <0>,
++                              <&intc GIC_SPI 3   IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,                                            /* EXTI_20 */
++                              <&intc GIC_SPI 31  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 33  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 72  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 95  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 37  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 38  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 39  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 71  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 52  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_30 */
++                              <&intc GIC_SPI 53  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 82  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 83  IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,                                            /* EXTI_40 */
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <&intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 93  IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,
++                              <&intc GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_50 */
++                              <0>,
++                              <&intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
++                              <&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <0>,                                            /* EXTI_60 */
++                              <&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,
++                              <0>,
++                              <0>,
++                              <&intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,
++                              <0>,
++                              <&intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
++                              <0>,
++                              <&intc GIC_SPI 62  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_70 */
++                              <0>,
++                              <0>,
++                              <&intc GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
                };
  
 -              timers7: timer@40005000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40005000 0x400>;
 -                      interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM7_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 70 0x400 0x1>;
 -                      dma-names = "up";
 -                      status = "disabled";
 -
 -                      timer@6 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <6>;
 -                              status = "disabled";
 -                      };
 +              syscfg: syscon@50020000 {
 +                      compatible = "st,stm32mp157-syscfg", "syscon";
 +                      reg = <0x50020000 0x400>;
 +                      clocks = <&rcc SYSCFG>;
                };
  
 -              timers12: timer@40006000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40006000 0x400>;
 -                      interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM12_K>;
 -                      clock-names = "int";
 +              dts: thermal@50028000 {
 +                      compatible = "st,stm32-thermal";
 +                      reg = <0x50028000 0x100>;
 +                      interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
 +                      clocks = <&rcc TMPSENS>;
 +                      clock-names = "pclk";
 +                      #thermal-sensor-cells = <0>;
                        status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@11 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <11>;
 -                              status = "disabled";
 -                      };
                };
  
 -              timers13: timer@40007000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40007000 0x400>;
 -                      interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM13_K>;
 -                      clock-names = "int";
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@12 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <12>;
 -                              status = "disabled";
 -                      };
 +              mdma1: dma-controller@58000000 {
 +                      compatible = "st,stm32h7-mdma";
 +                      reg = <0x58000000 0x1000>;
 +                      interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
 +                      clocks = <&rcc MDMA>;
 +                      resets = <&rcc MDMA_R>;
 +                      #dma-cells = <5>;
 +                      dma-channels = <32>;
 +                      dma-requests = <48>;
                };
  
 -              timers14: timer@40008000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x40008000 0x400>;
 -                      interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM14_K>;
 -                      clock-names = "int";
 +              sdmmc1: mmc@58005000 {
 +                      compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 +                      arm,primecell-periphid = <0x00253180>;
 +                      reg = <0x58005000 0x1000>;
 +                      interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
 +                      clocks = <&rcc SDMMC1_K>;
 +                      clock-names = "apb_pclk";
 +                      resets = <&rcc SDMMC1_R>;
 +                      cap-sd-highspeed;
 +                      cap-mmc-highspeed;
 +                      max-frequency = <120000000>;
                        status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      timer@13 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <13>;
 -                              status = "disabled";
 -                      };
                };
  
 -              lptimer1: timer@40009000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-lptimer";
 -                      reg = <0x40009000 0x400>;
 -                      interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LPTIM1_K>;
 -                      clock-names = "mux";
 -                      wakeup-source;
 -                      status = "disabled";
 -
 -                      pwm {
 -                              compatible = "st,stm32-pwm-lp";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -
 -                      trigger@0 {
 -                              compatible = "st,stm32-lptimer-trigger";
 -                              reg = <0>;
 -                              status = "disabled";
 -                      };
 -
 -                      counter {
 -                              compatible = "st,stm32-lptimer-counter";
 -                              status = "disabled";
 -                      };
 -              };
 -
 -              spi2: spi@4000b000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x4000b000 0x400>;
 -                      interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI2_K>;
 -                      resets = <&rcc SPI2_R>;
 -                      dmas = <&dmamux1 39 0x400 0x05>,
 -                             <&dmamux1 40 0x400 0x05>;
 -                      dma-names = "rx", "tx";
 +              sdmmc2: mmc@58007000 {
 +                      compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 +                      arm,primecell-periphid = <0x00253180>;
 +                      reg = <0x58007000 0x1000>;
 +                      interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
 +                      clocks = <&rcc SDMMC2_K>;
 +                      clock-names = "apb_pclk";
 +                      resets = <&rcc SDMMC2_R>;
 +                      cap-sd-highspeed;
 +                      cap-mmc-highspeed;
 +                      max-frequency = <120000000>;
                        status = "disabled";
                };
  
 -              i2s2: audio-controller@4000b000 {
 -                      compatible = "st,stm32h7-i2s";
 -                      #sound-dai-cells = <0>;
 -                      reg = <0x4000b000 0x400>;
 -                      interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 -                      dmas = <&dmamux1 39 0x400 0x01>,
 -                             <&dmamux1 40 0x400 0x01>;
 -                      dma-names = "rx", "tx";
 +              crc1: crc@58009000 {
 +                      compatible = "st,stm32f7-crc";
 +                      reg = <0x58009000 0x400>;
 +                      clocks = <&rcc CRC1>;
                        status = "disabled";
                };
  
 -              spi3: spi@4000c000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x4000c000 0x400>;
 -                      interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI3_K>;
 -                      resets = <&rcc SPI3_R>;
 -                      dmas = <&dmamux1 61 0x400 0x05>,
 -                             <&dmamux1 62 0x400 0x05>;
 -                      dma-names = "rx", "tx";
 +              usbh_ohci: usb@5800c000 {
 +                      compatible = "generic-ohci";
 +                      reg = <0x5800c000 0x1000>;
 +                      clocks = <&usbphyc>, <&rcc USBH>;
 +                      resets = <&rcc USBH_R>;
 +                      interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 +                      phys = <&usbphyc_port0>;
 +                      phy-names = "usb";
                        status = "disabled";
                };
  
 -              i2s3: audio-controller@4000c000 {
 -                      compatible = "st,stm32h7-i2s";
 -                      #sound-dai-cells = <0>;
 -                      reg = <0x4000c000 0x400>;
 -                      interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
 -                      dmas = <&dmamux1 61 0x400 0x01>,
 -                             <&dmamux1 62 0x400 0x01>;
 -                      dma-names = "rx", "tx";
 +              usbh_ehci: usb@5800d000 {
 +                      compatible = "generic-ehci";
 +                      reg = <0x5800d000 0x1000>;
 +                      clocks = <&usbphyc>, <&rcc USBH>;
 +                      resets = <&rcc USBH_R>;
 +                      interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 +                      companion = <&usbh_ohci>;
 +                      phys = <&usbphyc_port0>;
 +                      phy-names = "usb";
                        status = "disabled";
                };
  
 -              spdifrx: audio-controller@4000d000 {
 -                      compatible = "st,stm32h7-spdifrx";
 -                      #sound-dai-cells = <0>;
 -                      reg = <0x4000d000 0x400>;
 -                      clocks = <&rcc SPDIF_K>;
 -                      clock-names = "kclk";
 -                      interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
 -                      dmas = <&dmamux1 93 0x400 0x01>,
 -                             <&dmamux1 94 0x400 0x01>;
 -                      dma-names = "rx", "rx-ctrl";
 +              ltdc: display-controller@5a001000 {
 +                      compatible = "st,stm32-ltdc";
 +                      reg = <0x5a001000 0x400>;
 +                      interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
 +                                   <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
 +                      clocks = <&rcc LTDC_PX>;
 +                      clock-names = "lcd";
 +                      resets = <&rcc LTDC_R>;
                        status = "disabled";
                };
  
 -              usart2: serial@4000e000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x4000e000 0x400>;
 -                      interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc USART2_K>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 43 0x400 0x15>,
 -                             <&dmamux1 44 0x400 0x11>;
 -                      dma-names = "rx", "tx";
 +              iwdg2: watchdog@5a002000 {
 +                      compatible = "st,stm32mp1-iwdg";
 +                      reg = <0x5a002000 0x400>;
 +                      clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
 +                      clock-names = "pclk", "lsi";
                        status = "disabled";
                };
  
 -              usart3: serial@4000f000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x4000f000 0x400>;
 -                      interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc USART3_K>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 45 0x400 0x15>,
 -                             <&dmamux1 46 0x400 0x11>;
 -                      dma-names = "rx", "tx";
 +              usbphyc: usbphyc@5a006000 {
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      #clock-cells = <0>;
 +                      compatible = "st,stm32mp1-usbphyc";
 +                      reg = <0x5a006000 0x1000>;
 +                      clocks = <&rcc USBPHY_K>;
 +                      resets = <&rcc USBPHY_R>;
 +                      vdda1v1-supply = <&reg11>;
 +                      vdda1v8-supply = <&reg18>;
                        status = "disabled";
 -              };
  
 -              uart4: serial@40010000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x40010000 0x400>;
 -                      interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc UART4_K>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 63 0x400 0x15>,
 -                             <&dmamux1 64 0x400 0x11>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                      usbphyc_port0: usb-phy@0 {
 +                              #phy-cells = <0>;
 +                              reg = <0>;
 +                      };
  
 -              uart5: serial@40011000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x40011000 0x400>;
 -                      interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc UART5_K>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 65 0x400 0x15>,
 -                             <&dmamux1 66 0x400 0x11>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 +                      usbphyc_port1: usb-phy@1 {
 +                              #phy-cells = <1>;
 +                              reg = <1>;
 +                      };
                };
  
 -              i2c1: i2c@40012000 {
 -                      compatible = "st,stm32mp15-i2c";
 -                      reg = <0x40012000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C1_K>;
 -                      resets = <&rcc I2C1_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      st,syscfg-fmp = <&syscfg 0x4 0x1>;
 -                      wakeup-source;
 -                      i2c-analog-filter;
 +              rtc: rtc@5c004000 {
 +                      compatible = "st,stm32mp1-rtc";
 +                      reg = <0x5c004000 0x400>;
 +                      clocks = <&rcc RTCAPB>, <&rcc RTC>;
 +                      clock-names = "pclk", "rtc_ck";
 +                      interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
  
 -              i2c2: i2c@40013000 {
 -                      compatible = "st,stm32mp15-i2c";
 -                      reg = <0x40013000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C2_K>;
 -                      resets = <&rcc I2C2_R>;
 +              bsec: efuse@5c005000 {
 +                      compatible = "st,stm32mp15-bsec";
 +                      reg = <0x5c005000 0x400>;
                        #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      st,syscfg-fmp = <&syscfg 0x4 0x2>;
 -                      wakeup-source;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 +                      #size-cells = <1>;
 +                      part_number_otp: part-number-otp@4 {
 +                              reg = <0x4 0x1>;
 +                      };
 +                      vrefint: vrefin-cal@52 {
 +                              reg = <0x52 0x2>;
 +                      };
 +                      ts_cal1: calib@5c {
 +                              reg = <0x5c 0x2>;
 +                      };
 +                      ts_cal2: calib@5e {
 +                              reg = <0x5e 0x2>;
 +                      };
                };
  
 -              i2c3: i2c@40014000 {
 -                      compatible = "st,stm32mp15-i2c";
 -                      reg = <0x40014000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C3_K>;
 -                      resets = <&rcc I2C3_R>;
 +              etzpc: bus@5c007000 {
 +                      compatible = "st,stm32-etzpc", "simple-bus";
 +                      reg = <0x5c007000 0x400>;
                        #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      st,syscfg-fmp = <&syscfg 0x4 0x4>;
 -                      wakeup-source;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 -              };
 +                      #size-cells = <1>;
 +                      #access-controller-cells = <1>;
 +                      ranges;
  
 -              i2c5: i2c@40015000 {
 -                      compatible = "st,stm32mp15-i2c";
 -                      reg = <0x40015000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C5_K>;
 -                      resets = <&rcc I2C5_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      st,syscfg-fmp = <&syscfg 0x4 0x10>;
 -                      wakeup-source;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 -              };
 +                      timers2: timer@40000000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40000000 0x400>;
 +                              interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM2_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 18 0x400 0x1>,
 +                                     <&dmamux1 19 0x400 0x1>,
 +                                     <&dmamux1 20 0x400 0x1>,
 +                                     <&dmamux1 21 0x400 0x1>,
 +                                     <&dmamux1 22 0x400 0x1>;
 +                              dma-names = "ch1", "ch2", "ch3", "ch4", "up";
 +                              access-controllers = <&etzpc 16>;
 +                              status = "disabled";
  
 -              cec: cec@40016000 {
 -                      compatible = "st,stm32-cec";
 -                      reg = <0x40016000 0x400>;
 -                      interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc CEC_K>, <&rcc CEC>;
 -                      clock-names = "cec", "hdmi-cec";
 -                      status = "disabled";
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -              dac: dac@40017000 {
 -                      compatible = "st,stm32h7-dac-core";
 -                      reg = <0x40017000 0x400>;
 -                      clocks = <&rcc DAC12>;
 -                      clock-names = "pclk";
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      status = "disabled";
 +                              timer@1 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <1>;
 +                                      status = "disabled";
 +                              };
  
 -                      dac1: dac@1 {
 -                              compatible = "st,stm32-dac";
 -                              #io-channel-cells = <1>;
 -                              reg = <1>;
 -                              status = "disabled";
 +                              counter {
 +                                      compatible = "st,stm32-timer-counter";
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      dac2: dac@2 {
 -                              compatible = "st,stm32-dac";
 -                              #io-channel-cells = <1>;
 -                              reg = <2>;
 +                      timers3: timer@40001000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40001000 0x400>;
 +                              interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM3_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 23 0x400 0x1>,
 +                                     <&dmamux1 24 0x400 0x1>,
 +                                     <&dmamux1 25 0x400 0x1>,
 +                                     <&dmamux1 26 0x400 0x1>,
 +                                     <&dmamux1 27 0x400 0x1>,
 +                                     <&dmamux1 28 0x400 0x1>;
 +                              dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
 +                              access-controllers = <&etzpc 17>;
                                status = "disabled";
 -                      };
 -              };
 -
 -              uart7: serial@40018000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x40018000 0x400>;
 -                      interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc UART7_K>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 79 0x400 0x15>,
 -                             <&dmamux1 80 0x400 0x11>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
  
 -              uart8: serial@40019000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x40019000 0x400>;
 -                      interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc UART8_K>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 81 0x400 0x15>,
 -                             <&dmamux1 82 0x400 0x11>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -              timers1: timer@44000000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x44000000 0x400>;
 -                      interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "brk", "up", "trg-com", "cc";
 -                      clocks = <&rcc TIM1_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 11 0x400 0x1>,
 -                             <&dmamux1 12 0x400 0x1>,
 -                             <&dmamux1 13 0x400 0x1>,
 -                             <&dmamux1 14 0x400 0x1>,
 -                             <&dmamux1 15 0x400 0x1>,
 -                             <&dmamux1 16 0x400 0x1>,
 -                             <&dmamux1 17 0x400 0x1>;
 -                      dma-names = "ch1", "ch2", "ch3", "ch4",
 -                                  "up", "trig", "com";
 -                      status = "disabled";
 +                              timer@2 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <2>;
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 +                              counter {
 +                                      compatible = "st,stm32-timer-counter";
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      timer@0 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <0>;
 +                      timers4: timer@40002000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40002000 0x400>;
 +                              interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM4_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 29 0x400 0x1>,
 +                                     <&dmamux1 30 0x400 0x1>,
 +                                     <&dmamux1 31 0x400 0x1>,
 +                                     <&dmamux1 32 0x400 0x1>;
 +                              dma-names = "ch1", "ch2", "ch3", "ch4";
 +                              access-controllers = <&etzpc 18>;
                                status = "disabled";
 -                      };
  
 -                      counter {
 -                              compatible = "st,stm32-timer-counter";
 -                              status = "disabled";
 -                      };
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -              timers8: timer@44001000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x44001000 0x400>;
 -                      interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "brk", "up", "trg-com", "cc";
 -                      clocks = <&rcc TIM8_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 47 0x400 0x1>,
 -                             <&dmamux1 48 0x400 0x1>,
 -                             <&dmamux1 49 0x400 0x1>,
 -                             <&dmamux1 50 0x400 0x1>,
 -                             <&dmamux1 51 0x400 0x1>,
 -                             <&dmamux1 52 0x400 0x1>,
 -                             <&dmamux1 53 0x400 0x1>;
 -                      dma-names = "ch1", "ch2", "ch3", "ch4",
 -                                  "up", "trig", "com";
 -                      status = "disabled";
 +                              timer@3 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <3>;
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 +                              counter {
 +                                      compatible = "st,stm32-timer-counter";
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      timer@7 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <7>;
 +                      timers5: timer@40003000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40003000 0x400>;
 +                              interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM5_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 55 0x400 0x1>,
 +                                     <&dmamux1 56 0x400 0x1>,
 +                                     <&dmamux1 57 0x400 0x1>,
 +                                     <&dmamux1 58 0x400 0x1>,
 +                                     <&dmamux1 59 0x400 0x1>,
 +                                     <&dmamux1 60 0x400 0x1>;
 +                              dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
 +                              access-controllers = <&etzpc 19>;
                                status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@4 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <4>;
 +                                      status = "disabled";
 +                              };
 +
 +                              counter {
 +                                      compatible = "st,stm32-timer-counter";
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      counter {
 -                              compatible = "st,stm32-timer-counter";
 +                      timers6: timer@40004000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40004000 0x400>;
 +                              interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM6_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 69 0x400 0x1>;
 +                              dma-names = "up";
 +                              access-controllers = <&etzpc 20>;
                                status = "disabled";
 -                      };
 -              };
  
 -              usart6: serial@44003000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x44003000 0x400>;
 -                      interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc USART6_K>;
 -                      wakeup-source;
 -                      dmas = <&dmamux1 71 0x400 0x15>,
 -                             <&dmamux1 72 0x400 0x11>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                              timer@5 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <5>;
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -              spi1: spi@44004000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x44004000 0x400>;
 -                      interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI1_K>;
 -                      resets = <&rcc SPI1_R>;
 -                      dmas = <&dmamux1 37 0x400 0x05>,
 -                             <&dmamux1 38 0x400 0x05>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                      timers7: timer@40005000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40005000 0x400>;
 +                              interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM7_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 70 0x400 0x1>;
 +                              dma-names = "up";
 +                              access-controllers = <&etzpc 21>;
 +                              status = "disabled";
  
 -              i2s1: audio-controller@44004000 {
 -                      compatible = "st,stm32h7-i2s";
 -                      #sound-dai-cells = <0>;
 -                      reg = <0x44004000 0x400>;
 -                      interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 -                      dmas = <&dmamux1 37 0x400 0x01>,
 -                             <&dmamux1 38 0x400 0x01>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                              timer@6 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <6>;
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -              spi4: spi@44005000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x44005000 0x400>;
 -                      interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI4_K>;
 -                      resets = <&rcc SPI4_R>;
 -                      dmas = <&dmamux1 83 0x400 0x05>,
 -                             <&dmamux1 84 0x400 0x05>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                      timers12: timer@40006000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40006000 0x400>;
 +                              interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM12_K>;
 +                              clock-names = "int";
 +                              access-controllers = <&etzpc 22>;
 +                              status = "disabled";
  
 -              timers15: timer@44006000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x44006000 0x400>;
 -                      interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM15_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 105 0x400 0x1>,
 -                             <&dmamux1 106 0x400 0x1>,
 -                             <&dmamux1 107 0x400 0x1>,
 -                             <&dmamux1 108 0x400 0x1>;
 -                      dma-names = "ch1", "up", "trig", "com";
 -                      status = "disabled";
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 +                              timer@11 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <11>;
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      timer@14 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <14>;
 +                      timers13: timer@40007000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40007000 0x400>;
 +                              interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM13_K>;
 +                              clock-names = "int";
 +                              access-controllers = <&etzpc 23>;
                                status = "disabled";
 -                      };
 -              };
  
 -              timers16: timer@44007000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x44007000 0x400>;
 -                      interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM16_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 109 0x400 0x1>,
 -                             <&dmamux1 110 0x400 0x1>;
 -                      dma-names = "ch1", "up";
 -                      status = "disabled";
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 +                              timer@12 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <12>;
 +                                      status = "disabled";
 +                              };
                        };
 -                      timer@15 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <15>;
 +
 +                      timers14: timer@40008000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x40008000 0x400>;
 +                              interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM14_K>;
 +                              clock-names = "int";
 +                              access-controllers = <&etzpc 24>;
                                status = "disabled";
 -                      };
 -              };
  
 -              timers17: timer@44008000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-timers";
 -                      reg = <0x44008000 0x400>;
 -                      interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "global";
 -                      clocks = <&rcc TIM17_K>;
 -                      clock-names = "int";
 -                      dmas = <&dmamux1 111 0x400 0x1>,
 -                             <&dmamux1 112 0x400 0x1>;
 -                      dma-names = "ch1", "up";
 -                      status = "disabled";
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 +                              timer@13 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <13>;
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      timer@16 {
 -                              compatible = "st,stm32h7-timer-trigger";
 -                              reg = <16>;
 +                      lptimer1: timer@40009000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-lptimer";
 +                              reg = <0x40009000 0x400>;
 +                              interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc LPTIM1_K>;
 +                              clock-names = "mux";
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 25>;
                                status = "disabled";
 -                      };
 -              };
  
 -              spi5: spi@44009000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x44009000 0x400>;
 -                      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI5_K>;
 -                      resets = <&rcc SPI5_R>;
 -                      dmas = <&dmamux1 85 0x400 0x05>,
 -                             <&dmamux1 86 0x400 0x05>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm-lp";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -              sai1: sai@4400a000 {
 -                      compatible = "st,stm32h7-sai";
 -                      #address-cells = <1>;
 -                      #size-cells = <1>;
 -                      ranges = <0 0x4400a000 0x400>;
 -                      reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
 -                      interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
 -                      resets = <&rcc SAI1_R>;
 -                      status = "disabled";
 +                              trigger@0 {
 +                                      compatible = "st,stm32-lptimer-trigger";
 +                                      reg = <0>;
 +                                      status = "disabled";
 +                              };
 +
 +                              counter {
 +                                      compatible = "st,stm32-lptimer-counter";
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -                      sai1a: audio-controller@4400a004 {
 +                      i2s2: audio-controller@4000b000 {
 +                              compatible = "st,stm32h7-i2s";
                                #sound-dai-cells = <0>;
 +                              reg = <0x4000b000 0x400>;
 +                              interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 +                              dmas = <&dmamux1 39 0x400 0x01>,
 +                                     <&dmamux1 40 0x400 0x01>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 27>;
 +                              status = "disabled";
 +                      };
  
 -                              compatible = "st,stm32-sai-sub-a";
 -                              reg = <0x4 0x20>;
 -                              clocks = <&rcc SAI1_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 87 0x400 0x01>;
 +                      spi2: spi@4000b000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x4000b000 0x400>;
 +                              interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI2_K>;
 +                              resets = <&rcc SPI2_R>;
 +                              dmas = <&dmamux1 39 0x400 0x05>,
 +                                     <&dmamux1 40 0x400 0x05>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 27>;
                                status = "disabled";
                        };
  
 -                      sai1b: audio-controller@4400a024 {
 +                      i2s3: audio-controller@4000c000 {
 +                              compatible = "st,stm32h7-i2s";
                                #sound-dai-cells = <0>;
 -                              compatible = "st,stm32-sai-sub-b";
 -                              reg = <0x24 0x20>;
 -                              clocks = <&rcc SAI1_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 88 0x400 0x01>;
 +                              reg = <0x4000c000 0x400>;
 +                              interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
 +                              dmas = <&dmamux1 61 0x400 0x01>,
 +                                     <&dmamux1 62 0x400 0x01>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 28>;
                                status = "disabled";
                        };
 -              };
 -
 -              sai2: sai@4400b000 {
 -                      compatible = "st,stm32h7-sai";
 -                      #address-cells = <1>;
 -                      #size-cells = <1>;
 -                      ranges = <0 0x4400b000 0x400>;
 -                      reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
 -                      interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
 -                      resets = <&rcc SAI2_R>;
 -                      status = "disabled";
  
 -                      sai2a: audio-controller@4400b004 {
 -                              #sound-dai-cells = <0>;
 -                              compatible = "st,stm32-sai-sub-a";
 -                              reg = <0x4 0x20>;
 -                              clocks = <&rcc SAI2_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 89 0x400 0x01>;
 +                      spi3: spi@4000c000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x4000c000 0x400>;
 +                              interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI3_K>;
 +                              resets = <&rcc SPI3_R>;
 +                              dmas = <&dmamux1 61 0x400 0x05>,
 +                                     <&dmamux1 62 0x400 0x05>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 28>;
                                status = "disabled";
                        };
  
 -                      sai2b: audio-controller@4400b024 {
 +                      spdifrx: audio-controller@4000d000 {
 +                              compatible = "st,stm32h7-spdifrx";
                                #sound-dai-cells = <0>;
 -                              compatible = "st,stm32-sai-sub-b";
 -                              reg = <0x24 0x20>;
 -                              clocks = <&rcc SAI2_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 90 0x400 0x01>;
 +                              reg = <0x4000d000 0x400>;
 +                              clocks = <&rcc SPDIF_K>;
 +                              clock-names = "kclk";
 +                              interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
 +                              dmas = <&dmamux1 93 0x400 0x01>,
 +                                     <&dmamux1 94 0x400 0x01>;
 +                              dma-names = "rx", "rx-ctrl";
 +                              access-controllers = <&etzpc 29>;
                                status = "disabled";
                        };
 -              };
 -
 -              sai3: sai@4400c000 {
 -                      compatible = "st,stm32h7-sai";
 -                      #address-cells = <1>;
 -                      #size-cells = <1>;
 -                      ranges = <0 0x4400c000 0x400>;
 -                      reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
 -                      interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
 -                      resets = <&rcc SAI3_R>;
 -                      status = "disabled";
  
 -                      sai3a: audio-controller@4400c004 {
 -                              #sound-dai-cells = <0>;
 -                              compatible = "st,stm32-sai-sub-a";
 -                              reg = <0x04 0x20>;
 -                              clocks = <&rcc SAI3_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 113 0x400 0x01>;
 +                      usart2: serial@4000e000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x4000e000 0x400>;
 +                              interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc USART2_K>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 43 0x400 0x15>,
 +                                     <&dmamux1 44 0x400 0x11>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 30>;
                                status = "disabled";
                        };
  
 -                      sai3b: audio-controller@4400c024 {
 -                              #sound-dai-cells = <0>;
 -                              compatible = "st,stm32-sai-sub-b";
 -                              reg = <0x24 0x20>;
 -                              clocks = <&rcc SAI3_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 114 0x400 0x01>;
 +                      usart3: serial@4000f000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x4000f000 0x400>;
 +                              interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc USART3_K>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 45 0x400 0x15>,
 +                                     <&dmamux1 46 0x400 0x11>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 31>;
                                status = "disabled";
                        };
 -              };
  
 -              dfsdm: dfsdm@4400d000 {
 -                      compatible = "st,stm32mp1-dfsdm";
 -                      reg = <0x4400d000 0x800>;
 -                      clocks = <&rcc DFSDM_K>;
 -                      clock-names = "dfsdm";
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      status = "disabled";
 +                      uart4: serial@40010000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x40010000 0x400>;
 +                              interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc UART4_K>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 63 0x400 0x15>,
 +                                     <&dmamux1 64 0x400 0x11>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 32>;
 +                              status = "disabled";
 +                      };
  
 -                      dfsdm0: filter@0 {
 -                              compatible = "st,stm32-dfsdm-adc";
 -                              #io-channel-cells = <1>;
 -                              reg = <0>;
 -                              interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&dmamux1 101 0x400 0x01>;
 -                              dma-names = "rx";
 +                      uart5: serial@40011000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x40011000 0x400>;
 +                              interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc UART5_K>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 65 0x400 0x15>,
 +                                     <&dmamux1 66 0x400 0x11>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 33>;
                                status = "disabled";
                        };
  
 -                      dfsdm1: filter@1 {
 -                              compatible = "st,stm32-dfsdm-adc";
 -                              #io-channel-cells = <1>;
 -                              reg = <1>;
 -                              interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&dmamux1 102 0x400 0x01>;
 -                              dma-names = "rx";
 +                      i2c1: i2c@40012000 {
 +                              compatible = "st,stm32mp15-i2c";
 +                              reg = <0x40012000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C1_K>;
 +                              resets = <&rcc I2C1_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              st,syscfg-fmp = <&syscfg 0x4 0x1>;
 +                              wakeup-source;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 34>;
                                status = "disabled";
                        };
  
 -                      dfsdm2: filter@2 {
 -                              compatible = "st,stm32-dfsdm-adc";
 -                              #io-channel-cells = <1>;
 -                              reg = <2>;
 -                              interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&dmamux1 103 0x400 0x01>;
 -                              dma-names = "rx";
 +                      i2c2: i2c@40013000 {
 +                              compatible = "st,stm32mp15-i2c";
 +                              reg = <0x40013000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C2_K>;
 +                              resets = <&rcc I2C2_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              st,syscfg-fmp = <&syscfg 0x4 0x2>;
 +                              wakeup-source;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 35>;
                                status = "disabled";
                        };
  
 -                      dfsdm3: filter@3 {
 -                              compatible = "st,stm32-dfsdm-adc";
 -                              #io-channel-cells = <1>;
 -                              reg = <3>;
 -                              interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&dmamux1 104 0x400 0x01>;
 -                              dma-names = "rx";
 +                      i2c3: i2c@40014000 {
 +                              compatible = "st,stm32mp15-i2c";
 +                              reg = <0x40014000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C3_K>;
 +                              resets = <&rcc I2C3_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              st,syscfg-fmp = <&syscfg 0x4 0x4>;
 +                              wakeup-source;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 36>;
                                status = "disabled";
                        };
  
 -                      dfsdm4: filter@4 {
 -                              compatible = "st,stm32-dfsdm-adc";
 -                              #io-channel-cells = <1>;
 -                              reg = <4>;
 -                              interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&dmamux1 91 0x400 0x01>;
 -                              dma-names = "rx";
 +                      i2c5: i2c@40015000 {
 +                              compatible = "st,stm32mp15-i2c";
 +                              reg = <0x40015000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C5_K>;
 +                              resets = <&rcc I2C5_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              st,syscfg-fmp = <&syscfg 0x4 0x10>;
 +                              wakeup-source;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 37>;
                                status = "disabled";
                        };
  
 -                      dfsdm5: filter@5 {
 -                              compatible = "st,stm32-dfsdm-adc";
 -                              #io-channel-cells = <1>;
 -                              reg = <5>;
 -                              interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&dmamux1 92 0x400 0x01>;
 -                              dma-names = "rx";
 +                      cec: cec@40016000 {
 +                              compatible = "st,stm32-cec";
 +                              reg = <0x40016000 0x400>;
 +                              interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CEC_K>, <&rcc CEC>;
 +                              clock-names = "cec", "hdmi-cec";
 +                              access-controllers = <&etzpc 38>;
                                status = "disabled";
                        };
 -              };
  
 -              dma1: dma-controller@48000000 {
 -                      compatible = "st,stm32-dma";
 -                      reg = <0x48000000 0x400>;
 -                      interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc DMA1>;
 -                      resets = <&rcc DMA1_R>;
 -                      #dma-cells = <4>;
 -                      st,mem2mem;
 -                      dma-requests = <8>;
 -              };
 +                      dac: dac@40017000 {
 +                              compatible = "st,stm32h7-dac-core";
 +                              reg = <0x40017000 0x400>;
 +                              clocks = <&rcc DAC12>;
 +                              clock-names = "pclk";
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&etzpc 39>;
 +                              status = "disabled";
  
 -              dma2: dma-controller@48001000 {
 -                      compatible = "st,stm32-dma";
 -                      reg = <0x48001000 0x400>;
 -                      interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc DMA2>;
 -                      resets = <&rcc DMA2_R>;
 -                      #dma-cells = <4>;
 -                      st,mem2mem;
 -                      dma-requests = <8>;
 -              };
 +                              dac1: dac@1 {
 +                                      compatible = "st,stm32-dac";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <1>;
 +                                      status = "disabled";
 +                              };
  
 -              dmamux1: dma-router@48002000 {
 -                      compatible = "st,stm32h7-dmamux";
 -                      reg = <0x48002000 0x40>;
 -                      #dma-cells = <3>;
 -                      dma-requests = <128>;
 -                      dma-masters = <&dma1 &dma2>;
 -                      dma-channels = <16>;
 -                      clocks = <&rcc DMAMUX>;
 -                      resets = <&rcc DMAMUX_R>;
 -              };
 +                              dac2: dac@2 {
 +                                      compatible = "st,stm32-dac";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <2>;
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -              adc: adc@48003000 {
 -                      compatible = "st,stm32mp1-adc-core";
 -                      reg = <0x48003000 0x400>;
 -                      interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc ADC12>, <&rcc ADC12_K>;
 -                      clock-names = "bus", "adc";
 -                      interrupt-controller;
 -                      st,syscfg = <&syscfg>;
 -                      #interrupt-cells = <1>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      status = "disabled";
 +                      uart7: serial@40018000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x40018000 0x400>;
 +                              interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc UART7_K>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 79 0x400 0x15>,
 +                                     <&dmamux1 80 0x400 0x11>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 40>;
 +                              status = "disabled";
 +                      };
  
 -                      adc1: adc@0 {
 -                              compatible = "st,stm32mp1-adc";
 -                              #io-channel-cells = <1>;
 +                      uart8: serial@40019000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x40019000 0x400>;
 +                              interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc UART8_K>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 81 0x400 0x15>,
 +                                     <&dmamux1 82 0x400 0x11>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 41>;
 +                              status = "disabled";
 +                      };
 +
 +                      timers1: timer@44000000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
 -                              reg = <0x0>;
 -                              interrupt-parent = <&adc>;
 -                              interrupts = <0>;
 -                              dmas = <&dmamux1 9 0x400 0x01>;
 -                              dma-names = "rx";
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x44000000 0x400>;
 +                              interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "brk", "up", "trg-com", "cc";
 +                              clocks = <&rcc TIM1_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 11 0x400 0x1>,
 +                                     <&dmamux1 12 0x400 0x1>,
 +                                     <&dmamux1 13 0x400 0x1>,
 +                                     <&dmamux1 14 0x400 0x1>,
 +                                     <&dmamux1 15 0x400 0x1>,
 +                                     <&dmamux1 16 0x400 0x1>,
 +                                     <&dmamux1 17 0x400 0x1>;
 +                              dma-names = "ch1", "ch2", "ch3", "ch4",
 +                                          "up", "trig", "com";
 +                              access-controllers = <&etzpc 48>;
                                status = "disabled";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +
 +                              timer@0 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <0>;
 +                                      status = "disabled";
 +                              };
 +
 +                              counter {
 +                                      compatible = "st,stm32-timer-counter";
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      adc2: adc@100 {
 -                              compatible = "st,stm32mp1-adc";
 -                              #io-channel-cells = <1>;
 +                      timers8: timer@44001000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
 -                              reg = <0x100>;
 -                              interrupt-parent = <&adc>;
 -                              interrupts = <1>;
 -                              dmas = <&dmamux1 10 0x400 0x01>;
 -                              dma-names = "rx";
 -                              nvmem-cells = <&vrefint>;
 -                              nvmem-cell-names = "vrefint";
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x44001000 0x400>;
 +                              interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "brk", "up", "trg-com", "cc";
 +                              clocks = <&rcc TIM8_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 47 0x400 0x1>,
 +                                     <&dmamux1 48 0x400 0x1>,
 +                                     <&dmamux1 49 0x400 0x1>,
 +                                     <&dmamux1 50 0x400 0x1>,
 +                                     <&dmamux1 51 0x400 0x1>,
 +                                     <&dmamux1 52 0x400 0x1>,
 +                                     <&dmamux1 53 0x400 0x1>;
 +                              dma-names = "ch1", "ch2", "ch3", "ch4",
 +                                          "up", "trig", "com";
 +                              access-controllers = <&etzpc 49>;
                                status = "disabled";
 -                              channel@13 {
 -                                      reg = <13>;
 -                                      label = "vrefint";
 +
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
                                };
 -                              channel@14 {
 -                                      reg = <14>;
 -                                      label = "vddcore";
 +
 +                              timer@7 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <7>;
 +                                      status = "disabled";
 +                              };
 +
 +                              counter {
 +                                      compatible = "st,stm32-timer-counter";
 +                                      status = "disabled";
                                };
                        };
 -              };
  
 -              sdmmc3: mmc@48004000 {
 -                      compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 -                      arm,primecell-periphid = <0x00253180>;
 -                      reg = <0x48004000 0x400>;
 -                      interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SDMMC3_K>;
 -                      clock-names = "apb_pclk";
 -                      resets = <&rcc SDMMC3_R>;
 -                      cap-sd-highspeed;
 -                      cap-mmc-highspeed;
 -                      max-frequency = <120000000>;
 -                      status = "disabled";
 -              };
 +                      usart6: serial@44003000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x44003000 0x400>;
 +                              interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc USART6_K>;
 +                              wakeup-source;
 +                              dmas = <&dmamux1 71 0x400 0x15>,
 +                              <&dmamux1 72 0x400 0x11>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 51>;
 +                              status = "disabled";
 +                      };
  
 -              usbotg_hs: usb-otg@49000000 {
 -                      compatible = "st,stm32mp15-hsotg", "snps,dwc2";
 -                      reg = <0x49000000 0x10000>;
 -                      clocks = <&rcc USBO_K>, <&usbphyc>;
 -                      clock-names = "otg", "utmi";
 -                      resets = <&rcc USBO_R>;
 -                      reset-names = "dwc2";
 -                      interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
 -                      g-rx-fifo-size = <512>;
 -                      g-np-tx-fifo-size = <32>;
 -                      g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
 -                      dr_mode = "otg";
 -                      otg-rev = <0x200>;
 -                      usb33d-supply = <&usb33>;
 -                      status = "disabled";
 -              };
 +                      i2s1: audio-controller@44004000 {
 +                              compatible = "st,stm32h7-i2s";
 +                              #sound-dai-cells = <0>;
 +                              reg = <0x44004000 0x400>;
 +                              interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 +                              dmas = <&dmamux1 37 0x400 0x01>,
 +                              <&dmamux1 38 0x400 0x01>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 52>;
 +                              status = "disabled";
 +                      };
  
 -              ipcc: mailbox@4c001000 {
 -                      compatible = "st,stm32mp1-ipcc";
 -                      #mbox-cells = <1>;
 -                      reg = <0x4c001000 0x400>;
 -                      st,proc-id = <0>;
 -                      interrupts-extended =
 -                              <&exti 61 1>,
 -                              <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "rx", "tx";
 -                      clocks = <&rcc IPCC>;
 -                      wakeup-source;
 -                      status = "disabled";
 -              };
 +                      spi1: spi@44004000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x44004000 0x400>;
 +                              interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI1_K>;
 +                              resets = <&rcc SPI1_R>;
 +                              dmas = <&dmamux1 37 0x400 0x05>,
 +                              <&dmamux1 38 0x400 0x05>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 52>;
 +                              status = "disabled";
 +                      };
  
 -              dcmi: dcmi@4c006000 {
 -                      compatible = "st,stm32-dcmi";
 -                      reg = <0x4c006000 0x400>;
 -                      interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
 -                      resets = <&rcc CAMITF_R>;
 -                      clocks = <&rcc DCMI>;
 -                      clock-names = "mclk";
 -                      dmas = <&dmamux1 75 0x400 0x01>;
 -                      dma-names = "tx";
 -                      status = "disabled";
 -              };
 +                      spi4: spi@44005000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x44005000 0x400>;
 +                              interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI4_K>;
 +                              resets = <&rcc SPI4_R>;
 +                              dmas = <&dmamux1 83 0x400 0x05>,
 +                              <&dmamux1 84 0x400 0x05>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 53>;
 +                              status = "disabled";
 +                      };
  
 -              rcc: rcc@50000000 {
 -                      compatible = "st,stm32mp1-rcc", "syscon";
 -                      reg = <0x50000000 0x1000>;
 -                      #clock-cells = <1>;
 -                      #reset-cells = <1>;
 -              };
 +                      timers15: timer@44006000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x44006000 0x400>;
 +                              interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM15_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 105 0x400 0x1>,
 +                                     <&dmamux1 106 0x400 0x1>,
 +                                     <&dmamux1 107 0x400 0x1>,
 +                                     <&dmamux1 108 0x400 0x1>;
 +                              dma-names = "ch1", "up", "trig", "com";
 +                              access-controllers = <&etzpc 54>;
 +                              status = "disabled";
  
 -              pwr_regulators: pwr@50001000 {
 -                      compatible = "st,stm32mp1,pwr-reg";
 -                      reg = <0x50001000 0x10>;
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -                      reg11: reg11 {
 -                              regulator-name = "reg11";
 -                              regulator-min-microvolt = <1100000>;
 -                              regulator-max-microvolt = <1100000>;
 +                              timer@14 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <14>;
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      reg18: reg18 {
 -                              regulator-name = "reg18";
 -                              regulator-min-microvolt = <1800000>;
 -                              regulator-max-microvolt = <1800000>;
 -                      };
 +                      timers16: timer@44007000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x44007000 0x400>;
 +                              interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM16_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 109 0x400 0x1>,
 +                              <&dmamux1 110 0x400 0x1>;
 +                              dma-names = "ch1", "up";
 +                              access-controllers = <&etzpc 55>;
 +                              status = "disabled";
  
 -                      usb33: usb33 {
 -                              regulator-name = "usb33";
 -                              regulator-min-microvolt = <3300000>;
 -                              regulator-max-microvolt = <3300000>;
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +                              timer@15 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <15>;
 +                                      status = "disabled";
 +                              };
                        };
 -              };
  
 -              pwr_mcu: pwr_mcu@50001014 {
 -                      compatible = "st,stm32mp151-pwr-mcu", "syscon";
 -                      reg = <0x50001014 0x4>;
 -              };
 +                      timers17: timer@44008000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-timers";
 +                              reg = <0x44008000 0x400>;
 +                              interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "global";
 +                              clocks = <&rcc TIM17_K>;
 +                              clock-names = "int";
 +                              dmas = <&dmamux1 111 0x400 0x1>,
 +                              <&dmamux1 112 0x400 0x1>;
 +                              dma-names = "ch1", "up";
 +                              access-controllers = <&etzpc 56>;
 +                              status = "disabled";
  
 -              exti: interrupt-controller@5000d000 {
 -                      compatible = "st,stm32mp1-exti", "syscon";
 -                      interrupt-controller;
 -                      #interrupt-cells = <2>;
 -                      reg = <0x5000d000 0x400>;
 -                      interrupts-extended =
 -                              <&intc GIC_SPI 6   IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_0 */
 -                              <&intc GIC_SPI 7   IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 8   IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 9   IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 10  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 23  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 64  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 65  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 66  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 67  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 40  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_10 */
 -                              <&intc GIC_SPI 42  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 76  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 77  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 1   IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,
 -                              <0>,
 -                              <&intc GIC_SPI 3   IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,                                            /* EXTI_20 */
 -                              <&intc GIC_SPI 31  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 33  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 72  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 95  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 37  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 38  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 39  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 71  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 52  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_30 */
 -                              <&intc GIC_SPI 53  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 82  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 83  IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,                                            /* EXTI_40 */
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <&intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 93  IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,
 -                              <&intc GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_50 */
 -                              <0>,
 -                              <&intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
 -                              <&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <0>,                                            /* EXTI_60 */
 -                              <&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,
 -                              <0>,
 -                              <0>,
 -                              <&intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,
 -                              <0>,
 -                              <&intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
 -                              <0>,
 -                              <&intc GIC_SPI 62  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_70 */
 -                              <0>,
 -                              <0>,
 -                              <&intc GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -              syscfg: syscon@50020000 {
 -                      compatible = "st,stm32mp157-syscfg", "syscon";
 -                      reg = <0x50020000 0x400>;
 -                      clocks = <&rcc SYSCFG>;
 -              };
 +                              timer@16 {
 +                                      compatible = "st,stm32h7-timer-trigger";
 +                                      reg = <16>;
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -              lptimer2: timer@50021000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-lptimer";
 -                      reg = <0x50021000 0x400>;
 -                      interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LPTIM2_K>;
 -                      clock-names = "mux";
 -                      wakeup-source;
 -                      status = "disabled";
 +                      spi5: spi@44009000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x44009000 0x400>;
 +                              interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI5_K>;
 +                              resets = <&rcc SPI5_R>;
 +                              dmas = <&dmamux1 85 0x400 0x05>,
 +                              <&dmamux1 86 0x400 0x05>;
 +                              dma-names = "rx", "tx";
 +                              access-controllers = <&etzpc 57>;
 +                              status = "disabled";
 +                      };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm-lp";
 -                              #pwm-cells = <3>;
 +                      sai1: sai@4400a000 {
 +                              compatible = "st,stm32h7-sai";
 +                              #address-cells = <1>;
 +                              #size-cells = <1>;
 +                              ranges = <0 0x4400a000 0x400>;
 +                              reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
 +                              interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
 +                              resets = <&rcc SAI1_R>;
 +                              access-controllers = <&etzpc 58>;
                                status = "disabled";
 +
 +                              sai1a: audio-controller@4400a004 {
 +                                      #sound-dai-cells = <0>;
 +
 +                                      compatible = "st,stm32-sai-sub-a";
 +                                      reg = <0x4 0x20>;
 +                                      clocks = <&rcc SAI1_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 87 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
 +
 +                              sai1b: audio-controller@4400a024 {
 +                                      #sound-dai-cells = <0>;
 +                                      compatible = "st,stm32-sai-sub-b";
 +                                      reg = <0x24 0x20>;
 +                                      clocks = <&rcc SAI1_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 88 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      trigger@1 {
 -                              compatible = "st,stm32-lptimer-trigger";
 -                              reg = <1>;
 +                      sai2: sai@4400b000 {
 +                              compatible = "st,stm32h7-sai";
 +                              #address-cells = <1>;
 +                              #size-cells = <1>;
 +                              ranges = <0 0x4400b000 0x400>;
 +                              reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
 +                              interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
 +                              resets = <&rcc SAI2_R>;
 +                              access-controllers = <&etzpc 59>;
                                status = "disabled";
 +
 +                              sai2a: audio-controller@4400b004 {
 +                                      #sound-dai-cells = <0>;
 +                                      compatible = "st,stm32-sai-sub-a";
 +                                      reg = <0x4 0x20>;
 +                                      clocks = <&rcc SAI2_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 89 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
 +
 +                              sai2b: audio-controller@4400b024 {
 +                                      #sound-dai-cells = <0>;
 +                                      compatible = "st,stm32-sai-sub-b";
 +                                      reg = <0x24 0x20>;
 +                                      clocks = <&rcc SAI2_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 90 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      counter {
 -                              compatible = "st,stm32-lptimer-counter";
 +                      sai3: sai@4400c000 {
 +                              compatible = "st,stm32h7-sai";
 +                              #address-cells = <1>;
 +                              #size-cells = <1>;
 +                              ranges = <0 0x4400c000 0x400>;
 +                              reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
 +                              interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
 +                              resets = <&rcc SAI3_R>;
 +                              access-controllers = <&etzpc 60>;
                                status = "disabled";
 -                      };
 -              };
  
 -              lptimer3: timer@50022000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32-lptimer";
 -                      reg = <0x50022000 0x400>;
 -                      interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LPTIM3_K>;
 -                      clock-names = "mux";
 -                      wakeup-source;
 -                      status = "disabled";
 +                              sai3a: audio-controller@4400c004 {
 +                                      #sound-dai-cells = <0>;
 +                                      compatible = "st,stm32-sai-sub-a";
 +                                      reg = <0x04 0x20>;
 +                                      clocks = <&rcc SAI3_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 113 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm-lp";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 +                              sai3b: audio-controller@4400c024 {
 +                                      #sound-dai-cells = <0>;
 +                                      compatible = "st,stm32-sai-sub-b";
 +                                      reg = <0x24 0x20>;
 +                                      clocks = <&rcc SAI3_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 114 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
                        };
  
 -                      trigger@2 {
 -                              compatible = "st,stm32-lptimer-trigger";
 -                              reg = <2>;
 +                      dfsdm: dfsdm@4400d000 {
 +                              compatible = "st,stm32mp1-dfsdm";
 +                              reg = <0x4400d000 0x800>;
 +                              clocks = <&rcc DFSDM_K>;
 +                              clock-names = "dfsdm";
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&etzpc 61>;
                                status = "disabled";
 -                      };
 -              };
  
 -              lptimer4: timer@50023000 {
 -                      compatible = "st,stm32-lptimer";
 -                      reg = <0x50023000 0x400>;
 -                      interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LPTIM4_K>;
 -                      clock-names = "mux";
 -                      wakeup-source;
 -                      status = "disabled";
 +                              dfsdm0: filter@0 {
 +                                      compatible = "st,stm32-dfsdm-adc";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <0>;
 +                                      interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&dmamux1 101 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm-lp";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -              };
 +                              dfsdm1: filter@1 {
 +                                      compatible = "st,stm32-dfsdm-adc";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <1>;
 +                                      interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&dmamux1 102 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +                              };
  
 -              lptimer5: timer@50024000 {
 -                      compatible = "st,stm32-lptimer";
 -                      reg = <0x50024000 0x400>;
 -                      interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LPTIM5_K>;
 -                      clock-names = "mux";
 -                      wakeup-source;
 -                      status = "disabled";
 +                              dfsdm2: filter@2 {
 +                                      compatible = "st,stm32-dfsdm-adc";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <2>;
 +                                      interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&dmamux1 103 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +                              };
  
 -                      pwm {
 -                              compatible = "st,stm32-pwm-lp";
 -                              #pwm-cells = <3>;
 -                              status = "disabled";
 -                      };
 -              };
 +                              dfsdm3: filter@3 {
 +                                      compatible = "st,stm32-dfsdm-adc";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <3>;
 +                                      interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&dmamux1 104 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +                              };
  
 -              vrefbuf: vrefbuf@50025000 {
 -                      compatible = "st,stm32-vrefbuf";
 -                      reg = <0x50025000 0x8>;
 -                      regulator-min-microvolt = <1500000>;
 -                      regulator-max-microvolt = <2500000>;
 -                      clocks = <&rcc VREF>;
 -                      status = "disabled";
 -              };
 +                              dfsdm4: filter@4 {
 +                                      compatible = "st,stm32-dfsdm-adc";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <4>;
 +                                      interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&dmamux1 91 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +                              };
  
 -              sai4: sai@50027000 {
 -                      compatible = "st,stm32h7-sai";
 -                      #address-cells = <1>;
 -                      #size-cells = <1>;
 -                      ranges = <0 0x50027000 0x400>;
 -                      reg = <0x50027000 0x4>, <0x500273f0 0x10>;
 -                      interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
 -                      resets = <&rcc SAI4_R>;
 -                      status = "disabled";
 +                              dfsdm5: filter@5 {
 +                                      compatible = "st,stm32-dfsdm-adc";
 +                                      #io-channel-cells = <1>;
 +                                      reg = <5>;
 +                                      interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&dmamux1 92 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -                      sai4a: audio-controller@50027004 {
 -                              #sound-dai-cells = <0>;
 -                              compatible = "st,stm32-sai-sub-a";
 -                              reg = <0x04 0x20>;
 -                              clocks = <&rcc SAI4_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 99 0x400 0x01>;
 +                      dma1: dma-controller@48000000 {
 +                              compatible = "st,stm32-dma";
 +                              reg = <0x48000000 0x400>;
 +                              interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc DMA1>;
 +                              resets = <&rcc DMA1_R>;
 +                              #dma-cells = <4>;
 +                              st,mem2mem;
 +                              dma-requests = <8>;
 +                              access-controllers = <&etzpc 88>;
 +                      };
 +
 +                      dma2: dma-controller@48001000 {
 +                              compatible = "st,stm32-dma";
 +                              reg = <0x48001000 0x400>;
 +                              interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc DMA2>;
 +                              resets = <&rcc DMA2_R>;
 +                              #dma-cells = <4>;
 +                              st,mem2mem;
 +                              dma-requests = <8>;
 +                              access-controllers = <&etzpc 89>;
 +                      };
 +
 +                      dmamux1: dma-router@48002000 {
 +                              compatible = "st,stm32h7-dmamux";
 +                              reg = <0x48002000 0x40>;
 +                              #dma-cells = <3>;
 +                              dma-requests = <128>;
 +                              dma-masters = <&dma1 &dma2>;
 +                              dma-channels = <16>;
 +                              clocks = <&rcc DMAMUX>;
 +                              resets = <&rcc DMAMUX_R>;
 +                              access-controllers = <&etzpc 90>;
 +                      };
 +
 +                      adc: adc@48003000 {
 +                              compatible = "st,stm32mp1-adc-core";
 +                              reg = <0x48003000 0x400>;
 +                              interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc ADC12>, <&rcc ADC12_K>;
 +                              clock-names = "bus", "adc";
 +                              interrupt-controller;
 +                              st,syscfg = <&syscfg>;
 +                              #interrupt-cells = <1>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&etzpc 72>;
                                status = "disabled";
 +
 +                              adc1: adc@0 {
 +                                      compatible = "st,stm32mp1-adc";
 +                                      #io-channel-cells = <1>;
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      reg = <0x0>;
 +                                      interrupt-parent = <&adc>;
 +                                      interrupts = <0>;
 +                                      dmas = <&dmamux1 9 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      status = "disabled";
 +                              };
 +
 +                              adc2: adc@100 {
 +                                      compatible = "st,stm32mp1-adc";
 +                                      #io-channel-cells = <1>;
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      reg = <0x100>;
 +                                      interrupt-parent = <&adc>;
 +                                      interrupts = <1>;
 +                                      dmas = <&dmamux1 10 0x400 0x01>;
 +                                      dma-names = "rx";
 +                                      nvmem-cells = <&vrefint>;
 +                                      nvmem-cell-names = "vrefint";
 +                                      status = "disabled";
 +                                      channel@13 {
 +                                              reg = <13>;
 +                                              label = "vrefint";
 +                                      };
 +                                      channel@14 {
 +                                              reg = <14>;
 +                                              label = "vddcore";
 +                                      };
 +                              };
                        };
  
 -                      sai4b: audio-controller@50027024 {
 -                              #sound-dai-cells = <0>;
 -                              compatible = "st,stm32-sai-sub-b";
 -                              reg = <0x24 0x20>;
 -                              clocks = <&rcc SAI4_K>;
 -                              clock-names = "sai_ck";
 -                              dmas = <&dmamux1 100 0x400 0x01>;
 +                      sdmmc3: mmc@48004000 {
 +                              compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 +                              arm,primecell-periphid = <0x00253180>;
 +                              reg = <0x48004000 0x400>;
 +                              interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SDMMC3_K>;
 +                              clock-names = "apb_pclk";
 +                              resets = <&rcc SDMMC3_R>;
 +                              cap-sd-highspeed;
 +                              cap-mmc-highspeed;
 +                              max-frequency = <120000000>;
 +                              access-controllers = <&etzpc 86>;
                                status = "disabled";
                        };
 -              };
  
 -              dts: thermal@50028000 {
 -                      compatible = "st,stm32-thermal";
 -                      reg = <0x50028000 0x100>;
 -                      interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc TMPSENS>;
 -                      clock-names = "pclk";
 -                      #thermal-sensor-cells = <0>;
 -                      status = "disabled";
 -              };
 +                      usbotg_hs: usb-otg@49000000 {
 +                              compatible = "st,stm32mp15-hsotg", "snps,dwc2";
 +                              reg = <0x49000000 0x10000>;
 +                              clocks = <&rcc USBO_K>, <&usbphyc>;
 +                              clock-names = "otg", "utmi";
 +                              resets = <&rcc USBO_R>;
 +                              reset-names = "dwc2";
 +                              interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
 +                              g-rx-fifo-size = <512>;
 +                              g-np-tx-fifo-size = <32>;
 +                              g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
 +                              dr_mode = "otg";
 +                              otg-rev = <0x200>;
 +                              usb33d-supply = <&usb33>;
 +                              access-controllers = <&etzpc 85>;
 +                              status = "disabled";
 +                      };
  
 -              hash1: hash@54002000 {
 -                      compatible = "st,stm32f756-hash";
 -                      reg = <0x54002000 0x400>;
 -                      interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc HASH1>;
 -                      resets = <&rcc HASH1_R>;
 -                      dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
 -                      dma-names = "in";
 -                      dma-maxburst = <2>;
 -                      status = "disabled";
 -              };
 +                      dcmi: dcmi@4c006000 {
 +                              compatible = "st,stm32-dcmi";
 +                              reg = <0x4c006000 0x400>;
 +                              interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
 +                              resets = <&rcc CAMITF_R>;
 +                              clocks = <&rcc DCMI>;
 +                              clock-names = "mclk";
 +                              dmas = <&dmamux1 75 0x400 0x01>;
 +                              dma-names = "tx";
 +                              access-controllers = <&etzpc 70>;
 +                              status = "disabled";
 +                      };
  
 -              rng1: rng@54003000 {
 -                      compatible = "st,stm32-rng";
 -                      reg = <0x54003000 0x400>;
 -                      clocks = <&rcc RNG1_K>;
 -                      resets = <&rcc RNG1_R>;
 -                      status = "disabled";
 -              };
 +                      lptimer2: timer@50021000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32-lptimer";
 +                              reg = <0x50021000 0x400>;
 +                              interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc LPTIM2_K>;
 +                              clock-names = "mux";
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 64>;
 +                              status = "disabled";
  
 -              mdma1: dma-controller@58000000 {
 -                      compatible = "st,stm32h7-mdma";
 -                      reg = <0x58000000 0x1000>;
 -                      interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc MDMA>;
 -                      resets = <&rcc MDMA_R>;
 -                      #dma-cells = <5>;
 -                      dma-channels = <32>;
 -                      dma-requests = <48>;
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm-lp";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -              fmc: memory-controller@58002000 {
 -                      #address-cells = <2>;
 -                      #size-cells = <1>;
 -                      compatible = "st,stm32mp1-fmc2-ebi";
 -                      reg = <0x58002000 0x1000>;
 -                      clocks = <&rcc FMC_K>;
 -                      resets = <&rcc FMC_R>;
 -                      status = "disabled";
 +                              trigger@1 {
 +                                      compatible = "st,stm32-lptimer-trigger";
 +                                      reg = <1>;
 +                                      status = "disabled";
 +                              };
  
 -                      ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
 -                               <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
 -                               <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
 -                               <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
 -                               <4 0 0x80000000 0x10000000>; /* NAND */
 +                              counter {
 +                                      compatible = "st,stm32-lptimer-counter";
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -                      nand-controller@4,0 {
 +                      lptimer3: timer@50022000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
 -                              compatible = "st,stm32mp1-fmc2-nfc";
 -                              reg = <4 0x00000000 0x1000>,
 -                                    <4 0x08010000 0x1000>,
 -                                    <4 0x08020000 0x1000>,
 -                                    <4 0x01000000 0x1000>,
 -                                    <4 0x09010000 0x1000>,
 -                                    <4 0x09020000 0x1000>;
 -                              interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
 -                              dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
 -                                     <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
 -                                     <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
 -                              dma-names = "tx", "rx", "ecc";
 +                              compatible = "st,stm32-lptimer";
 +                              reg = <0x50022000 0x400>;
 +                              interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc LPTIM3_K>;
 +                              clock-names = "mux";
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 65>;
                                status = "disabled";
 -                      };
 -              };
  
 -              qspi: spi@58003000 {
 -                      compatible = "st,stm32f469-qspi";
 -                      reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
 -                      reg-names = "qspi", "qspi_mm";
 -                      interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
 -                      dmas = <&mdma1 22 0x2 0x10100002 0x0 0x0>,
 -                             <&mdma1 22 0x2 0x10100008 0x0 0x0>;
 -                      dma-names = "tx", "rx";
 -                      clocks = <&rcc QSPI_K>;
 -                      resets = <&rcc QSPI_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      status = "disabled";
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm-lp";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
  
 -              sdmmc1: mmc@58005000 {
 -                      compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 -                      arm,primecell-periphid = <0x00253180>;
 -                      reg = <0x58005000 0x1000>;
 -                      interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SDMMC1_K>;
 -                      clock-names = "apb_pclk";
 -                      resets = <&rcc SDMMC1_R>;
 -                      cap-sd-highspeed;
 -                      cap-mmc-highspeed;
 -                      max-frequency = <120000000>;
 -                      status = "disabled";
 -              };
 +                              trigger@2 {
 +                                      compatible = "st,stm32-lptimer-trigger";
 +                                      reg = <2>;
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -              sdmmc2: mmc@58007000 {
 -                      compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 -                      arm,primecell-periphid = <0x00253180>;
 -                      reg = <0x58007000 0x1000>;
 -                      interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SDMMC2_K>;
 -                      clock-names = "apb_pclk";
 -                      resets = <&rcc SDMMC2_R>;
 -                      cap-sd-highspeed;
 -                      cap-mmc-highspeed;
 -                      max-frequency = <120000000>;
 -                      status = "disabled";
 -              };
 +                      lptimer4: timer@50023000 {
 +                              compatible = "st,stm32-lptimer";
 +                              reg = <0x50023000 0x400>;
 +                              interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc LPTIM4_K>;
 +                              clock-names = "mux";
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 66>;
 +                              status = "disabled";
  
 -              crc1: crc@58009000 {
 -                      compatible = "st,stm32f7-crc";
 -                      reg = <0x58009000 0x400>;
 -                      clocks = <&rcc CRC1>;
 -                      status = "disabled";
 -              };
 +                              pwm {
 +                                      compatible = "st,stm32-pwm-lp";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -              ethernet0: ethernet@5800a000 {
 -                      compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
 -                      reg = <0x5800a000 0x2000>;
 -                      reg-names = "stmmaceth";
 -                      interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
 -                      interrupt-names = "macirq";
 -                      clock-names = "stmmaceth",
 -                                    "mac-clk-tx",
 -                                    "mac-clk-rx",
 -                                    "eth-ck",
 -                                    "ptp_ref",
 -                                    "ethstp";
 -                      clocks = <&rcc ETHMAC>,
 -                               <&rcc ETHTX>,
 -                               <&rcc ETHRX>,
 -                               <&rcc ETHCK_K>,
 -                               <&rcc ETHPTP_K>,
 -                               <&rcc ETHSTP>;
 -                      st,syscon = <&syscfg 0x4>;
 -                      snps,mixed-burst;
 -                      snps,pbl = <2>;
 -                      snps,en-tx-lpi-clockgating;
 -                      snps,axi-config = <&stmmac_axi_config_0>;
 -                      snps,tso;
 -                      status = "disabled";
 +                      lptimer5: timer@50024000 {
 +                              compatible = "st,stm32-lptimer";
 +                              reg = <0x50024000 0x400>;
 +                              interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc LPTIM5_K>;
 +                              clock-names = "mux";
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 67>;
 +                              status = "disabled";
  
 -                      stmmac_axi_config_0: stmmac-axi-config {
 -                              snps,wr_osr_lmt = <0x7>;
 -                              snps,rd_osr_lmt = <0x7>;
 -                              snps,blen = <0 0 0 0 16 8 4>;
 +                              pwm {
 +                                      compatible = "st,stm32-pwm-lp";
 +                                      #pwm-cells = <3>;
 +                                      status = "disabled";
 +                              };
                        };
 -              };
 -
 -              usbh_ohci: usb@5800c000 {
 -                      compatible = "generic-ohci";
 -                      reg = <0x5800c000 0x1000>;
 -                      clocks = <&usbphyc>, <&rcc USBH>;
 -                      resets = <&rcc USBH_R>;
 -                      interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 -                      phys = <&usbphyc_port0>;
 -                      phy-names = "usb";
 -                      status = "disabled";
 -              };
  
 -              usbh_ehci: usb@5800d000 {
 -                      compatible = "generic-ehci";
 -                      reg = <0x5800d000 0x1000>;
 -                      clocks = <&usbphyc>, <&rcc USBH>;
 -                      resets = <&rcc USBH_R>;
 -                      interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 -                      companion = <&usbh_ohci>;
 -                      phys = <&usbphyc_port0>;
 -                      phy-names = "usb";
 -                      status = "disabled";
 -              };
 +                      vrefbuf: vrefbuf@50025000 {
 +                              compatible = "st,stm32-vrefbuf";
 +                              reg = <0x50025000 0x8>;
 +                              regulator-min-microvolt = <1500000>;
 +                              regulator-max-microvolt = <2500000>;
 +                              clocks = <&rcc VREF>;
 +                              access-controllers = <&etzpc 69>;
 +                              status = "disabled";
 +                      };
  
 -              ltdc: display-controller@5a001000 {
 -                      compatible = "st,stm32-ltdc";
 -                      reg = <0x5a001000 0x400>;
 -                      interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc LTDC_PX>;
 -                      clock-names = "lcd";
 -                      resets = <&rcc LTDC_R>;
 -                      status = "disabled";
 -              };
 +                      sai4: sai@50027000 {
 +                              compatible = "st,stm32h7-sai";
 +                              #address-cells = <1>;
 +                              #size-cells = <1>;
 +                              ranges = <0 0x50027000 0x400>;
 +                              reg = <0x50027000 0x4>, <0x500273f0 0x10>;
 +                              interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
 +                              resets = <&rcc SAI4_R>;
 +                              access-controllers = <&etzpc 68>;
 +                              status = "disabled";
  
 -              iwdg2: watchdog@5a002000 {
 -                      compatible = "st,stm32mp1-iwdg";
 -                      reg = <0x5a002000 0x400>;
 -                      clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
 -                      clock-names = "pclk", "lsi";
 -                      status = "disabled";
 -              };
 +                              sai4a: audio-controller@50027004 {
 +                                      #sound-dai-cells = <0>;
 +                                      compatible = "st,stm32-sai-sub-a";
 +                                      reg = <0x04 0x20>;
 +                                      clocks = <&rcc SAI4_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 99 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
  
 -              usbphyc: usbphyc@5a006000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      #clock-cells = <0>;
 -                      compatible = "st,stm32mp1-usbphyc";
 -                      reg = <0x5a006000 0x1000>;
 -                      clocks = <&rcc USBPHY_K>;
 -                      resets = <&rcc USBPHY_R>;
 -                      vdda1v1-supply = <&reg11>;
 -                      vdda1v8-supply = <&reg18>;
 -                      status = "disabled";
 +                              sai4b: audio-controller@50027024 {
 +                                      #sound-dai-cells = <0>;
 +                                      compatible = "st,stm32-sai-sub-b";
 +                                      reg = <0x24 0x20>;
 +                                      clocks = <&rcc SAI4_K>;
 +                                      clock-names = "sai_ck";
 +                                      dmas = <&dmamux1 100 0x400 0x01>;
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -                      usbphyc_port0: usb-phy@0 {
 -                              #phy-cells = <0>;
 -                              reg = <0>;
 +                      hash1: hash@54002000 {
 +                              compatible = "st,stm32f756-hash";
 +                              reg = <0x54002000 0x400>;
 +                              interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc HASH1>;
 +                              resets = <&rcc HASH1_R>;
 +                              dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
 +                              dma-names = "in";
 +                              dma-maxburst = <2>;
 +                              access-controllers = <&etzpc 8>;
 +                              status = "disabled";
                        };
  
 -                      usbphyc_port1: usb-phy@1 {
 -                              #phy-cells = <1>;
 -                              reg = <1>;
 +                      rng1: rng@54003000 {
 +                              compatible = "st,stm32-rng";
 +                              reg = <0x54003000 0x400>;
 +                              clocks = <&rcc RNG1_K>;
 +                              resets = <&rcc RNG1_R>;
 +                              access-controllers = <&etzpc 7>;
 +                              status = "disabled";
                        };
 -              };
  
 -              usart1: serial@5c000000 {
 -                      compatible = "st,stm32h7-uart";
 -                      reg = <0x5c000000 0x400>;
 -                      interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc USART1_K>;
 -                      wakeup-source;
 -                      status = "disabled";
 -              };
 +                      fmc: memory-controller@58002000 {
 +                              #address-cells = <2>;
 +                              #size-cells = <1>;
 +                              compatible = "st,stm32mp1-fmc2-ebi";
 +                              reg = <0x58002000 0x1000>;
 +                              clocks = <&rcc FMC_K>;
 +                              resets = <&rcc FMC_R>;
 +                              access-controllers = <&etzpc 91>;
 +                              status = "disabled";
  
 -              spi6: spi@5c001000 {
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      compatible = "st,stm32h7-spi";
 -                      reg = <0x5c001000 0x400>;
 -                      interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc SPI6_K>;
 -                      resets = <&rcc SPI6_R>;
 -                      dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
 -                             <&mdma1 35 0x0 0x40002 0x0 0x0>;
 -                      dma-names = "rx", "tx";
 -                      status = "disabled";
 -              };
 +                              ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
 +                                       <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
 +                                       <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
 +                                       <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
 +                                       <4 0 0x80000000 0x10000000>; /* NAND */
 +
 +                              nand-controller@4,0 {
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      compatible = "st,stm32mp1-fmc2-nfc";
 +                                      reg = <4 0x00000000 0x1000>,
 +                                            <4 0x08010000 0x1000>,
 +                                            <4 0x08020000 0x1000>,
 +                                            <4 0x01000000 0x1000>,
 +                                            <4 0x09010000 0x1000>,
 +                                            <4 0x09020000 0x1000>;
 +                                      interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
 +                                      dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
 +                                             <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
 +                                             <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
 +                                      dma-names = "tx", "rx", "ecc";
 +                                      status = "disabled";
 +                              };
 +                      };
  
 -              i2c4: i2c@5c002000 {
 -                      compatible = "st,stm32mp15-i2c";
 -                      reg = <0x5c002000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C4_K>;
 -                      resets = <&rcc I2C4_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      st,syscfg-fmp = <&syscfg 0x4 0x8>;
 -                      wakeup-source;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 -              };
 +                      qspi: spi@58003000 {
 +                              compatible = "st,stm32f469-qspi";
 +                              reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
 +                              reg-names = "qspi", "qspi_mm";
 +                              interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
 +                              dmas = <&mdma1 22 0x2 0x10100002 0x0 0x0>,
 +                                     <&mdma1 22 0x2 0x10100008 0x0 0x0>;
 +                              dma-names = "tx", "rx";
 +                              clocks = <&rcc QSPI_K>;
 +                              resets = <&rcc QSPI_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&etzpc 92>;
 +                              status = "disabled";
 +                      };
  
 -              rtc: rtc@5c004000 {
 -                      compatible = "st,stm32mp1-rtc";
 -                      reg = <0x5c004000 0x400>;
 -                      clocks = <&rcc RTCAPB>, <&rcc RTC>;
 -                      clock-names = "pclk", "rtc_ck";
 -                      interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
 -                      status = "disabled";
 -              };
 +                      ethernet0: ethernet@5800a000 {
 +                              compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
 +                              reg = <0x5800a000 0x2000>;
 +                              reg-names = "stmmaceth";
 +                              interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "macirq";
 +                              clock-names = "stmmaceth",
 +                                            "mac-clk-tx",
 +                                            "mac-clk-rx",
 +                                            "eth-ck",
 +                                            "ptp_ref",
 +                                            "ethstp";
 +                              clocks = <&rcc ETHMAC>,
 +                                       <&rcc ETHTX>,
 +                                       <&rcc ETHRX>,
 +                                       <&rcc ETHCK_K>,
 +                                       <&rcc ETHPTP_K>,
 +                                       <&rcc ETHSTP>;
 +                              st,syscon = <&syscfg 0x4>;
 +                              snps,mixed-burst;
 +                              snps,pbl = <2>;
 +                              snps,en-tx-lpi-clockgating;
 +                              snps,axi-config = <&stmmac_axi_config_0>;
 +                              snps,tso;
 +                              access-controllers = <&etzpc 94>;
 +                              status = "disabled";
  
 -              bsec: efuse@5c005000 {
 -                      compatible = "st,stm32mp15-bsec";
 -                      reg = <0x5c005000 0x400>;
 -                      #address-cells = <1>;
 -                      #size-cells = <1>;
 -                      part_number_otp: part-number-otp@4 {
 -                              reg = <0x4 0x1>;
 +                              stmmac_axi_config_0: stmmac-axi-config {
 +                                      snps,wr_osr_lmt = <0x7>;
 +                                      snps,rd_osr_lmt = <0x7>;
 +                                      snps,blen = <0 0 0 0 16 8 4>;
 +                              };
                        };
 -                      vrefint: vrefin-cal@52 {
 -                              reg = <0x52 0x2>;
 +
 +                      usart1: serial@5c000000 {
 +                              compatible = "st,stm32h7-uart";
 +                              reg = <0x5c000000 0x400>;
 +                              interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc USART1_K>;
 +                              wakeup-source;
 +                              access-controllers = <&etzpc 3>;
 +                              status = "disabled";
                        };
 -                      ts_cal1: calib@5c {
 -                              reg = <0x5c 0x2>;
 +
 +                      spi6: spi@5c001000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32h7-spi";
 +                              reg = <0x5c001000 0x400>;
 +                              interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc SPI6_K>;
 +                              resets = <&rcc SPI6_R>;
 +                              dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
 +                                     <&mdma1 35 0x0 0x40002 0x0 0x0>;
 +                              access-controllers = <&etzpc 4>;
 +                              dma-names = "rx", "tx";
 +                              status = "disabled";
                        };
 -                      ts_cal2: calib@5e {
 -                              reg = <0x5e 0x2>;
 +
 +                      i2c4: i2c@5c002000 {
 +                              compatible = "st,stm32mp15-i2c";
 +                              reg = <0x5c002000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C4_K>;
 +                              resets = <&rcc I2C4_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              st,syscfg-fmp = <&syscfg 0x4 0x8>;
 +                              wakeup-source;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 5>;
 +                              status = "disabled";
                        };
 -              };
  
 -              i2c6: i2c@5c009000 {
 -                      compatible = "st,stm32mp15-i2c";
 -                      reg = <0x5c009000 0x400>;
 -                      interrupt-names = "event", "error";
 -                      interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
 -                                   <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
 -                      clocks = <&rcc I2C6_K>;
 -                      resets = <&rcc I2C6_R>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      st,syscfg-fmp = <&syscfg 0x4 0x20>;
 -                      wakeup-source;
 -                      i2c-analog-filter;
 -                      status = "disabled";
 +                      i2c6: i2c@5c009000 {
 +                              compatible = "st,stm32mp15-i2c";
 +                              reg = <0x5c009000 0x400>;
 +                              interrupt-names = "event", "error";
 +                              interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc I2C6_K>;
 +                              resets = <&rcc I2C6_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              st,syscfg-fmp = <&syscfg 0x4 0x20>;
 +                              wakeup-source;
 +                              i2c-analog-filter;
 +                              access-controllers = <&etzpc 12>;
 +                              status = "disabled";
 +                      };
                };
  
                tamp: tamp@5c00a000 {
index a028ea312378995935c53d40312ca015c225f5ab,19bf58a9d5e1bca29b819ef7ce4b185d69172ffe..a52618073de2f7a82344f886e4dc65968020ec55
@@@ -8,13 -8,6 +8,13 @@@ config ARCH_ACTION
        help
          This enables support for the Actions Semiconductor S900 SoC family.
  
 +config ARCH_AIROHA
 +      bool "Airoha SoC Support"
 +      select ARM_PSCI
 +      select HAVE_ARM_ARCH_TIMER
 +      help
 +        This enables support for the ARM64 based Airoha SoCs.
 +
  config ARCH_SUNXI
        bool "Allwinner sunxi 64-bit SoC Family"
        select ARCH_HAS_RESET_CONTROLLER
@@@ -309,10 -302,10 +309,11 @@@ config ARCH_STM3
        select GPIOLIB
        select PINCTRL
        select PINCTRL_STM32MP257
+       select STM32_EXTI
        select ARM_SMC_MBOX
        select ARM_SCMI_PROTOCOL
        select COMMON_CLK_SCMI
 +      select STM32_FIREWALL
        help
          This enables support for ARMv8 based STMicroelectronics
          STM32 family, including:
index 4b48e4ed2d284cc22e50b9d77e0f264cc1fc8da1,e7d1614dc744cf88a0239eeb7e88cf07df453697..dcd0656d67a807d07062d992204c9a1b7d5aa1ce
@@@ -3,9 -3,7 +3,9 @@@
   * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
   * Author: Alexandre Torgue <[email protected]> for STMicroelectronics.
   */
 +#include <dt-bindings/clock/st,stm32mp25-rcc.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
 +#include <dt-bindings/reset/st,stm32mp25-rcc.h>
  
  / {
        #address-cells = <2>;
        };
  
        clocks {
 -              ck_flexgen_08: ck-flexgen-08 {
 +              clk_dsi_txbyte: txbyteclk {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
 -                      clock-frequency = <100000000>;
 +                      clock-frequency = <0>;
                };
  
 -              ck_flexgen_51: ck-flexgen-51 {
 +              clk_rcbsec: clk-rcbsec {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
 -                      clock-frequency = <200000000>;
 -              };
 -
 -              ck_icn_ls_mcu: ck-icn-ls-mcu {
 -                      #clock-cells = <0>;
 -                      compatible = "fixed-clock";
 -                      clock-frequency = <200000000>;
 -              };
 -
 -              ck_icn_p_vdec: ck-icn-p-vdec {
 -                      #clock-cells = <0>;
 -                      compatible = "fixed-clock";
 -                      clock-frequency = <200000000>;
 -              };
 -
 -              ck_icn_p_venc: ck-icn-p-venc {
 -                      #clock-cells = <0>;
 -                      compatible = "fixed-clock";
 -                      clock-frequency = <200000000>;
 +                      clock-frequency = <64000000>;
                };
        };
  
        timer {
                compatible = "arm,armv8-timer";
                interrupt-parent = <&intc>;
 -              interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
 -                           <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
 -                           <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
 -                           <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
 +              interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
 +                           <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
 +                           <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
 +                           <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
                always-on;
        };
  
                interrupt-parent = <&intc>;
                ranges = <0x0 0x0 0x0 0x80000000>;
  
 -              rifsc: rifsc-bus@42080000 {
 -                      compatible = "simple-bus";
 +              rifsc: bus@42080000 {
 +                      compatible = "st,stm32mp25-rifsc", "simple-bus";
                        reg = <0x42080000 0x1000>;
                        #address-cells = <1>;
                        #size-cells = <1>;
 +                      #access-controller-cells = <1>;
                        ranges;
  
 +                      spi2: spi@400b0000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x400b0000 0x400>;
 +                              interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI2>;
 +                              resets = <&rcc SPI2_R>;
 +                              access-controllers = <&rifsc 23>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi3: spi@400c0000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x400c0000 0x400>;
 +                              interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI3>;
 +                              resets = <&rcc SPI3_R>;
 +                              access-controllers = <&rifsc 24>;
 +                              status = "disabled";
 +                      };
 +
                        usart2: serial@400e0000 {
                                compatible = "st,stm32h7-uart";
                                reg = <0x400e0000 0x400>;
                                interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
 -                              clocks = <&ck_flexgen_08>;
 +                              clocks = <&rcc CK_KER_USART2>;
 +                              access-controllers = <&rifsc 32>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c1: i2c@40120000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x40120000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C1>;
 +                              resets = <&rcc I2C1_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 41>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c2: i2c@40130000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x40130000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C2>;
 +                              resets = <&rcc I2C2_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 42>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c3: i2c@40140000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x40140000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C3>;
 +                              resets = <&rcc I2C3_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 43>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c4: i2c@40150000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x40150000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C4>;
 +                              resets = <&rcc I2C4_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 44>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c5: i2c@40160000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x40160000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C5>;
 +                              resets = <&rcc I2C5_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 45>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c6: i2c@40170000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x40170000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C6>;
 +                              resets = <&rcc I2C6_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 46>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c7: i2c@40180000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x40180000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C7>;
 +                              resets = <&rcc I2C7_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 47>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi1: spi@40230000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x40230000 0x400>;
 +                              interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI1>;
 +                              resets = <&rcc SPI1_R>;
 +                              access-controllers = <&rifsc 22>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi4: spi@40240000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x40240000 0x400>;
 +                              interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI4>;
 +                              resets = <&rcc SPI4_R>;
 +                              access-controllers = <&rifsc 25>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi5: spi@40280000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x40280000 0x400>;
 +                              interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI5>;
 +                              resets = <&rcc SPI5_R>;
 +                              access-controllers = <&rifsc 26>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi6: spi@40350000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x40350000 0x400>;
 +                              interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI6>;
 +                              resets = <&rcc SPI6_R>;
 +                              access-controllers = <&rifsc 27>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi7: spi@40360000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x40360000 0x400>;
 +                              interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI7>;
 +                              resets = <&rcc SPI7_R>;
 +                              access-controllers = <&rifsc 28>;
 +                              status = "disabled";
 +                      };
 +
 +                      spi8: spi@46020000 {
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              compatible = "st,stm32mp25-spi";
 +                              reg = <0x46020000 0x400>;
 +                              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_SPI8>;
 +                              resets = <&rcc SPI8_R>;
 +                              access-controllers = <&rifsc 29>;
 +                              status = "disabled";
 +                      };
 +
 +                      i2c8: i2c@46040000 {
 +                              compatible = "st,stm32mp25-i2c";
 +                              reg = <0x46040000 0x400>;
 +                              interrupt-names = "event";
 +                              interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
 +                              clocks = <&rcc CK_KER_I2C8>;
 +                              resets = <&rcc I2C8_R>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              access-controllers = <&rifsc 48>;
                                status = "disabled";
                        };
  
                                arm,primecell-periphid = <0x00353180>;
                                reg = <0x48220000 0x400>, <0x44230400 0x8>;
                                interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
 -                              clocks = <&ck_flexgen_51>;
 +                              clocks = <&rcc CK_KER_SDMMC1 >;
                                clock-names = "apb_pclk";
 +                              resets = <&rcc SDMMC1_R>;
                                cap-sd-highspeed;
                                cap-mmc-highspeed;
                                max-frequency = <120000000>;
 +                              access-controllers = <&rifsc 76>;
                                status = "disabled";
                        };
                };
                        };
                };
  
 +              rcc: clock-controller@44200000 {
 +                      compatible = "st,stm32mp25-rcc";
 +                      reg = <0x44200000 0x10000>;
 +                      #clock-cells = <1>;
 +                      #reset-cells = <1>;
 +                      clocks = <&scmi_clk CK_SCMI_HSE>,
 +                              <&scmi_clk CK_SCMI_HSI>,
 +                              <&scmi_clk CK_SCMI_MSI>,
 +                              <&scmi_clk CK_SCMI_LSE>,
 +                              <&scmi_clk CK_SCMI_LSI>,
 +                              <&scmi_clk CK_SCMI_HSE_DIV2>,
 +                              <&scmi_clk CK_SCMI_ICN_HS_MCU>,
 +                              <&scmi_clk CK_SCMI_ICN_LS_MCU>,
 +                              <&scmi_clk CK_SCMI_ICN_SDMMC>,
 +                              <&scmi_clk CK_SCMI_ICN_DDR>,
 +                              <&scmi_clk CK_SCMI_ICN_DISPLAY>,
 +                              <&scmi_clk CK_SCMI_ICN_HSL>,
 +                              <&scmi_clk CK_SCMI_ICN_NIC>,
 +                              <&scmi_clk CK_SCMI_ICN_VID>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_07>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_08>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_09>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_10>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_11>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_12>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_13>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_14>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_15>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_16>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_17>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_18>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_19>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_20>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_21>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_22>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_23>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_24>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_25>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_26>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_27>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_28>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_29>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_30>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_31>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_32>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_33>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_34>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_35>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_36>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_37>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_38>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_39>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_40>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_41>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_42>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_43>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_44>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_45>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_46>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_47>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_48>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_49>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_50>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_51>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_52>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_53>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_54>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_55>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_56>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_57>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_58>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_59>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_60>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_61>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_62>,
 +                              <&scmi_clk CK_SCMI_FLEXGEN_63>,
 +                              <&scmi_clk CK_SCMI_ICN_APB1>,
 +                              <&scmi_clk CK_SCMI_ICN_APB2>,
 +                              <&scmi_clk CK_SCMI_ICN_APB3>,
 +                              <&scmi_clk CK_SCMI_ICN_APB4>,
 +                              <&scmi_clk CK_SCMI_ICN_APBDBG>,
 +                              <&scmi_clk CK_SCMI_TIMG1>,
 +                              <&scmi_clk CK_SCMI_TIMG2>,
 +                              <&scmi_clk CK_SCMI_PLL3>,
 +                              <&clk_dsi_txbyte>;
 +              };
 +
+               exti1: interrupt-controller@44220000 {
+                       compatible = "st,stm32mp1-exti", "syscon";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       reg = <0x44220000 0x400>;
+                       interrupts-extended =
+                               <&intc GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_0 */
+                               <&intc GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_10 */
+                               <&intc GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 0   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 1   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,                                            /* EXTI_20 */
+                               <&intc GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_30 */
+                               <&intc GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_40 */
+                               <&intc GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_50 */
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,                                            /* EXTI_60 */
+                               <&intc GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 10  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_70 */
+                               <0>,
+                               <&intc GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,                                            /* EXTI_80 */
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>;
+               };
                syscfg: syscon@44230000 {
                        compatible = "st,stm32mp25-syscfg", "syscon";
                        reg = <0x44230000 0x10000>;
                        #size-cells = <1>;
                        compatible = "st,stm32mp257-pinctrl";
                        ranges = <0 0x44240000 0xa0400>;
+                       interrupt-parent = <&exti1>;
+                       st,syscfg = <&exti1 0x60 0xff>;
                        pins-are-numbered;
  
                        gpioa: gpio@44240000 {
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x0 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOA>;
                                st,bank-name = "GPIOA";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x10000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOB>;
                                st,bank-name = "GPIOB";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x20000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOC>;
                                st,bank-name = "GPIOC";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x30000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOD>;
                                st,bank-name = "GPIOD";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x40000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOE>;
                                st,bank-name = "GPIOE";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x50000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOF>;
                                st,bank-name = "GPIOF";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x60000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOG>;
                                st,bank-name = "GPIOG";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x70000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOH>;
                                st,bank-name = "GPIOH";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x80000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOI>;
                                st,bank-name = "GPIOI";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0x90000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOJ>;
                                st,bank-name = "GPIOJ";
                                status = "disabled";
                        };
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0xa0000 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOK>;
                                st,bank-name = "GPIOK";
                                status = "disabled";
                        };
                        #size-cells = <1>;
                        compatible = "st,stm32mp257-z-pinctrl";
                        ranges = <0 0x46200000 0x400>;
+                       interrupt-parent = <&exti1>;
+                       st,syscfg = <&exti1 0x60 0xff>;
                        pins-are-numbered;
  
                        gpioz: gpio@46200000 {
                                interrupt-controller;
                                #interrupt-cells = <2>;
                                reg = <0 0x400>;
 -                              clocks = <&ck_icn_ls_mcu>;
 +                              clocks = <&scmi_clk CK_SCMI_GPIOZ>;
                                st,bank-name = "GPIOZ";
                                st,bank-ioport = <11>;
                                status = "disabled";
                        };
  
                };
+               exti2: interrupt-controller@46230000 {
+                       compatible = "st,stm32mp1-exti", "syscon";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       reg = <0x46230000 0x400>;
+                       interrupts-extended =
+                               <&intc GIC_SPI 17  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_0 */
+                               <&intc GIC_SPI 18  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 19  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 20  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 21  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 22  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 23  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 24  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 25  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 26  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 27  IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_10 */
+                               <&intc GIC_SPI 28  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 29  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 30  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 31  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 32  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 12  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 13  IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <0>,                                            /* EXTI_20 */
+                               <&intc GIC_SPI 14  IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 15  IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_30 */
+                               <&intc GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_40 */
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 11  IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 5   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 4   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 6   IRQ_TYPE_LEVEL_HIGH>,        /* EXTI_50 */
+                               <&intc GIC_SPI 7   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 2   IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 3   IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,
+                               <0>,                                            /* EXTI_60 */
+                               <&intc GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <&intc GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
+                               <&intc GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
+                               <0>,
+                               <0>,
+                               <&intc GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;        /* EXTI_70 */
+               };
        };
  };
index 5f7d3db3afd8248e43e6fc86b677fb0fdc587a84,98e559304b7f4a731e5790cee0073c8c8704fef6..40ebf1726393ce74c9143fa773ab3bc92aa7f1f7
@@@ -786,7 -786,6 +786,7 @@@ static struct its_vpe *its_build_vmapp_
                                           struct its_cmd_block *cmd,
                                           struct its_cmd_desc *desc)
  {
 +      struct its_vpe *vpe = valid_vpe(its, desc->its_vmapp_cmd.vpe);
        unsigned long vpt_addr, vconf_addr;
        u64 target;
        bool alloc;
                if (is_v4_1(its)) {
                        alloc = !atomic_dec_return(&desc->its_vmapp_cmd.vpe->vmapp_count);
                        its_encode_alloc(cmd, alloc);
 +                      /*
 +                       * Unmapping a VPE is self-synchronizing on GICv4.1,
 +                       * no need to issue a VSYNC.
 +                       */
 +                      vpe = NULL;
                }
  
                goto out;
  out:
        its_fixup_cmd(cmd);
  
 -      return valid_vpe(its, desc->its_vmapp_cmd.vpe);
 +      return vpe;
  }
  
  static struct its_vpe *its_build_vmapti_cmd(struct its_node *its,
@@@ -3832,9 -3826,9 +3832,9 @@@ static int its_vpe_set_affinity(struct 
                                bool force)
  {
        struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
-       struct cpumask common, *table_mask;
+       unsigned int from, cpu = nr_cpu_ids;
+       struct cpumask *table_mask;
        unsigned long flags;
-       int from, cpu;
  
        /*
         * Changing affinity is mega expensive, so let's be as lazy as
         * If we are offered another CPU in the same GICv4.1 ITS
         * affinity, pick this one. Otherwise, any CPU will do.
         */
-       if (table_mask && cpumask_and(&common, mask_val, table_mask))
-               cpu = cpumask_test_cpu(from, &common) ? from : cpumask_first(&common);
-       else
+       if (table_mask)
+               cpu = cpumask_any_and(mask_val, table_mask);
+       if (cpu < nr_cpu_ids) {
+               if (cpumask_test_cpu(from, mask_val) &&
+                   cpumask_test_cpu(from, table_mask))
+                       cpu = from;
+       } else {
                cpu = cpumask_first(mask_val);
+       }
  
        if (from == cpu)
                goto out;
@@@ -4527,8 -4526,6 +4532,6 @@@ static int its_vpe_irq_domain_alloc(str
        struct page *vprop_page;
        int base, nr_ids, i, err = 0;
  
-       BUG_ON(!vm);
        bitmap = its_lpi_alloc(roundup_pow_of_two(nr_irqs), &base, &nr_ids);
        if (!bitmap)
                return -ENOMEM;
                irqd_set_resend_when_in_progress(irq_get_irq_data(virq + i));
        }
  
 -      if (err) {
 -              if (i > 0)
 -                      its_vpe_irq_domain_free(domain, virq, i);
 -
 -              its_lpi_free(bitmap, base, nr_ids);
 -              its_free_prop_table(vprop_page);
 -      }
 +      if (err)
 +              its_vpe_irq_domain_free(domain, virq, i);
  
        return err;
  }
diff --combined kernel/irq/manage.c
index bf9ae8a8686ff65fd3a9a9eb588bbc831bd2d824,61bdb45de3e0020cdd82b01e6290ffbe44f0bc06..71b0fc2d0aeaa9d01980c6c628681e743ceb651d
@@@ -564,7 -564,7 +564,7 @@@ irq_set_affinity_notifier(unsigned int 
        /* The release function is promised process context */
        might_sleep();
  
-       if (!desc || desc->istate & IRQS_NMI)
+       if (!desc || irq_is_nmi(desc))
                return -EINVAL;
  
        /* Complete initialisation of *notify */
@@@ -800,10 -800,14 +800,14 @@@ void __enable_irq(struct irq_desc *desc
                irq_settings_set_noprobe(desc);
                /*
                 * Call irq_startup() not irq_enable() here because the
-                * interrupt might be marked NOAUTOEN. So irq_startup()
-                * needs to be invoked when it gets enabled the first
-                * time. If it was already started up, then irq_startup()
-                * will invoke irq_enable() under the hood.
+                * interrupt might be marked NOAUTOEN so irq_startup()
+                * needs to be invoked when it gets enabled the first time.
+                * This is also required when __enable_irq() is invoked for
+                * a managed and shutdown interrupt from the S3 resume
+                * path.
+                *
+                * If it was already started up, then irq_startup() will
+                * invoke irq_enable() under the hood.
                 */
                irq_startup(desc, IRQ_RESEND, IRQ_START_FORCE);
                break;
@@@ -898,7 -902,7 +902,7 @@@ int irq_set_irq_wake(unsigned int irq, 
                return -EINVAL;
  
        /* Don't use NMIs as wake up interrupts please */
-       if (desc->istate & IRQS_NMI) {
+       if (irq_is_nmi(desc)) {
                ret = -EINVAL;
                goto out_unlock;
        }
@@@ -1624,7 -1628,7 +1628,7 @@@ __setup_irq(unsigned int irq, struct ir
                 */
                unsigned int oldtype;
  
-               if (desc->istate & IRQS_NMI) {
+               if (irq_is_nmi(desc)) {
                        pr_err("Invalid attempt to share NMI for %s (irq %d) on irqchip %s.\n",
                                new->name, irq, desc->irq_data.chip->name);
                        ret = -EINVAL;
                }
  
                if (!((old->flags & new->flags) & IRQF_SHARED) ||
 -                  (oldtype != (new->flags & IRQF_TRIGGER_MASK)) ||
 -                  ((old->flags ^ new->flags) & IRQF_ONESHOT))
 +                  (oldtype != (new->flags & IRQF_TRIGGER_MASK)))
 +                      goto mismatch;
 +
 +              if ((old->flags & IRQF_ONESHOT) &&
 +                  (new->flags & IRQF_COND_ONESHOT))
 +                      new->flags |= IRQF_ONESHOT;
 +              else if ((old->flags ^ new->flags) & IRQF_ONESHOT)
                        goto mismatch;
  
                /* All handlers must agree on per-cpuness */
@@@ -2082,7 -2081,7 +2086,7 @@@ const void *free_nmi(unsigned int irq, 
        unsigned long flags;
        const void *devname;
  
-       if (!desc || WARN_ON(!(desc->istate & IRQS_NMI)))
+       if (!desc || WARN_ON(!irq_is_nmi(desc)))
                return NULL;
  
        if (WARN_ON(irq_settings_is_per_cpu_devid(desc)))
@@@ -2548,7 -2547,7 +2552,7 @@@ void free_percpu_nmi(unsigned int irq, 
        if (!desc || !irq_settings_is_per_cpu_devid(desc))
                return;
  
-       if (WARN_ON(!(desc->istate & IRQS_NMI)))
+       if (WARN_ON(!irq_is_nmi(desc)))
                return;
  
        kfree(__free_percpu_irq(irq, dev_id));
@@@ -2684,7 -2683,7 +2688,7 @@@ int request_percpu_nmi(unsigned int irq
                return -EINVAL;
  
        /* The line cannot already be NMI */
-       if (desc->istate & IRQS_NMI)
+       if (irq_is_nmi(desc))
                return -EINVAL;
  
        action = kzalloc(sizeof(struct irqaction), GFP_KERNEL);
@@@ -2745,7 -2744,7 +2749,7 @@@ int prepare_percpu_nmi(unsigned int irq
        if (!desc)
                return -EINVAL;
  
-       if (WARN(!(desc->istate & IRQS_NMI),
+       if (WARN(!irq_is_nmi(desc),
                 KERN_ERR "prepare_percpu_nmi called for a non-NMI interrupt: irq %u\n",
                 irq)) {
                ret = -EINVAL;
@@@ -2787,7 -2786,7 +2791,7 @@@ void teardown_percpu_nmi(unsigned int i
        if (!desc)
                return;
  
-       if (WARN_ON(!(desc->istate & IRQS_NMI)))
+       if (WARN_ON(!irq_is_nmi(desc)))
                goto out;
  
        irq_nmi_teardown(desc);
diff --combined lib/Kconfig.debug
index 859a4ecf0725d233be6ea04c91a2f3d7c166bc21,1f0ce712a671103f77e6b7638dd1fa8db900f39b..8bba448c819b8ab5d2bbbd489580371aaf5a6144
@@@ -375,7 -375,7 +375,7 @@@ config DEBUG_INFO_SPLI
          Incompatible with older versions of ccache.
  
  config DEBUG_INFO_BTF
 -      bool "Generate BTF typeinfo"
 +      bool "Generate BTF type information"
        depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED
        depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST
        depends on BPF_SYSCALL
@@@ -408,8 -408,7 +408,8 @@@ config PAHOLE_HAS_LANG_EXCLUD
          using DEBUG_INFO_BTF_MODULES.
  
  config DEBUG_INFO_BTF_MODULES
 -      def_bool y
 +      bool "Generate BTF type information for kernel modules"
 +      default y
        depends on DEBUG_INFO_BTF && MODULES && PAHOLE_HAS_SPLIT_BTF
        help
          Generate compact split BTF type information for kernel modules.
@@@ -1030,6 -1029,20 +1030,20 @@@ config SOFTLOCKUP_DETECTO
          chance to run.  The current stack trace is displayed upon
          detection and the system will stay locked up.
  
+ config SOFTLOCKUP_DETECTOR_INTR_STORM
+       bool "Detect Interrupt Storm in Soft Lockups"
+       depends on SOFTLOCKUP_DETECTOR && IRQ_TIME_ACCOUNTING
+       select GENERIC_IRQ_STAT_SNAPSHOT
+       default y if NR_CPUS <= 128
+       help
+         Say Y here to enable the kernel to detect interrupt storm
+         during "soft lockups".
+         "soft lockups" can be caused by a variety of reasons. If one is
+         caused by an interrupt storm, then the storming interrupts will not
+         be on the callstack. To detect this case, it is necessary to report
+         the CPU stats and the interrupt counts during the "soft lockups".
  config BOOTPARAM_SOFTLOCKUP_PANIC
        bool "Panic (Reboot) On Soft Lockups"
        depends on SOFTLOCKUP_DETECTOR
@@@ -1251,7 -1264,7 +1265,7 @@@ config SCHED_INF
  
  config SCHEDSTATS
        bool "Collect scheduler statistics"
 -      depends on DEBUG_KERNEL && PROC_FS
 +      depends on PROC_FS
        select SCHED_INFO
        help
          If you say Y here, additional code will be inserted into the
@@@ -2759,6 -2772,16 +2773,6 @@@ config HW_BREAKPOINT_KUNIT_TES
  
          If unsure, say N.
  
 -config STRCAT_KUNIT_TEST
 -      tristate "Test strcat() family of functions at runtime" if !KUNIT_ALL_TESTS
 -      depends on KUNIT
 -      default KUNIT_ALL_TESTS
 -
 -config STRSCPY_KUNIT_TEST
 -      tristate "Test strscpy*() family of functions at runtime" if !KUNIT_ALL_TESTS
 -      depends on KUNIT
 -      default KUNIT_ALL_TESTS
 -
  config SIPHASH_KUNIT_TEST
        tristate "Perform selftest on siphash functions" if !KUNIT_ALL_TESTS
        depends on KUNIT
This page took 0.387713 seconds and 4 git commands to generate.