1e48588a3SNicolas Le Bayon// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 2e48588a3SNicolas Le Bayon/* 3e48588a3SNicolas Le Bayon * Copyright (C) 2025, STMicroelectronics - All Rights Reserved 4e48588a3SNicolas Le Bayon * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5e48588a3SNicolas Le Bayon */ 6d8faf33fSGabriel Fernandez#include <dt-bindings/clock/st,stm32mp21-rcc.h> 7e48588a3SNicolas Le Bayon#include <dt-bindings/gpio/gpio.h> 8e48588a3SNicolas Le Bayon#include <dt-bindings/interrupt-controller/arm-gic.h> 9e48588a3SNicolas Le Bayon#include <dt-bindings/firewall/stm32mp21-rifsc.h> 10e48588a3SNicolas Le Bayon#include <dt-bindings/firewall/stm32mp25-rif.h> 11e48588a3SNicolas Le Bayon#include <dt-bindings/firewall/stm32mp25-risab.h> 12e48588a3SNicolas Le Bayon#include <dt-bindings/firewall/stm32mp25-risaf.h> 13d8faf33fSGabriel Fernandez#include <dt-bindings/reset/st,stm32mp21-rcc.h> 14e48588a3SNicolas Le Bayon 15e48588a3SNicolas Le Bayon/ { 16e48588a3SNicolas Le Bayon #address-cells = <2>; 17e48588a3SNicolas Le Bayon #size-cells = <2>; 18e48588a3SNicolas Le Bayon 19e48588a3SNicolas Le Bayon cpus { 20e48588a3SNicolas Le Bayon #address-cells = <1>; 21e48588a3SNicolas Le Bayon #size-cells = <0>; 22e48588a3SNicolas Le Bayon 23e48588a3SNicolas Le Bayon cpu0: cpu@0 { 24e48588a3SNicolas Le Bayon compatible = "arm,cortex-a35"; 25e48588a3SNicolas Le Bayon device_type = "cpu"; 26e48588a3SNicolas Le Bayon reg = <0>; 27e48588a3SNicolas Le Bayon enable-method = "psci"; 28e48588a3SNicolas Le Bayon }; 29e48588a3SNicolas Le Bayon }; 30e48588a3SNicolas Le Bayon 31e48588a3SNicolas Le Bayon psci { 32e48588a3SNicolas Le Bayon compatible = "arm,psci-1.0"; 33e48588a3SNicolas Le Bayon method = "smc"; 34e48588a3SNicolas Le Bayon }; 35e48588a3SNicolas Le Bayon 36e48588a3SNicolas Le Bayon intc: interrupt-controller@4ac00000 { 37e48588a3SNicolas Le Bayon compatible = "arm,cortex-a7-gic"; 38e48588a3SNicolas Le Bayon #interrupt-cells = <3>; 39e48588a3SNicolas Le Bayon interrupt-controller; 40e48588a3SNicolas Le Bayon reg = <0x0 0x4ac10000 0x0 0x1000>, 41e48588a3SNicolas Le Bayon <0x0 0x4ac20000 0x0 0x2000>, 42e48588a3SNicolas Le Bayon <0x0 0x4ac40000 0x0 0x2000>, 43e48588a3SNicolas Le Bayon <0x0 0x4ac60000 0x0 0x2000>; 44e48588a3SNicolas Le Bayon #address-cells = <1>; 45e48588a3SNicolas Le Bayon }; 46e48588a3SNicolas Le Bayon 47e48588a3SNicolas Le Bayon clocks { 48e48588a3SNicolas Le Bayon clk_hse: clk-hse { 49e48588a3SNicolas Le Bayon #clock-cells = <0>; 50e48588a3SNicolas Le Bayon compatible = "fixed-clock"; 51e48588a3SNicolas Le Bayon clock-frequency = <48000000>; 52e48588a3SNicolas Le Bayon }; 53e48588a3SNicolas Le Bayon 54e48588a3SNicolas Le Bayon clk_hsi: clk-hsi { 55e48588a3SNicolas Le Bayon #clock-cells = <0>; 56e48588a3SNicolas Le Bayon compatible = "fixed-clock"; 57e48588a3SNicolas Le Bayon clock-frequency = <64000000>; 58e48588a3SNicolas Le Bayon }; 59e48588a3SNicolas Le Bayon 60e48588a3SNicolas Le Bayon clk_lse: clk-lse { 61e48588a3SNicolas Le Bayon #clock-cells = <0>; 62e48588a3SNicolas Le Bayon compatible = "fixed-clock"; 63e48588a3SNicolas Le Bayon clock-frequency = <32768>; 64e48588a3SNicolas Le Bayon }; 65e48588a3SNicolas Le Bayon 66e48588a3SNicolas Le Bayon clk_lsi: clk-lsi { 67e48588a3SNicolas Le Bayon #clock-cells = <0>; 68e48588a3SNicolas Le Bayon compatible = "fixed-clock"; 69e48588a3SNicolas Le Bayon clock-frequency = <32000>; 70e48588a3SNicolas Le Bayon }; 71e48588a3SNicolas Le Bayon 72e48588a3SNicolas Le Bayon clk_msi: clk-msi { 73e48588a3SNicolas Le Bayon #clock-cells = <0>; 74e48588a3SNicolas Le Bayon compatible = "fixed-clock"; 75e48588a3SNicolas Le Bayon clock-frequency = <16000000>; 76e48588a3SNicolas Le Bayon }; 77e48588a3SNicolas Le Bayon 78e48588a3SNicolas Le Bayon clk_i2sin: clk-i2sin { 79e48588a3SNicolas Le Bayon #clock-cells = <0>; 80e48588a3SNicolas Le Bayon compatible = "fixed-clock"; 81e48588a3SNicolas Le Bayon clock-frequency = <0>; 82e48588a3SNicolas Le Bayon }; 83e48588a3SNicolas Le Bayon 84e48588a3SNicolas Le Bayon clk_rcbsec: clk-rcbsec { 85e48588a3SNicolas Le Bayon #clock-cells = <0>; 86e48588a3SNicolas Le Bayon compatible = "fixed-clock"; 87e48588a3SNicolas Le Bayon clock-frequency = <64000000>; 88e48588a3SNicolas Le Bayon }; 89e48588a3SNicolas Le Bayon }; 90e48588a3SNicolas Le Bayon 91e48588a3SNicolas Le Bayon soc@0 { 92e48588a3SNicolas Le Bayon compatible = "simple-bus"; 93e48588a3SNicolas Le Bayon #address-cells = <1>; 94e48588a3SNicolas Le Bayon #size-cells = <1>; 95e48588a3SNicolas Le Bayon interrupt-parent = <&intc>; 96e48588a3SNicolas Le Bayon ranges = <0x0 0x0 0x0 0x80000000>; 97e48588a3SNicolas Le Bayon 98e48588a3SNicolas Le Bayon rifsc: bus@42080000 { 99e48588a3SNicolas Le Bayon compatible = "st,stm32mp25-rifsc", "simple-bus"; 100e48588a3SNicolas Le Bayon reg = <0x42080000 0x1000>; 101e48588a3SNicolas Le Bayon #address-cells = <1>; 102e48588a3SNicolas Le Bayon #size-cells = <1>; 103e48588a3SNicolas Le Bayon #access-controller-cells = <1>; 104859c5213SClément Le Goffic 105*720ffc4aSThomas Bourgoin i2c1: i2c@40170000 { 106*720ffc4aSThomas Bourgoin compatible = "st,stm32mp25-i2c"; 107*720ffc4aSThomas Bourgoin reg = <0x40170000 0x400>; 108*720ffc4aSThomas Bourgoin clocks = <&rcc CK_KER_I2C1>; 109*720ffc4aSThomas Bourgoin resets = <&rcc I2C1_R>; 110*720ffc4aSThomas Bourgoin #address-cells = <1>; 111*720ffc4aSThomas Bourgoin #size-cells = <0>; 112*720ffc4aSThomas Bourgoin access-controllers = <&rifsc STM32MP21_RIFSC_I2C1_ID>; 113*720ffc4aSThomas Bourgoin status = "disabled"; 114*720ffc4aSThomas Bourgoin }; 115*720ffc4aSThomas Bourgoin 116*720ffc4aSThomas Bourgoin i2c2: i2c@40180000 { 117*720ffc4aSThomas Bourgoin compatible = "st,stm32mp25-i2c"; 118*720ffc4aSThomas Bourgoin reg = <0x40180000 0x400>; 119*720ffc4aSThomas Bourgoin clocks = <&rcc CK_KER_I2C1>; 120*720ffc4aSThomas Bourgoin resets = <&rcc I2C1_R>; 121*720ffc4aSThomas Bourgoin #address-cells = <1>; 122*720ffc4aSThomas Bourgoin #size-cells = <0>; 123*720ffc4aSThomas Bourgoin access-controllers = <&rifsc STM32MP21_RIFSC_I2C2_ID>; 124*720ffc4aSThomas Bourgoin status = "disabled"; 125*720ffc4aSThomas Bourgoin }; 126*720ffc4aSThomas Bourgoin 127859c5213SClément Le Goffic iwdg1: watchdog@44010000 { 128859c5213SClément Le Goffic compatible = "st,stm32mp1-iwdg"; 129859c5213SClément Le Goffic reg = <0x44010000 0x400>; 130859c5213SClément Le Goffic interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 131859c5213SClément Le Goffic clocks = <&rcc CK_BUS_IWDG1>, <&rcc LSI_CK>; 132859c5213SClément Le Goffic clock-names = "pclk", "lsi"; 133859c5213SClément Le Goffic access-controllers = <&rifsc STM32MP21_RIFSC_IWDG1_ID>; 134859c5213SClément Le Goffic status = "disabled"; 135859c5213SClément Le Goffic }; 136859c5213SClément Le Goffic 137859c5213SClément Le Goffic iwdg2: watchdog@44020000 { 138859c5213SClément Le Goffic compatible = "st,stm32mp1-iwdg"; 139859c5213SClément Le Goffic reg = <0x44020000 0x400>; 140859c5213SClément Le Goffic interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 141859c5213SClément Le Goffic clocks = <&rcc CK_BUS_IWDG2>, <&rcc LSI_CK>; 142859c5213SClément Le Goffic clock-names = "pclk", "lsi"; 143859c5213SClément Le Goffic resets = <&rcc IWDG2_SYS_R>; 144859c5213SClément Le Goffic access-controllers = <&rifsc STM32MP21_RIFSC_IWDG2_ID>; 145859c5213SClément Le Goffic status = "disabled"; 146859c5213SClément Le Goffic }; 147*720ffc4aSThomas Bourgoin 148*720ffc4aSThomas Bourgoin i2c3: i2c@46040000 { 149*720ffc4aSThomas Bourgoin compatible = "st,stm32mp25-i2c"; 150*720ffc4aSThomas Bourgoin reg = <0x46040000 0x400>; 151*720ffc4aSThomas Bourgoin clocks = <&rcc CK_KER_I2C3>; 152*720ffc4aSThomas Bourgoin resets = <&rcc I2C3_R>; 153*720ffc4aSThomas Bourgoin #address-cells = <1>; 154*720ffc4aSThomas Bourgoin #size-cells = <0>; 155*720ffc4aSThomas Bourgoin access-controllers = <&rifsc STM32MP21_RIFSC_I2C3_ID>; 156*720ffc4aSThomas Bourgoin status = "disabled"; 157*720ffc4aSThomas Bourgoin }; 158e48588a3SNicolas Le Bayon }; 159e48588a3SNicolas Le Bayon 160e48588a3SNicolas Le Bayon iac: iac@42090000 { 161e48588a3SNicolas Le Bayon compatible = "st,stm32mp25-iac"; 162e48588a3SNicolas Le Bayon reg = <0x42090000 0x400>; 163e48588a3SNicolas Le Bayon interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; 164e48588a3SNicolas Le Bayon }; 165e48588a3SNicolas Le Bayon 166d8faf33fSGabriel Fernandez rcc: clock-controller@44200000 { 167d8faf33fSGabriel Fernandez compatible = "st,stm32mp21-rcc", "syscon"; 168d8faf33fSGabriel Fernandez reg = <0x44200000 0x10000>; 169d8faf33fSGabriel Fernandez interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 170d8faf33fSGabriel Fernandez 171d8faf33fSGabriel Fernandez #clock-cells = <1>; 172d8faf33fSGabriel Fernandez #reset-cells = <1>; 173d8faf33fSGabriel Fernandez clocks = <&clk_hse>, <&clk_hsi>, <&clk_lse>, 174d8faf33fSGabriel Fernandez <&clk_lsi>, <&clk_msi>, <&clk_i2sin>; 175d8faf33fSGabriel Fernandez clock-names = "clk-hse", "clk-hsi", "clk-lse", 176d8faf33fSGabriel Fernandez "clk-lsi", "clk-msi", "clk-i2sin"; 177d8faf33fSGabriel Fernandez }; 178d8faf33fSGabriel Fernandez 179e48588a3SNicolas Le Bayon syscfg: syscon@44230000 { 180e48588a3SNicolas Le Bayon reg = <0x44230000 0x10000>; 181e48588a3SNicolas Le Bayon status = "disabled"; 182e48588a3SNicolas Le Bayon }; 183e48588a3SNicolas Le Bayon }; 184e48588a3SNicolas Le Bayon}; 185