1*3b99ab6eSYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2*3b99ab6eSYann Gautier/* 3*3b99ab6eSYann Gautier * Copyright (C) STMicroelectronics 2022 - All Rights Reserved 4*3b99ab6eSYann Gautier * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5*3b99ab6eSYann Gautier */ 6*3b99ab6eSYann Gautier#include <dt-bindings/clock/stm32mp13-clks.h> 7*3b99ab6eSYann Gautier#include <dt-bindings/interrupt-controller/arm-gic.h> 8*3b99ab6eSYann Gautier#include <dt-bindings/reset/stm32mp13-resets.h> 9*3b99ab6eSYann Gautier 10*3b99ab6eSYann Gautier/ { 11*3b99ab6eSYann Gautier #address-cells = <1>; 12*3b99ab6eSYann Gautier #size-cells = <1>; 13*3b99ab6eSYann Gautier 14*3b99ab6eSYann Gautier cpus { 15*3b99ab6eSYann Gautier #address-cells = <1>; 16*3b99ab6eSYann Gautier #size-cells = <0>; 17*3b99ab6eSYann Gautier 18*3b99ab6eSYann Gautier cpu0: cpu@0 { 19*3b99ab6eSYann Gautier compatible = "arm,cortex-a7"; 20*3b99ab6eSYann Gautier device_type = "cpu"; 21*3b99ab6eSYann Gautier reg = <0>; 22*3b99ab6eSYann Gautier clocks = <&rcc CK_MPU>; 23*3b99ab6eSYann Gautier clock-names = "cpu"; 24*3b99ab6eSYann Gautier nvmem-cells = <&part_number_otp>; 25*3b99ab6eSYann Gautier nvmem-cell-names = "part_number"; 26*3b99ab6eSYann Gautier }; 27*3b99ab6eSYann Gautier }; 28*3b99ab6eSYann Gautier 29*3b99ab6eSYann Gautier nvmem_layout: nvmem_layout@0 { 30*3b99ab6eSYann Gautier compatible = "st,stm32-nvmem-layout"; 31*3b99ab6eSYann Gautier 32*3b99ab6eSYann Gautier nvmem-cells = <&cfg0_otp>, 33*3b99ab6eSYann Gautier <&part_number_otp>, 34*3b99ab6eSYann Gautier <&monotonic_otp>, 35*3b99ab6eSYann Gautier <&nand_otp>, 36*3b99ab6eSYann Gautier <&nand2_otp>, 37*3b99ab6eSYann Gautier <&uid_otp>, 38*3b99ab6eSYann Gautier <&hw2_otp>; 39*3b99ab6eSYann Gautier 40*3b99ab6eSYann Gautier nvmem-cell-names = "cfg0_otp", 41*3b99ab6eSYann Gautier "part_number_otp", 42*3b99ab6eSYann Gautier "monotonic_otp", 43*3b99ab6eSYann Gautier "nand_otp", 44*3b99ab6eSYann Gautier "nand2_otp", 45*3b99ab6eSYann Gautier "uid_otp", 46*3b99ab6eSYann Gautier "hw2_otp"; 47*3b99ab6eSYann Gautier }; 48*3b99ab6eSYann Gautier 49*3b99ab6eSYann Gautier clocks { 50*3b99ab6eSYann Gautier clk_csi: clk-csi { 51*3b99ab6eSYann Gautier #clock-cells = <0>; 52*3b99ab6eSYann Gautier compatible = "fixed-clock"; 53*3b99ab6eSYann Gautier clock-frequency = <4000000>; 54*3b99ab6eSYann Gautier }; 55*3b99ab6eSYann Gautier 56*3b99ab6eSYann Gautier clk_hse: clk-hse { 57*3b99ab6eSYann Gautier #clock-cells = <0>; 58*3b99ab6eSYann Gautier compatible = "fixed-clock"; 59*3b99ab6eSYann Gautier clock-frequency = <24000000>; 60*3b99ab6eSYann Gautier }; 61*3b99ab6eSYann Gautier 62*3b99ab6eSYann Gautier clk_hsi: clk-hsi { 63*3b99ab6eSYann Gautier #clock-cells = <0>; 64*3b99ab6eSYann Gautier compatible = "fixed-clock"; 65*3b99ab6eSYann Gautier clock-frequency = <64000000>; 66*3b99ab6eSYann Gautier }; 67*3b99ab6eSYann Gautier 68*3b99ab6eSYann Gautier clk_lse: clk-lse { 69*3b99ab6eSYann Gautier #clock-cells = <0>; 70*3b99ab6eSYann Gautier compatible = "fixed-clock"; 71*3b99ab6eSYann Gautier clock-frequency = <32768>; 72*3b99ab6eSYann Gautier }; 73*3b99ab6eSYann Gautier 74*3b99ab6eSYann Gautier clk_lsi: clk-lsi { 75*3b99ab6eSYann Gautier #clock-cells = <0>; 76*3b99ab6eSYann Gautier compatible = "fixed-clock"; 77*3b99ab6eSYann Gautier clock-frequency = <32000>; 78*3b99ab6eSYann Gautier }; 79*3b99ab6eSYann Gautier }; 80*3b99ab6eSYann Gautier 81*3b99ab6eSYann Gautier intc: interrupt-controller@a0021000 { 82*3b99ab6eSYann Gautier compatible = "arm,cortex-a7-gic"; 83*3b99ab6eSYann Gautier #interrupt-cells = <3>; 84*3b99ab6eSYann Gautier interrupt-controller; 85*3b99ab6eSYann Gautier reg = <0xa0021000 0x1000>, 86*3b99ab6eSYann Gautier <0xa0022000 0x2000>; 87*3b99ab6eSYann Gautier }; 88*3b99ab6eSYann Gautier 89*3b99ab6eSYann Gautier psci { 90*3b99ab6eSYann Gautier compatible = "arm,psci-1.0"; 91*3b99ab6eSYann Gautier method = "smc"; 92*3b99ab6eSYann Gautier }; 93*3b99ab6eSYann Gautier 94*3b99ab6eSYann Gautier soc { 95*3b99ab6eSYann Gautier compatible = "simple-bus"; 96*3b99ab6eSYann Gautier #address-cells = <1>; 97*3b99ab6eSYann Gautier #size-cells = <1>; 98*3b99ab6eSYann Gautier interrupt-parent = <&intc>; 99*3b99ab6eSYann Gautier ranges; 100*3b99ab6eSYann Gautier 101*3b99ab6eSYann Gautier usart3: serial@4000f000 { 102*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 103*3b99ab6eSYann Gautier reg = <0x4000f000 0x400>; 104*3b99ab6eSYann Gautier interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 105*3b99ab6eSYann Gautier clocks = <&rcc USART3_K>; 106*3b99ab6eSYann Gautier resets = <&rcc USART3_R>; 107*3b99ab6eSYann Gautier status = "disabled"; 108*3b99ab6eSYann Gautier }; 109*3b99ab6eSYann Gautier 110*3b99ab6eSYann Gautier uart4: serial@40010000 { 111*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 112*3b99ab6eSYann Gautier reg = <0x40010000 0x400>; 113*3b99ab6eSYann Gautier interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 114*3b99ab6eSYann Gautier clocks = <&rcc UART4_K>; 115*3b99ab6eSYann Gautier resets = <&rcc UART4_R>; 116*3b99ab6eSYann Gautier status = "disabled"; 117*3b99ab6eSYann Gautier }; 118*3b99ab6eSYann Gautier 119*3b99ab6eSYann Gautier uart5: serial@40011000 { 120*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 121*3b99ab6eSYann Gautier reg = <0x40011000 0x400>; 122*3b99ab6eSYann Gautier interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 123*3b99ab6eSYann Gautier clocks = <&rcc UART5_K>; 124*3b99ab6eSYann Gautier resets = <&rcc UART5_R>; 125*3b99ab6eSYann Gautier status = "disabled"; 126*3b99ab6eSYann Gautier }; 127*3b99ab6eSYann Gautier 128*3b99ab6eSYann Gautier uart7: serial@40018000 { 129*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 130*3b99ab6eSYann Gautier reg = <0x40018000 0x400>; 131*3b99ab6eSYann Gautier interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 132*3b99ab6eSYann Gautier clocks = <&rcc UART7_K>; 133*3b99ab6eSYann Gautier resets = <&rcc UART7_R>; 134*3b99ab6eSYann Gautier status = "disabled"; 135*3b99ab6eSYann Gautier }; 136*3b99ab6eSYann Gautier 137*3b99ab6eSYann Gautier uart8: serial@40019000 { 138*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 139*3b99ab6eSYann Gautier reg = <0x40019000 0x400>; 140*3b99ab6eSYann Gautier interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 141*3b99ab6eSYann Gautier clocks = <&rcc UART8_K>; 142*3b99ab6eSYann Gautier resets = <&rcc UART8_R>; 143*3b99ab6eSYann Gautier status = "disabled"; 144*3b99ab6eSYann Gautier }; 145*3b99ab6eSYann Gautier 146*3b99ab6eSYann Gautier usart6: serial@44003000 { 147*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 148*3b99ab6eSYann Gautier reg = <0x44003000 0x400>; 149*3b99ab6eSYann Gautier interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 150*3b99ab6eSYann Gautier clocks = <&rcc USART6_K>; 151*3b99ab6eSYann Gautier resets = <&rcc USART6_R>; 152*3b99ab6eSYann Gautier status = "disabled"; 153*3b99ab6eSYann Gautier }; 154*3b99ab6eSYann Gautier 155*3b99ab6eSYann Gautier usbotg_hs: usb-otg@49000000 { 156*3b99ab6eSYann Gautier compatible = "st,stm32mp15-hsotg", "snps,dwc2"; 157*3b99ab6eSYann Gautier reg = <0x49000000 0x40000>; 158*3b99ab6eSYann Gautier clocks = <&rcc USBO_K>; 159*3b99ab6eSYann Gautier clock-names = "otg"; 160*3b99ab6eSYann Gautier resets = <&rcc USBO_R>; 161*3b99ab6eSYann Gautier reset-names = "dwc2"; 162*3b99ab6eSYann Gautier interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 163*3b99ab6eSYann Gautier g-rx-fifo-size = <512>; 164*3b99ab6eSYann Gautier g-np-tx-fifo-size = <32>; 165*3b99ab6eSYann Gautier g-tx-fifo-size = <256 16 16 16 16 16 16 16>; 166*3b99ab6eSYann Gautier dr_mode = "otg"; 167*3b99ab6eSYann Gautier usb33d-supply = <&usb33>; 168*3b99ab6eSYann Gautier status = "disabled"; 169*3b99ab6eSYann Gautier }; 170*3b99ab6eSYann Gautier 171*3b99ab6eSYann Gautier usart1: serial@4c000000 { 172*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 173*3b99ab6eSYann Gautier reg = <0x4c000000 0x400>; 174*3b99ab6eSYann Gautier interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 175*3b99ab6eSYann Gautier clocks = <&rcc USART1_K>; 176*3b99ab6eSYann Gautier resets = <&rcc USART1_R>; 177*3b99ab6eSYann Gautier status = "disabled"; 178*3b99ab6eSYann Gautier }; 179*3b99ab6eSYann Gautier 180*3b99ab6eSYann Gautier usart2: serial@4c001000 { 181*3b99ab6eSYann Gautier compatible = "st,stm32h7-uart"; 182*3b99ab6eSYann Gautier reg = <0x4c001000 0x400>; 183*3b99ab6eSYann Gautier interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 184*3b99ab6eSYann Gautier clocks = <&rcc USART2_K>; 185*3b99ab6eSYann Gautier resets = <&rcc USART2_R>; 186*3b99ab6eSYann Gautier status = "disabled"; 187*3b99ab6eSYann Gautier }; 188*3b99ab6eSYann Gautier 189*3b99ab6eSYann Gautier i2c3: i2c@4c004000 { 190*3b99ab6eSYann Gautier compatible = "st,stm32mp13-i2c"; 191*3b99ab6eSYann Gautier reg = <0x4c004000 0x400>; 192*3b99ab6eSYann Gautier interrupt-names = "event", "error"; 193*3b99ab6eSYann Gautier interrupts-extended = <&exti 23 IRQ_TYPE_LEVEL_HIGH>, 194*3b99ab6eSYann Gautier <&intc GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 195*3b99ab6eSYann Gautier clocks = <&rcc I2C3_K>; 196*3b99ab6eSYann Gautier resets = <&rcc I2C3_R>; 197*3b99ab6eSYann Gautier #address-cells = <1>; 198*3b99ab6eSYann Gautier #size-cells = <0>; 199*3b99ab6eSYann Gautier st,syscfg-fmp = <&syscfg 0x4 0x4>; 200*3b99ab6eSYann Gautier i2c-analog-filter; 201*3b99ab6eSYann Gautier status = "disabled"; 202*3b99ab6eSYann Gautier }; 203*3b99ab6eSYann Gautier 204*3b99ab6eSYann Gautier i2c4: i2c@4c005000 { 205*3b99ab6eSYann Gautier compatible = "st,stm32mp13-i2c"; 206*3b99ab6eSYann Gautier reg = <0x4c005000 0x400>; 207*3b99ab6eSYann Gautier interrupt-names = "event", "error"; 208*3b99ab6eSYann Gautier interrupts-extended = <&exti 24 IRQ_TYPE_LEVEL_HIGH>, 209*3b99ab6eSYann Gautier <&intc GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 210*3b99ab6eSYann Gautier clocks = <&rcc I2C4_K>; 211*3b99ab6eSYann Gautier resets = <&rcc I2C4_R>; 212*3b99ab6eSYann Gautier #address-cells = <1>; 213*3b99ab6eSYann Gautier #size-cells = <0>; 214*3b99ab6eSYann Gautier st,syscfg-fmp = <&syscfg 0x4 0x8>; 215*3b99ab6eSYann Gautier i2c-analog-filter; 216*3b99ab6eSYann Gautier status = "disabled"; 217*3b99ab6eSYann Gautier }; 218*3b99ab6eSYann Gautier 219*3b99ab6eSYann Gautier i2c5: i2c@4c006000 { 220*3b99ab6eSYann Gautier compatible = "st,stm32mp13-i2c"; 221*3b99ab6eSYann Gautier reg = <0x4c006000 0x400>; 222*3b99ab6eSYann Gautier interrupt-names = "event", "error"; 223*3b99ab6eSYann Gautier interrupts-extended = <&exti 25 IRQ_TYPE_LEVEL_HIGH>, 224*3b99ab6eSYann Gautier <&intc GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 225*3b99ab6eSYann Gautier clocks = <&rcc I2C5_K>; 226*3b99ab6eSYann Gautier resets = <&rcc I2C5_R>; 227*3b99ab6eSYann Gautier #address-cells = <1>; 228*3b99ab6eSYann Gautier #size-cells = <0>; 229*3b99ab6eSYann Gautier st,syscfg-fmp = <&syscfg 0x4 0x10>; 230*3b99ab6eSYann Gautier i2c-analog-filter; 231*3b99ab6eSYann Gautier status = "disabled"; 232*3b99ab6eSYann Gautier }; 233*3b99ab6eSYann Gautier 234*3b99ab6eSYann Gautier rcc: rcc@50000000 { 235*3b99ab6eSYann Gautier compatible = "st,stm32mp13-rcc", "syscon"; 236*3b99ab6eSYann Gautier reg = <0x50000000 0x1000>; 237*3b99ab6eSYann Gautier #address-cells = <1>; 238*3b99ab6eSYann Gautier #size-cells = <0>; 239*3b99ab6eSYann Gautier #clock-cells = <1>; 240*3b99ab6eSYann Gautier #reset-cells = <1>; 241*3b99ab6eSYann Gautier interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 242*3b99ab6eSYann Gautier secure-interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 243*3b99ab6eSYann Gautier secure-interrupt-names = "wakeup"; 244*3b99ab6eSYann Gautier }; 245*3b99ab6eSYann Gautier 246*3b99ab6eSYann Gautier pwr_regulators: pwr@50001000 { 247*3b99ab6eSYann Gautier compatible = "st,stm32mp1,pwr-reg"; 248*3b99ab6eSYann Gautier reg = <0x50001000 0x10>; 249*3b99ab6eSYann Gautier 250*3b99ab6eSYann Gautier reg11: reg11 { 251*3b99ab6eSYann Gautier regulator-name = "reg11"; 252*3b99ab6eSYann Gautier regulator-min-microvolt = <1100000>; 253*3b99ab6eSYann Gautier regulator-max-microvolt = <1100000>; 254*3b99ab6eSYann Gautier }; 255*3b99ab6eSYann Gautier 256*3b99ab6eSYann Gautier reg18: reg18 { 257*3b99ab6eSYann Gautier regulator-name = "reg18"; 258*3b99ab6eSYann Gautier regulator-min-microvolt = <1800000>; 259*3b99ab6eSYann Gautier regulator-max-microvolt = <1800000>; 260*3b99ab6eSYann Gautier }; 261*3b99ab6eSYann Gautier 262*3b99ab6eSYann Gautier usb33: usb33 { 263*3b99ab6eSYann Gautier regulator-name = "usb33"; 264*3b99ab6eSYann Gautier regulator-min-microvolt = <3300000>; 265*3b99ab6eSYann Gautier regulator-max-microvolt = <3300000>; 266*3b99ab6eSYann Gautier }; 267*3b99ab6eSYann Gautier }; 268*3b99ab6eSYann Gautier 269*3b99ab6eSYann Gautier exti: interrupt-controller@5000d000 { 270*3b99ab6eSYann Gautier compatible = "st,stm32mp13-exti", "syscon"; 271*3b99ab6eSYann Gautier interrupt-controller; 272*3b99ab6eSYann Gautier #interrupt-cells = <2>; 273*3b99ab6eSYann Gautier reg = <0x5000d000 0x400>; 274*3b99ab6eSYann Gautier }; 275*3b99ab6eSYann Gautier 276*3b99ab6eSYann Gautier syscfg: syscon@50020000 { 277*3b99ab6eSYann Gautier compatible = "st,stm32mp157-syscfg", "syscon"; 278*3b99ab6eSYann Gautier reg = <0x50020000 0x400>; 279*3b99ab6eSYann Gautier clocks = <&rcc SYSCFG>; 280*3b99ab6eSYann Gautier }; 281*3b99ab6eSYann Gautier 282*3b99ab6eSYann Gautier vrefbuf: vrefbuf@50025000 { 283*3b99ab6eSYann Gautier compatible = "st,stm32-vrefbuf"; 284*3b99ab6eSYann Gautier reg = <0x50025000 0x8>; 285*3b99ab6eSYann Gautier regulator-min-microvolt = <1500000>; 286*3b99ab6eSYann Gautier regulator-max-microvolt = <2500000>; 287*3b99ab6eSYann Gautier clocks = <&rcc VREF>; 288*3b99ab6eSYann Gautier status = "disabled"; 289*3b99ab6eSYann Gautier }; 290*3b99ab6eSYann Gautier 291*3b99ab6eSYann Gautier hash: hash@54003000 { 292*3b99ab6eSYann Gautier compatible = "st,stm32mp13-hash"; 293*3b99ab6eSYann Gautier reg = <0x54003000 0x400>; 294*3b99ab6eSYann Gautier clocks = <&rcc HASH1>; 295*3b99ab6eSYann Gautier resets = <&rcc HASH1_R>; 296*3b99ab6eSYann Gautier status = "disabled"; 297*3b99ab6eSYann Gautier }; 298*3b99ab6eSYann Gautier 299*3b99ab6eSYann Gautier rng: rng@54004000 { 300*3b99ab6eSYann Gautier compatible = "st,stm32mp13-rng"; 301*3b99ab6eSYann Gautier reg = <0x54004000 0x400>; 302*3b99ab6eSYann Gautier clocks = <&rcc RNG1_K>; 303*3b99ab6eSYann Gautier resets = <&rcc RNG1_R>; 304*3b99ab6eSYann Gautier status = "disabled"; 305*3b99ab6eSYann Gautier }; 306*3b99ab6eSYann Gautier 307*3b99ab6eSYann Gautier fmc: memory-controller@58002000 { 308*3b99ab6eSYann Gautier #address-cells = <2>; 309*3b99ab6eSYann Gautier #size-cells = <1>; 310*3b99ab6eSYann Gautier compatible = "st,stm32mp1-fmc2-ebi"; 311*3b99ab6eSYann Gautier reg = <0x58002000 0x1000>; 312*3b99ab6eSYann Gautier clocks = <&rcc FMC_K>; 313*3b99ab6eSYann Gautier resets = <&rcc FMC_R>; 314*3b99ab6eSYann Gautier status = "disabled"; 315*3b99ab6eSYann Gautier 316*3b99ab6eSYann Gautier ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */ 317*3b99ab6eSYann Gautier <1 0 0x64000000 0x04000000>, /* EBI CS 2 */ 318*3b99ab6eSYann Gautier <2 0 0x68000000 0x04000000>, /* EBI CS 3 */ 319*3b99ab6eSYann Gautier <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */ 320*3b99ab6eSYann Gautier <4 0 0x80000000 0x10000000>; /* NAND */ 321*3b99ab6eSYann Gautier 322*3b99ab6eSYann Gautier nand-controller@4,0 { 323*3b99ab6eSYann Gautier #address-cells = <1>; 324*3b99ab6eSYann Gautier #size-cells = <0>; 325*3b99ab6eSYann Gautier compatible = "st,stm32mp1-fmc2-nfc"; 326*3b99ab6eSYann Gautier reg = <4 0x00000000 0x1000>, 327*3b99ab6eSYann Gautier <4 0x08010000 0x1000>, 328*3b99ab6eSYann Gautier <4 0x08020000 0x1000>, 329*3b99ab6eSYann Gautier <4 0x01000000 0x1000>, 330*3b99ab6eSYann Gautier <4 0x09010000 0x1000>, 331*3b99ab6eSYann Gautier <4 0x09020000 0x1000>; 332*3b99ab6eSYann Gautier interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 333*3b99ab6eSYann Gautier status = "disabled"; 334*3b99ab6eSYann Gautier }; 335*3b99ab6eSYann Gautier }; 336*3b99ab6eSYann Gautier 337*3b99ab6eSYann Gautier qspi: spi@58003000 { 338*3b99ab6eSYann Gautier compatible = "st,stm32f469-qspi"; 339*3b99ab6eSYann Gautier reg = <0x58003000 0x1000>, <0x70000000 0x10000000>; 340*3b99ab6eSYann Gautier reg-names = "qspi", "qspi_mm"; 341*3b99ab6eSYann Gautier interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 342*3b99ab6eSYann Gautier clocks = <&rcc QSPI_K>; 343*3b99ab6eSYann Gautier resets = <&rcc QSPI_R>; 344*3b99ab6eSYann Gautier status = "disabled"; 345*3b99ab6eSYann Gautier }; 346*3b99ab6eSYann Gautier 347*3b99ab6eSYann Gautier sdmmc1: mmc@58005000 { 348*3b99ab6eSYann Gautier compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 349*3b99ab6eSYann Gautier arm,primecell-periphid = <0x20253180>; 350*3b99ab6eSYann Gautier reg = <0x58005000 0x1000>, <0x58006000 0x1000>; 351*3b99ab6eSYann Gautier clocks = <&rcc SDMMC1_K>; 352*3b99ab6eSYann Gautier clock-names = "apb_pclk"; 353*3b99ab6eSYann Gautier resets = <&rcc SDMMC1_R>; 354*3b99ab6eSYann Gautier cap-sd-highspeed; 355*3b99ab6eSYann Gautier cap-mmc-highspeed; 356*3b99ab6eSYann Gautier max-frequency = <120000000>; 357*3b99ab6eSYann Gautier status = "disabled"; 358*3b99ab6eSYann Gautier }; 359*3b99ab6eSYann Gautier 360*3b99ab6eSYann Gautier sdmmc2: mmc@58007000 { 361*3b99ab6eSYann Gautier compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 362*3b99ab6eSYann Gautier arm,primecell-periphid = <0x20253180>; 363*3b99ab6eSYann Gautier reg = <0x58007000 0x1000>, <0x58008000 0x1000>; 364*3b99ab6eSYann Gautier clocks = <&rcc SDMMC2_K>; 365*3b99ab6eSYann Gautier clock-names = "apb_pclk"; 366*3b99ab6eSYann Gautier resets = <&rcc SDMMC2_R>; 367*3b99ab6eSYann Gautier cap-sd-highspeed; 368*3b99ab6eSYann Gautier cap-mmc-highspeed; 369*3b99ab6eSYann Gautier max-frequency = <120000000>; 370*3b99ab6eSYann Gautier status = "disabled"; 371*3b99ab6eSYann Gautier }; 372*3b99ab6eSYann Gautier 373*3b99ab6eSYann Gautier crc1: crc@58009000 { 374*3b99ab6eSYann Gautier compatible = "st,stm32f7-crc"; 375*3b99ab6eSYann Gautier reg = <0x58009000 0x400>; 376*3b99ab6eSYann Gautier clocks = <&rcc CRC1>; 377*3b99ab6eSYann Gautier }; 378*3b99ab6eSYann Gautier 379*3b99ab6eSYann Gautier usbh_ohci: usbh-ohci@5800c000 { 380*3b99ab6eSYann Gautier compatible = "generic-ohci"; 381*3b99ab6eSYann Gautier reg = <0x5800c000 0x1000>; 382*3b99ab6eSYann Gautier clocks = <&rcc USBH>; 383*3b99ab6eSYann Gautier resets = <&rcc USBH_R>; 384*3b99ab6eSYann Gautier interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 385*3b99ab6eSYann Gautier status = "disabled"; 386*3b99ab6eSYann Gautier }; 387*3b99ab6eSYann Gautier 388*3b99ab6eSYann Gautier usbh_ehci: usbh-ehci@5800d000 { 389*3b99ab6eSYann Gautier compatible = "generic-ehci"; 390*3b99ab6eSYann Gautier reg = <0x5800d000 0x1000>; 391*3b99ab6eSYann Gautier clocks = <&rcc USBH>; 392*3b99ab6eSYann Gautier resets = <&rcc USBH_R>; 393*3b99ab6eSYann Gautier interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 394*3b99ab6eSYann Gautier companion = <&usbh_ohci>; 395*3b99ab6eSYann Gautier status = "disabled"; 396*3b99ab6eSYann Gautier }; 397*3b99ab6eSYann Gautier 398*3b99ab6eSYann Gautier iwdg2: watchdog@5a002000 { 399*3b99ab6eSYann Gautier compatible = "st,stm32mp1-iwdg"; 400*3b99ab6eSYann Gautier reg = <0x5a002000 0x400>; 401*3b99ab6eSYann Gautier clocks = <&rcc IWDG2>, <&rcc CK_LSI>; 402*3b99ab6eSYann Gautier clock-names = "pclk", "lsi"; 403*3b99ab6eSYann Gautier status = "disabled"; 404*3b99ab6eSYann Gautier }; 405*3b99ab6eSYann Gautier 406*3b99ab6eSYann Gautier usbphyc: usbphyc@5a006000 { 407*3b99ab6eSYann Gautier #address-cells = <1>; 408*3b99ab6eSYann Gautier #size-cells = <0>; 409*3b99ab6eSYann Gautier #clock-cells = <0>; 410*3b99ab6eSYann Gautier compatible = "st,stm32mp1-usbphyc"; 411*3b99ab6eSYann Gautier reg = <0x5a006000 0x1000>; 412*3b99ab6eSYann Gautier clocks = <&rcc USBPHY_K>; 413*3b99ab6eSYann Gautier resets = <&rcc USBPHY_R>; 414*3b99ab6eSYann Gautier vdda1v1-supply = <®11>; 415*3b99ab6eSYann Gautier vdda1v8-supply = <®18>; 416*3b99ab6eSYann Gautier status = "disabled"; 417*3b99ab6eSYann Gautier 418*3b99ab6eSYann Gautier usbphyc_port0: usb-phy@0 { 419*3b99ab6eSYann Gautier #phy-cells = <0>; 420*3b99ab6eSYann Gautier reg = <0>; 421*3b99ab6eSYann Gautier }; 422*3b99ab6eSYann Gautier 423*3b99ab6eSYann Gautier usbphyc_port1: usb-phy@1 { 424*3b99ab6eSYann Gautier #phy-cells = <1>; 425*3b99ab6eSYann Gautier reg = <1>; 426*3b99ab6eSYann Gautier }; 427*3b99ab6eSYann Gautier }; 428*3b99ab6eSYann Gautier 429*3b99ab6eSYann Gautier iwdg1: watchdog@5c003000 { 430*3b99ab6eSYann Gautier compatible = "st,stm32mp1-iwdg"; 431*3b99ab6eSYann Gautier reg = <0x5c003000 0x400>; 432*3b99ab6eSYann Gautier interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 433*3b99ab6eSYann Gautier clocks = <&rcc IWDG1>, <&rcc CK_LSI>; 434*3b99ab6eSYann Gautier clock-names = "pclk", "lsi"; 435*3b99ab6eSYann Gautier status = "disabled"; 436*3b99ab6eSYann Gautier }; 437*3b99ab6eSYann Gautier 438*3b99ab6eSYann Gautier bsec: efuse@5c005000 { 439*3b99ab6eSYann Gautier compatible = "st,stm32mp15-bsec"; 440*3b99ab6eSYann Gautier reg = <0x5c005000 0x400>; 441*3b99ab6eSYann Gautier #address-cells = <1>; 442*3b99ab6eSYann Gautier #size-cells = <1>; 443*3b99ab6eSYann Gautier 444*3b99ab6eSYann Gautier cfg0_otp: cfg0_otp@0 { 445*3b99ab6eSYann Gautier reg = <0x0 0x2>; 446*3b99ab6eSYann Gautier }; 447*3b99ab6eSYann Gautier part_number_otp: part_number_otp@4 { 448*3b99ab6eSYann Gautier reg = <0x4 0x2>; 449*3b99ab6eSYann Gautier }; 450*3b99ab6eSYann Gautier monotonic_otp: monotonic_otp@10 { 451*3b99ab6eSYann Gautier reg = <0x10 0x4>; 452*3b99ab6eSYann Gautier }; 453*3b99ab6eSYann Gautier nand_otp: cfg9_otp@24 { 454*3b99ab6eSYann Gautier reg = <0x24 0x4>; 455*3b99ab6eSYann Gautier }; 456*3b99ab6eSYann Gautier nand2_otp: cfg10_otp@28 { 457*3b99ab6eSYann Gautier reg = <0x28 0x4>; 458*3b99ab6eSYann Gautier }; 459*3b99ab6eSYann Gautier uid_otp: uid_otp@34 { 460*3b99ab6eSYann Gautier reg = <0x34 0xc>; 461*3b99ab6eSYann Gautier }; 462*3b99ab6eSYann Gautier hw2_otp: hw2_otp@48 { 463*3b99ab6eSYann Gautier reg = <0x48 0x4>; 464*3b99ab6eSYann Gautier }; 465*3b99ab6eSYann Gautier ts_cal1: calib@5c { 466*3b99ab6eSYann Gautier reg = <0x5c 0x2>; 467*3b99ab6eSYann Gautier }; 468*3b99ab6eSYann Gautier ts_cal2: calib@5e { 469*3b99ab6eSYann Gautier reg = <0x5e 0x2>; 470*3b99ab6eSYann Gautier }; 471*3b99ab6eSYann Gautier pkh_otp: pkh_otp@60 { 472*3b99ab6eSYann Gautier reg = <0x60 0x20>; 473*3b99ab6eSYann Gautier }; 474*3b99ab6eSYann Gautier mac_addr: mac_addr@e4 { 475*3b99ab6eSYann Gautier reg = <0xe4 0xc>; 476*3b99ab6eSYann Gautier st,non-secure-otp; 477*3b99ab6eSYann Gautier }; 478*3b99ab6eSYann Gautier }; 479*3b99ab6eSYann Gautier 480*3b99ab6eSYann Gautier tamp: tamp@5c00a000 { 481*3b99ab6eSYann Gautier reg = <0x5c00a000 0x400>; 482*3b99ab6eSYann Gautier }; 483*3b99ab6eSYann Gautier 484*3b99ab6eSYann Gautier /* 485*3b99ab6eSYann Gautier * Break node order to solve dependency probe issue between 486*3b99ab6eSYann Gautier * pinctrl and exti. 487*3b99ab6eSYann Gautier */ 488*3b99ab6eSYann Gautier pinctrl: pin-controller@50002000 { 489*3b99ab6eSYann Gautier #address-cells = <1>; 490*3b99ab6eSYann Gautier #size-cells = <1>; 491*3b99ab6eSYann Gautier compatible = "st,stm32mp135-pinctrl"; 492*3b99ab6eSYann Gautier ranges = <0 0x50002000 0x8400>; 493*3b99ab6eSYann Gautier interrupt-parent = <&exti>; 494*3b99ab6eSYann Gautier st,syscfg = <&exti 0x60 0xff>; 495*3b99ab6eSYann Gautier pins-are-numbered; 496*3b99ab6eSYann Gautier 497*3b99ab6eSYann Gautier gpioa: gpio@50002000 { 498*3b99ab6eSYann Gautier gpio-controller; 499*3b99ab6eSYann Gautier #gpio-cells = <2>; 500*3b99ab6eSYann Gautier interrupt-controller; 501*3b99ab6eSYann Gautier #interrupt-cells = <2>; 502*3b99ab6eSYann Gautier reg = <0x0 0x400>; 503*3b99ab6eSYann Gautier clocks = <&rcc GPIOA>; 504*3b99ab6eSYann Gautier st,bank-name = "GPIOA"; 505*3b99ab6eSYann Gautier ngpios = <16>; 506*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 0 16>; 507*3b99ab6eSYann Gautier }; 508*3b99ab6eSYann Gautier 509*3b99ab6eSYann Gautier gpiob: gpio@50003000 { 510*3b99ab6eSYann Gautier gpio-controller; 511*3b99ab6eSYann Gautier #gpio-cells = <2>; 512*3b99ab6eSYann Gautier interrupt-controller; 513*3b99ab6eSYann Gautier #interrupt-cells = <2>; 514*3b99ab6eSYann Gautier reg = <0x1000 0x400>; 515*3b99ab6eSYann Gautier clocks = <&rcc GPIOB>; 516*3b99ab6eSYann Gautier st,bank-name = "GPIOB"; 517*3b99ab6eSYann Gautier ngpios = <16>; 518*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 16 16>; 519*3b99ab6eSYann Gautier }; 520*3b99ab6eSYann Gautier 521*3b99ab6eSYann Gautier gpioc: gpio@50004000 { 522*3b99ab6eSYann Gautier gpio-controller; 523*3b99ab6eSYann Gautier #gpio-cells = <2>; 524*3b99ab6eSYann Gautier interrupt-controller; 525*3b99ab6eSYann Gautier #interrupt-cells = <2>; 526*3b99ab6eSYann Gautier reg = <0x2000 0x400>; 527*3b99ab6eSYann Gautier clocks = <&rcc GPIOC>; 528*3b99ab6eSYann Gautier st,bank-name = "GPIOC"; 529*3b99ab6eSYann Gautier ngpios = <16>; 530*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 32 16>; 531*3b99ab6eSYann Gautier }; 532*3b99ab6eSYann Gautier 533*3b99ab6eSYann Gautier gpiod: gpio@50005000 { 534*3b99ab6eSYann Gautier gpio-controller; 535*3b99ab6eSYann Gautier #gpio-cells = <2>; 536*3b99ab6eSYann Gautier interrupt-controller; 537*3b99ab6eSYann Gautier #interrupt-cells = <2>; 538*3b99ab6eSYann Gautier reg = <0x3000 0x400>; 539*3b99ab6eSYann Gautier clocks = <&rcc GPIOD>; 540*3b99ab6eSYann Gautier st,bank-name = "GPIOD"; 541*3b99ab6eSYann Gautier ngpios = <16>; 542*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 48 16>; 543*3b99ab6eSYann Gautier }; 544*3b99ab6eSYann Gautier 545*3b99ab6eSYann Gautier gpioe: gpio@50006000 { 546*3b99ab6eSYann Gautier gpio-controller; 547*3b99ab6eSYann Gautier #gpio-cells = <2>; 548*3b99ab6eSYann Gautier interrupt-controller; 549*3b99ab6eSYann Gautier #interrupt-cells = <2>; 550*3b99ab6eSYann Gautier reg = <0x4000 0x400>; 551*3b99ab6eSYann Gautier clocks = <&rcc GPIOE>; 552*3b99ab6eSYann Gautier st,bank-name = "GPIOE"; 553*3b99ab6eSYann Gautier ngpios = <16>; 554*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 64 16>; 555*3b99ab6eSYann Gautier }; 556*3b99ab6eSYann Gautier 557*3b99ab6eSYann Gautier gpiof: gpio@50007000 { 558*3b99ab6eSYann Gautier gpio-controller; 559*3b99ab6eSYann Gautier #gpio-cells = <2>; 560*3b99ab6eSYann Gautier interrupt-controller; 561*3b99ab6eSYann Gautier #interrupt-cells = <2>; 562*3b99ab6eSYann Gautier reg = <0x5000 0x400>; 563*3b99ab6eSYann Gautier clocks = <&rcc GPIOF>; 564*3b99ab6eSYann Gautier st,bank-name = "GPIOF"; 565*3b99ab6eSYann Gautier ngpios = <16>; 566*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 80 16>; 567*3b99ab6eSYann Gautier }; 568*3b99ab6eSYann Gautier 569*3b99ab6eSYann Gautier gpiog: gpio@50008000 { 570*3b99ab6eSYann Gautier gpio-controller; 571*3b99ab6eSYann Gautier #gpio-cells = <2>; 572*3b99ab6eSYann Gautier interrupt-controller; 573*3b99ab6eSYann Gautier #interrupt-cells = <2>; 574*3b99ab6eSYann Gautier reg = <0x6000 0x400>; 575*3b99ab6eSYann Gautier clocks = <&rcc GPIOG>; 576*3b99ab6eSYann Gautier st,bank-name = "GPIOG"; 577*3b99ab6eSYann Gautier ngpios = <16>; 578*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 96 16>; 579*3b99ab6eSYann Gautier }; 580*3b99ab6eSYann Gautier 581*3b99ab6eSYann Gautier gpioh: gpio@50009000 { 582*3b99ab6eSYann Gautier gpio-controller; 583*3b99ab6eSYann Gautier #gpio-cells = <2>; 584*3b99ab6eSYann Gautier interrupt-controller; 585*3b99ab6eSYann Gautier #interrupt-cells = <2>; 586*3b99ab6eSYann Gautier reg = <0x7000 0x400>; 587*3b99ab6eSYann Gautier clocks = <&rcc GPIOH>; 588*3b99ab6eSYann Gautier st,bank-name = "GPIOH"; 589*3b99ab6eSYann Gautier ngpios = <15>; 590*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 112 15>; 591*3b99ab6eSYann Gautier }; 592*3b99ab6eSYann Gautier 593*3b99ab6eSYann Gautier gpioi: gpio@5000a000 { 594*3b99ab6eSYann Gautier gpio-controller; 595*3b99ab6eSYann Gautier #gpio-cells = <2>; 596*3b99ab6eSYann Gautier interrupt-controller; 597*3b99ab6eSYann Gautier #interrupt-cells = <2>; 598*3b99ab6eSYann Gautier reg = <0x8000 0x400>; 599*3b99ab6eSYann Gautier clocks = <&rcc GPIOI>; 600*3b99ab6eSYann Gautier st,bank-name = "GPIOI"; 601*3b99ab6eSYann Gautier ngpios = <8>; 602*3b99ab6eSYann Gautier gpio-ranges = <&pinctrl 0 128 8>; 603*3b99ab6eSYann Gautier }; 604*3b99ab6eSYann Gautier }; 605*3b99ab6eSYann Gautier }; 606*3b99ab6eSYann Gautier}; 607