1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 /* 2 /* 3 * Copyright (C) STMicroelectronics 2021 - All 3 * Copyright (C) STMicroelectronics 2021 - All Rights Reserved 4 * Author: Alexandre Torgue <alexandre.torgue@f 4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5 */ 5 */ 6 #include <dt-bindings/interrupt-controller/arm 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #include <dt-bindings/clock/stm32mp13-clks.h> 7 #include <dt-bindings/clock/stm32mp13-clks.h> 8 #include <dt-bindings/reset/stm32mp13-resets.h 8 #include <dt-bindings/reset/stm32mp13-resets.h> 9 9 10 / { 10 / { 11 #address-cells = <1>; 11 #address-cells = <1>; 12 #size-cells = <1>; 12 #size-cells = <1>; 13 13 14 cpus { 14 cpus { 15 #address-cells = <1>; 15 #address-cells = <1>; 16 #size-cells = <0>; 16 #size-cells = <0>; 17 17 18 cpu0: cpu@0 { 18 cpu0: cpu@0 { 19 compatible = "arm,cort 19 compatible = "arm,cortex-a7"; 20 device_type = "cpu"; 20 device_type = "cpu"; 21 reg = <0>; 21 reg = <0>; 22 }; 22 }; 23 }; 23 }; 24 24 25 arm-pmu { 25 arm-pmu { 26 compatible = "arm,cortex-a7-pm 26 compatible = "arm,cortex-a7-pmu"; 27 interrupts = <GIC_SPI 133 IRQ_ 27 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 28 interrupt-affinity = <&cpu0>; 28 interrupt-affinity = <&cpu0>; 29 interrupt-parent = <&intc>; 29 interrupt-parent = <&intc>; 30 }; 30 }; 31 31 32 firmware { 32 firmware { 33 optee { 33 optee { 34 method = "smc"; 34 method = "smc"; 35 compatible = "linaro,o 35 compatible = "linaro,optee-tz"; 36 interrupt-parent = <&i << 37 interrupts = <GIC_PPI << 38 }; 36 }; 39 37 40 scmi: scmi { 38 scmi: scmi { 41 compatible = "linaro,s 39 compatible = "linaro,scmi-optee"; 42 #address-cells = <1>; 40 #address-cells = <1>; 43 #size-cells = <0>; 41 #size-cells = <0>; 44 linaro,optee-channel-i 42 linaro,optee-channel-id = <0>; >> 43 shmem = <&scmi_shm>; 45 44 46 scmi_clk: protocol@14 45 scmi_clk: protocol@14 { 47 reg = <0x14>; 46 reg = <0x14>; 48 #clock-cells = 47 #clock-cells = <1>; 49 }; 48 }; 50 49 51 scmi_reset: protocol@1 50 scmi_reset: protocol@16 { 52 reg = <0x16>; 51 reg = <0x16>; 53 #reset-cells = 52 #reset-cells = <1>; 54 }; 53 }; 55 << 56 scmi_voltd: protocol@1 << 57 reg = <0x17>; << 58 << 59 scmi_regu: reg << 60 #addre << 61 #size- << 62 << 63 scmi_r << 64 << 65 << 66 }; << 67 scmi_r << 68 << 69 << 70 }; << 71 scmi_u << 72 << 73 << 74 }; << 75 }; << 76 }; << 77 }; 54 }; 78 }; 55 }; 79 56 80 intc: interrupt-controller@a0021000 { 57 intc: interrupt-controller@a0021000 { 81 compatible = "arm,cortex-a7-gi 58 compatible = "arm,cortex-a7-gic"; 82 #interrupt-cells = <3>; 59 #interrupt-cells = <3>; 83 interrupt-controller; 60 interrupt-controller; 84 reg = <0xa0021000 0x1000>, 61 reg = <0xa0021000 0x1000>, 85 <0xa0022000 0x2000>; 62 <0xa0022000 0x2000>; 86 }; 63 }; 87 64 88 psci { 65 psci { 89 compatible = "arm,psci-1.0"; 66 compatible = "arm,psci-1.0"; 90 method = "smc"; 67 method = "smc"; 91 }; 68 }; 92 69 93 timer { 70 timer { 94 compatible = "arm,armv7-timer" 71 compatible = "arm,armv7-timer"; 95 interrupts = <GIC_PPI 13 (GIC_ 72 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 96 <GIC_PPI 14 (GIC_ 73 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 97 <GIC_PPI 11 (GIC_ 74 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 98 <GIC_PPI 10 (GIC_ 75 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 99 interrupt-parent = <&intc>; 76 interrupt-parent = <&intc>; 100 always-on; 77 always-on; 101 }; 78 }; 102 79 >> 80 /* PWR 1v1, 1v8 and 3v3 regulators defined as fixed, waiting for SCMI */ >> 81 reg11: reg11 { >> 82 compatible = "regulator-fixed"; >> 83 regulator-name = "reg11"; >> 84 regulator-min-microvolt = <1100000>; >> 85 regulator-max-microvolt = <1100000>; >> 86 }; >> 87 >> 88 reg18: reg18 { >> 89 compatible = "regulator-fixed"; >> 90 regulator-name = "reg18"; >> 91 regulator-min-microvolt = <1800000>; >> 92 regulator-max-microvolt = <1800000>; >> 93 }; >> 94 >> 95 usb33: usb33 { >> 96 compatible = "regulator-fixed"; >> 97 regulator-name = "usb33"; >> 98 regulator-min-microvolt = <3300000>; >> 99 regulator-max-microvolt = <3300000>; >> 100 }; >> 101 103 soc { 102 soc { 104 compatible = "simple-bus"; 103 compatible = "simple-bus"; 105 #address-cells = <1>; 104 #address-cells = <1>; 106 #size-cells = <1>; 105 #size-cells = <1>; 107 interrupt-parent = <&intc>; 106 interrupt-parent = <&intc>; 108 ranges; 107 ranges; 109 108 >> 109 scmi_sram: sram@2ffff000 { >> 110 compatible = "mmio-sram"; >> 111 reg = <0x2ffff000 0x1000>; >> 112 #address-cells = <1>; >> 113 #size-cells = <1>; >> 114 ranges = <0 0x2ffff000 0x1000>; >> 115 >> 116 scmi_shm: scmi-sram@0 { >> 117 compatible = "arm,scmi-shmem"; >> 118 reg = <0 0x80>; >> 119 }; >> 120 }; >> 121 110 timers2: timer@40000000 { 122 timers2: timer@40000000 { 111 #address-cells = <1>; 123 #address-cells = <1>; 112 #size-cells = <0>; 124 #size-cells = <0>; 113 compatible = "st,stm32 125 compatible = "st,stm32-timers"; 114 reg = <0x40000000 0x40 126 reg = <0x40000000 0x400>; 115 interrupts = <GIC_SPI 127 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 116 interrupt-names = "glo 128 interrupt-names = "global"; 117 clocks = <&rcc TIM2_K> 129 clocks = <&rcc TIM2_K>; 118 clock-names = "int"; 130 clock-names = "int"; 119 dmas = <&dmamux1 18 0x 131 dmas = <&dmamux1 18 0x400 0x1>, 120 <&dmamux1 19 0x 132 <&dmamux1 19 0x400 0x1>, 121 <&dmamux1 20 0x 133 <&dmamux1 20 0x400 0x1>, 122 <&dmamux1 21 0x 134 <&dmamux1 21 0x400 0x1>, 123 <&dmamux1 22 0x 135 <&dmamux1 22 0x400 0x1>; 124 dma-names = "ch1", "ch 136 dma-names = "ch1", "ch2", "ch3", "ch4", "up"; 125 status = "disabled"; 137 status = "disabled"; 126 138 127 pwm { 139 pwm { 128 compatible = " 140 compatible = "st,stm32-pwm"; 129 #pwm-cells = < 141 #pwm-cells = <3>; 130 status = "disa 142 status = "disabled"; 131 }; 143 }; 132 144 133 timer@1 { 145 timer@1 { 134 compatible = " 146 compatible = "st,stm32h7-timer-trigger"; 135 reg = <1>; 147 reg = <1>; 136 status = "disa 148 status = "disabled"; 137 }; 149 }; 138 150 139 counter { 151 counter { 140 compatible = " 152 compatible = "st,stm32-timer-counter"; 141 status = "disa 153 status = "disabled"; 142 }; 154 }; 143 }; 155 }; 144 156 145 timers3: timer@40001000 { 157 timers3: timer@40001000 { 146 #address-cells = <1>; 158 #address-cells = <1>; 147 #size-cells = <0>; 159 #size-cells = <0>; 148 compatible = "st,stm32 160 compatible = "st,stm32-timers"; 149 reg = <0x40001000 0x40 161 reg = <0x40001000 0x400>; 150 interrupts = <GIC_SPI 162 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 151 interrupt-names = "glo 163 interrupt-names = "global"; 152 clocks = <&rcc TIM3_K> 164 clocks = <&rcc TIM3_K>; 153 clock-names = "int"; 165 clock-names = "int"; 154 dmas = <&dmamux1 23 0x 166 dmas = <&dmamux1 23 0x400 0x1>, 155 <&dmamux1 24 0x 167 <&dmamux1 24 0x400 0x1>, 156 <&dmamux1 25 0x 168 <&dmamux1 25 0x400 0x1>, 157 <&dmamux1 26 0x 169 <&dmamux1 26 0x400 0x1>, 158 <&dmamux1 27 0x 170 <&dmamux1 27 0x400 0x1>, 159 <&dmamux1 28 0x 171 <&dmamux1 28 0x400 0x1>; 160 dma-names = "ch1", "ch 172 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig"; 161 status = "disabled"; 173 status = "disabled"; 162 174 163 pwm { 175 pwm { 164 compatible = " 176 compatible = "st,stm32-pwm"; 165 #pwm-cells = < 177 #pwm-cells = <3>; 166 status = "disa 178 status = "disabled"; 167 }; 179 }; 168 180 169 timer@2 { 181 timer@2 { 170 compatible = " 182 compatible = "st,stm32h7-timer-trigger"; 171 reg = <2>; 183 reg = <2>; 172 status = "disa 184 status = "disabled"; 173 }; 185 }; 174 186 175 counter { 187 counter { 176 compatible = " 188 compatible = "st,stm32-timer-counter"; 177 status = "disa 189 status = "disabled"; 178 }; 190 }; 179 }; 191 }; 180 192 181 timers4: timer@40002000 { 193 timers4: timer@40002000 { 182 #address-cells = <1>; 194 #address-cells = <1>; 183 #size-cells = <0>; 195 #size-cells = <0>; 184 compatible = "st,stm32 196 compatible = "st,stm32-timers"; 185 reg = <0x40002000 0x40 197 reg = <0x40002000 0x400>; 186 interrupts = <GIC_SPI 198 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 187 interrupt-names = "glo 199 interrupt-names = "global"; 188 clocks = <&rcc TIM4_K> 200 clocks = <&rcc TIM4_K>; 189 clock-names = "int"; 201 clock-names = "int"; 190 dmas = <&dmamux1 29 0x 202 dmas = <&dmamux1 29 0x400 0x1>, 191 <&dmamux1 30 0x 203 <&dmamux1 30 0x400 0x1>, 192 <&dmamux1 31 0x 204 <&dmamux1 31 0x400 0x1>, 193 <&dmamux1 32 0x 205 <&dmamux1 32 0x400 0x1>; 194 dma-names = "ch1", "ch 206 dma-names = "ch1", "ch2", "ch3", "up"; 195 status = "disabled"; 207 status = "disabled"; 196 208 197 pwm { 209 pwm { 198 compatible = " 210 compatible = "st,stm32-pwm"; 199 #pwm-cells = < 211 #pwm-cells = <3>; 200 status = "disa 212 status = "disabled"; 201 }; 213 }; 202 214 203 timer@3 { 215 timer@3 { 204 compatible = " 216 compatible = "st,stm32h7-timer-trigger"; 205 reg = <3>; 217 reg = <3>; 206 status = "disa 218 status = "disabled"; 207 }; 219 }; 208 220 209 counter { 221 counter { 210 compatible = " 222 compatible = "st,stm32-timer-counter"; 211 status = "disa 223 status = "disabled"; 212 }; 224 }; 213 }; 225 }; 214 226 215 timers5: timer@40003000 { 227 timers5: timer@40003000 { 216 #address-cells = <1>; 228 #address-cells = <1>; 217 #size-cells = <0>; 229 #size-cells = <0>; 218 compatible = "st,stm32 230 compatible = "st,stm32-timers"; 219 reg = <0x40003000 0x40 231 reg = <0x40003000 0x400>; 220 interrupts = <GIC_SPI 232 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 221 interrupt-names = "glo 233 interrupt-names = "global"; 222 clocks = <&rcc TIM5_K> 234 clocks = <&rcc TIM5_K>; 223 clock-names = "int"; 235 clock-names = "int"; 224 dmas = <&dmamux1 55 0x 236 dmas = <&dmamux1 55 0x400 0x1>, 225 <&dmamux1 56 0x 237 <&dmamux1 56 0x400 0x1>, 226 <&dmamux1 57 0x 238 <&dmamux1 57 0x400 0x1>, 227 <&dmamux1 58 0x 239 <&dmamux1 58 0x400 0x1>, 228 <&dmamux1 59 0x 240 <&dmamux1 59 0x400 0x1>, 229 <&dmamux1 60 0x 241 <&dmamux1 60 0x400 0x1>; 230 dma-names = "ch1", "ch 242 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig"; 231 status = "disabled"; 243 status = "disabled"; 232 244 233 pwm { 245 pwm { 234 compatible = " 246 compatible = "st,stm32-pwm"; 235 #pwm-cells = < 247 #pwm-cells = <3>; 236 status = "disa 248 status = "disabled"; 237 }; 249 }; 238 250 239 timer@4 { 251 timer@4 { 240 compatible = " 252 compatible = "st,stm32h7-timer-trigger"; 241 reg = <4>; 253 reg = <4>; 242 status = "disa 254 status = "disabled"; 243 }; 255 }; 244 256 245 counter { 257 counter { 246 compatible = " 258 compatible = "st,stm32-timer-counter"; 247 status = "disa 259 status = "disabled"; 248 }; 260 }; 249 }; 261 }; 250 262 251 timers6: timer@40004000 { 263 timers6: timer@40004000 { 252 #address-cells = <1>; 264 #address-cells = <1>; 253 #size-cells = <0>; 265 #size-cells = <0>; 254 compatible = "st,stm32 266 compatible = "st,stm32-timers"; 255 reg = <0x40004000 0x40 267 reg = <0x40004000 0x400>; 256 interrupts = <GIC_SPI 268 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 257 interrupt-names = "glo 269 interrupt-names = "global"; 258 clocks = <&rcc TIM6_K> 270 clocks = <&rcc TIM6_K>; 259 clock-names = "int"; 271 clock-names = "int"; 260 dmas = <&dmamux1 69 0x 272 dmas = <&dmamux1 69 0x400 0x1>; 261 dma-names = "up"; 273 dma-names = "up"; 262 status = "disabled"; 274 status = "disabled"; 263 275 264 timer@5 { 276 timer@5 { 265 compatible = " 277 compatible = "st,stm32h7-timer-trigger"; 266 reg = <5>; 278 reg = <5>; 267 status = "disa 279 status = "disabled"; 268 }; 280 }; 269 }; 281 }; 270 282 271 timers7: timer@40005000 { 283 timers7: timer@40005000 { 272 #address-cells = <1>; 284 #address-cells = <1>; 273 #size-cells = <0>; 285 #size-cells = <0>; 274 compatible = "st,stm32 286 compatible = "st,stm32-timers"; 275 reg = <0x40005000 0x40 287 reg = <0x40005000 0x400>; 276 interrupts = <GIC_SPI 288 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 277 interrupt-names = "glo 289 interrupt-names = "global"; 278 clocks = <&rcc TIM7_K> 290 clocks = <&rcc TIM7_K>; 279 clock-names = "int"; 291 clock-names = "int"; 280 dmas = <&dmamux1 70 0x 292 dmas = <&dmamux1 70 0x400 0x1>; 281 dma-names = "up"; 293 dma-names = "up"; 282 status = "disabled"; 294 status = "disabled"; 283 295 284 timer@6 { 296 timer@6 { 285 compatible = " 297 compatible = "st,stm32h7-timer-trigger"; 286 reg = <6>; 298 reg = <6>; 287 status = "disa 299 status = "disabled"; 288 }; 300 }; 289 }; 301 }; 290 302 291 lptimer1: timer@40009000 { 303 lptimer1: timer@40009000 { 292 #address-cells = <1>; 304 #address-cells = <1>; 293 #size-cells = <0>; 305 #size-cells = <0>; 294 compatible = "st,stm32 306 compatible = "st,stm32-lptimer"; 295 reg = <0x40009000 0x40 307 reg = <0x40009000 0x400>; 296 interrupts-extended = 308 interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>; 297 clocks = <&rcc LPTIM1_ 309 clocks = <&rcc LPTIM1_K>; 298 clock-names = "mux"; 310 clock-names = "mux"; 299 wakeup-source; 311 wakeup-source; 300 status = "disabled"; 312 status = "disabled"; 301 313 302 pwm { 314 pwm { 303 compatible = " 315 compatible = "st,stm32-pwm-lp"; 304 #pwm-cells = < 316 #pwm-cells = <3>; 305 status = "disa 317 status = "disabled"; 306 }; 318 }; 307 319 308 trigger@0 { 320 trigger@0 { 309 compatible = " 321 compatible = "st,stm32-lptimer-trigger"; 310 reg = <0>; 322 reg = <0>; 311 status = "disa 323 status = "disabled"; 312 }; 324 }; 313 325 314 counter { 326 counter { 315 compatible = " 327 compatible = "st,stm32-lptimer-counter"; 316 status = "disa 328 status = "disabled"; 317 }; 329 }; 318 330 319 timer { 331 timer { 320 compatible = " 332 compatible = "st,stm32-lptimer-timer"; 321 status = "disa 333 status = "disabled"; 322 }; 334 }; 323 }; 335 }; 324 336 325 i2s2: audio-controller@4000b00 337 i2s2: audio-controller@4000b000 { 326 compatible = "st,stm32 338 compatible = "st,stm32h7-i2s"; 327 reg = <0x4000b000 0x40 339 reg = <0x4000b000 0x400>; 328 #sound-dai-cells = <0> 340 #sound-dai-cells = <0>; 329 interrupts = <GIC_SPI 341 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 330 dmas = <&dmamux1 39 0x 342 dmas = <&dmamux1 39 0x400 0x01>, 331 <&dmamux1 40 0x 343 <&dmamux1 40 0x400 0x01>; 332 dma-names = "rx", "tx" 344 dma-names = "rx", "tx"; 333 status = "disabled"; 345 status = "disabled"; 334 }; 346 }; 335 347 336 spi2: spi@4000b000 { 348 spi2: spi@4000b000 { 337 compatible = "st,stm32 349 compatible = "st,stm32h7-spi"; 338 reg = <0x4000b000 0x40 350 reg = <0x4000b000 0x400>; 339 interrupts = <GIC_SPI 351 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 340 clocks = <&rcc SPI2_K> 352 clocks = <&rcc SPI2_K>; 341 resets = <&rcc SPI2_R> 353 resets = <&rcc SPI2_R>; 342 #address-cells = <1>; 354 #address-cells = <1>; 343 #size-cells = <0>; 355 #size-cells = <0>; 344 dmas = <&dmamux1 39 0x 356 dmas = <&dmamux1 39 0x400 0x01>, 345 <&dmamux1 40 0x 357 <&dmamux1 40 0x400 0x01>; 346 dma-names = "rx", "tx" 358 dma-names = "rx", "tx"; 347 status = "disabled"; 359 status = "disabled"; 348 }; 360 }; 349 361 350 i2s3: audio-controller@4000c00 362 i2s3: audio-controller@4000c000 { 351 compatible = "st,stm32 363 compatible = "st,stm32h7-i2s"; 352 reg = <0x4000c000 0x40 364 reg = <0x4000c000 0x400>; 353 #sound-dai-cells = <0> 365 #sound-dai-cells = <0>; 354 interrupts = <GIC_SPI 366 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 355 dmas = <&dmamux1 61 0x 367 dmas = <&dmamux1 61 0x400 0x01>, 356 <&dmamux1 62 0x 368 <&dmamux1 62 0x400 0x01>; 357 dma-names = "rx", "tx" 369 dma-names = "rx", "tx"; 358 status = "disabled"; 370 status = "disabled"; 359 }; 371 }; 360 372 361 spi3: spi@4000c000 { 373 spi3: spi@4000c000 { 362 compatible = "st,stm32 374 compatible = "st,stm32h7-spi"; 363 reg = <0x4000c000 0x40 375 reg = <0x4000c000 0x400>; 364 interrupts = <GIC_SPI 376 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 365 clocks = <&rcc SPI3_K> 377 clocks = <&rcc SPI3_K>; 366 resets = <&rcc SPI3_R> 378 resets = <&rcc SPI3_R>; 367 #address-cells = <1>; 379 #address-cells = <1>; 368 #size-cells = <0>; 380 #size-cells = <0>; 369 dmas = <&dmamux1 61 0x 381 dmas = <&dmamux1 61 0x400 0x01>, 370 <&dmamux1 62 0x 382 <&dmamux1 62 0x400 0x01>; 371 dma-names = "rx", "tx" 383 dma-names = "rx", "tx"; 372 status = "disabled"; 384 status = "disabled"; 373 }; 385 }; 374 386 375 spdifrx: audio-controller@4000 387 spdifrx: audio-controller@4000d000 { 376 compatible = "st,stm32 388 compatible = "st,stm32h7-spdifrx"; 377 reg = <0x4000d000 0x40 389 reg = <0x4000d000 0x400>; 378 #sound-dai-cells = <0> 390 #sound-dai-cells = <0>; 379 clocks = <&rcc SPDIF_K 391 clocks = <&rcc SPDIF_K>; 380 clock-names = "kclk"; 392 clock-names = "kclk"; 381 interrupts = <GIC_SPI 393 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 382 dmas = <&dmamux1 93 0x 394 dmas = <&dmamux1 93 0x400 0x01>, 383 <&dmamux1 94 0x 395 <&dmamux1 94 0x400 0x01>; 384 dma-names = "rx", "rx- 396 dma-names = "rx", "rx-ctrl"; 385 status = "disabled"; 397 status = "disabled"; 386 }; 398 }; 387 399 388 usart3: serial@4000f000 { 400 usart3: serial@4000f000 { 389 compatible = "st,stm32 401 compatible = "st,stm32h7-uart"; 390 reg = <0x4000f000 0x40 402 reg = <0x4000f000 0x400>; 391 interrupts-extended = 403 interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>; 392 clocks = <&rcc USART3_ 404 clocks = <&rcc USART3_K>; 393 resets = <&rcc USART3_ 405 resets = <&rcc USART3_R>; 394 wakeup-source; 406 wakeup-source; 395 dmas = <&dmamux1 45 0x 407 dmas = <&dmamux1 45 0x400 0x5>, 396 <&dmamux1 46 0x 408 <&dmamux1 46 0x400 0x1>; 397 dma-names = "rx", "tx" 409 dma-names = "rx", "tx"; 398 status = "disabled"; 410 status = "disabled"; 399 }; 411 }; 400 412 401 uart4: serial@40010000 { 413 uart4: serial@40010000 { 402 compatible = "st,stm32 414 compatible = "st,stm32h7-uart"; 403 reg = <0x40010000 0x40 415 reg = <0x40010000 0x400>; 404 interrupts-extended = 416 interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>; 405 clocks = <&rcc UART4_K 417 clocks = <&rcc UART4_K>; 406 resets = <&rcc UART4_R 418 resets = <&rcc UART4_R>; 407 wakeup-source; 419 wakeup-source; 408 dmas = <&dmamux1 63 0x 420 dmas = <&dmamux1 63 0x400 0x5>, 409 <&dmamux1 64 0x 421 <&dmamux1 64 0x400 0x1>; 410 dma-names = "rx", "tx" 422 dma-names = "rx", "tx"; 411 status = "disabled"; 423 status = "disabled"; 412 }; 424 }; 413 425 414 uart5: serial@40011000 { 426 uart5: serial@40011000 { 415 compatible = "st,stm32 427 compatible = "st,stm32h7-uart"; 416 reg = <0x40011000 0x40 428 reg = <0x40011000 0x400>; 417 interrupts-extended = 429 interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>; 418 clocks = <&rcc UART5_K 430 clocks = <&rcc UART5_K>; 419 resets = <&rcc UART5_R 431 resets = <&rcc UART5_R>; 420 wakeup-source; 432 wakeup-source; 421 dmas = <&dmamux1 65 0x 433 dmas = <&dmamux1 65 0x400 0x5>, 422 <&dmamux1 66 0x 434 <&dmamux1 66 0x400 0x1>; 423 dma-names = "rx", "tx" 435 dma-names = "rx", "tx"; 424 status = "disabled"; 436 status = "disabled"; 425 }; 437 }; 426 438 427 i2c1: i2c@40012000 { 439 i2c1: i2c@40012000 { 428 compatible = "st,stm32 440 compatible = "st,stm32mp13-i2c"; 429 reg = <0x40012000 0x40 441 reg = <0x40012000 0x400>; 430 interrupt-names = "eve 442 interrupt-names = "event", "error"; 431 interrupts = <GIC_SPI 443 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 432 <GIC_SPI 444 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 433 clocks = <&rcc I2C1_K> 445 clocks = <&rcc I2C1_K>; 434 resets = <&rcc I2C1_R> 446 resets = <&rcc I2C1_R>; 435 #address-cells = <1>; 447 #address-cells = <1>; 436 #size-cells = <0>; 448 #size-cells = <0>; 437 dmas = <&dmamux1 33 0x 449 dmas = <&dmamux1 33 0x400 0x1>, 438 <&dmamux1 34 0x 450 <&dmamux1 34 0x400 0x1>; 439 dma-names = "rx", "tx" 451 dma-names = "rx", "tx"; 440 st,syscfg-fmp = <&sysc 452 st,syscfg-fmp = <&syscfg 0x4 0x1>; 441 i2c-analog-filter; 453 i2c-analog-filter; 442 status = "disabled"; 454 status = "disabled"; 443 }; 455 }; 444 456 445 i2c2: i2c@40013000 { 457 i2c2: i2c@40013000 { 446 compatible = "st,stm32 458 compatible = "st,stm32mp13-i2c"; 447 reg = <0x40013000 0x40 459 reg = <0x40013000 0x400>; 448 interrupt-names = "eve 460 interrupt-names = "event", "error"; 449 interrupts = <GIC_SPI 461 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 450 <GIC_SPI 462 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 451 clocks = <&rcc I2C2_K> 463 clocks = <&rcc I2C2_K>; 452 resets = <&rcc I2C2_R> 464 resets = <&rcc I2C2_R>; 453 #address-cells = <1>; 465 #address-cells = <1>; 454 #size-cells = <0>; 466 #size-cells = <0>; 455 dmas = <&dmamux1 35 0x 467 dmas = <&dmamux1 35 0x400 0x1>, 456 <&dmamux1 36 0x 468 <&dmamux1 36 0x400 0x1>; 457 dma-names = "rx", "tx" 469 dma-names = "rx", "tx"; 458 st,syscfg-fmp = <&sysc 470 st,syscfg-fmp = <&syscfg 0x4 0x2>; 459 i2c-analog-filter; 471 i2c-analog-filter; 460 status = "disabled"; 472 status = "disabled"; 461 }; 473 }; 462 474 463 uart7: serial@40018000 { 475 uart7: serial@40018000 { 464 compatible = "st,stm32 476 compatible = "st,stm32h7-uart"; 465 reg = <0x40018000 0x40 477 reg = <0x40018000 0x400>; 466 interrupts-extended = 478 interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>; 467 clocks = <&rcc UART7_K 479 clocks = <&rcc UART7_K>; 468 resets = <&rcc UART7_R 480 resets = <&rcc UART7_R>; 469 wakeup-source; 481 wakeup-source; 470 dmas = <&dmamux1 79 0x 482 dmas = <&dmamux1 79 0x400 0x5>, 471 <&dmamux1 80 0x 483 <&dmamux1 80 0x400 0x1>; 472 dma-names = "rx", "tx" 484 dma-names = "rx", "tx"; 473 status = "disabled"; 485 status = "disabled"; 474 }; 486 }; 475 487 476 uart8: serial@40019000 { 488 uart8: serial@40019000 { 477 compatible = "st,stm32 489 compatible = "st,stm32h7-uart"; 478 reg = <0x40019000 0x40 490 reg = <0x40019000 0x400>; 479 interrupts-extended = 491 interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>; 480 clocks = <&rcc UART8_K 492 clocks = <&rcc UART8_K>; 481 resets = <&rcc UART8_R 493 resets = <&rcc UART8_R>; 482 wakeup-source; 494 wakeup-source; 483 dmas = <&dmamux1 81 0x 495 dmas = <&dmamux1 81 0x400 0x5>, 484 <&dmamux1 82 0x 496 <&dmamux1 82 0x400 0x1>; 485 dma-names = "rx", "tx" 497 dma-names = "rx", "tx"; 486 status = "disabled"; 498 status = "disabled"; 487 }; 499 }; 488 500 489 timers1: timer@44000000 { 501 timers1: timer@44000000 { 490 #address-cells = <1>; 502 #address-cells = <1>; 491 #size-cells = <0>; 503 #size-cells = <0>; 492 compatible = "st,stm32 504 compatible = "st,stm32-timers"; 493 reg = <0x44000000 0x40 505 reg = <0x44000000 0x400>; 494 interrupts = <GIC_SPI 506 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 495 <GIC_SPI 507 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 496 <GIC_SPI 508 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 497 <GIC_SPI 509 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 498 interrupt-names = "brk 510 interrupt-names = "brk", "up", "trg-com", "cc"; 499 clocks = <&rcc TIM1_K> 511 clocks = <&rcc TIM1_K>; 500 clock-names = "int"; 512 clock-names = "int"; 501 dmas = <&dmamux1 11 0x 513 dmas = <&dmamux1 11 0x400 0x1>, 502 <&dmamux1 12 0x 514 <&dmamux1 12 0x400 0x1>, 503 <&dmamux1 13 0x 515 <&dmamux1 13 0x400 0x1>, 504 <&dmamux1 14 0x 516 <&dmamux1 14 0x400 0x1>, 505 <&dmamux1 15 0x 517 <&dmamux1 15 0x400 0x1>, 506 <&dmamux1 16 0x 518 <&dmamux1 16 0x400 0x1>, 507 <&dmamux1 17 0x 519 <&dmamux1 17 0x400 0x1>; 508 dma-names = "ch1", "ch 520 dma-names = "ch1", "ch2", "ch3", "ch4", 509 "up", "tri 521 "up", "trig", "com"; 510 status = "disabled"; 522 status = "disabled"; 511 523 512 pwm { 524 pwm { 513 compatible = " 525 compatible = "st,stm32-pwm"; 514 #pwm-cells = < 526 #pwm-cells = <3>; 515 status = "disa 527 status = "disabled"; 516 }; 528 }; 517 529 518 timer@0 { 530 timer@0 { 519 compatible = " 531 compatible = "st,stm32h7-timer-trigger"; 520 reg = <0>; 532 reg = <0>; 521 status = "disa 533 status = "disabled"; 522 }; 534 }; 523 535 524 counter { 536 counter { 525 compatible = " 537 compatible = "st,stm32-timer-counter"; 526 status = "disa 538 status = "disabled"; 527 }; 539 }; 528 }; 540 }; 529 541 530 timers8: timer@44001000 { 542 timers8: timer@44001000 { 531 #address-cells = <1>; 543 #address-cells = <1>; 532 #size-cells = <0>; 544 #size-cells = <0>; 533 compatible = "st,stm32 545 compatible = "st,stm32-timers"; 534 reg = <0x44001000 0x40 546 reg = <0x44001000 0x400>; 535 interrupts = <GIC_SPI 547 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 536 <GIC_SPI 548 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, 537 <GIC_SPI 549 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, 538 <GIC_SPI 550 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 539 interrupt-names = "brk 551 interrupt-names = "brk", "up", "trg-com", "cc"; 540 clocks = <&rcc TIM8_K> 552 clocks = <&rcc TIM8_K>; 541 clock-names = "int"; 553 clock-names = "int"; 542 dmas = <&dmamux1 47 0x 554 dmas = <&dmamux1 47 0x400 0x1>, 543 <&dmamux1 48 0x 555 <&dmamux1 48 0x400 0x1>, 544 <&dmamux1 49 0x 556 <&dmamux1 49 0x400 0x1>, 545 <&dmamux1 50 0x 557 <&dmamux1 50 0x400 0x1>, 546 <&dmamux1 51 0x 558 <&dmamux1 51 0x400 0x1>, 547 <&dmamux1 52 0x 559 <&dmamux1 52 0x400 0x1>, 548 <&dmamux1 53 0x 560 <&dmamux1 53 0x400 0x1>; 549 dma-names = "ch1", "ch 561 dma-names = "ch1", "ch2", "ch3", "ch4", 550 "up", "tri 562 "up", "trig", "com"; 551 status = "disabled"; 563 status = "disabled"; 552 564 553 pwm { 565 pwm { 554 compatible = " 566 compatible = "st,stm32-pwm"; 555 #pwm-cells = < 567 #pwm-cells = <3>; 556 status = "disa 568 status = "disabled"; 557 }; 569 }; 558 570 559 timer@7 { 571 timer@7 { 560 compatible = " 572 compatible = "st,stm32h7-timer-trigger"; 561 reg = <7>; 573 reg = <7>; 562 status = "disa 574 status = "disabled"; 563 }; 575 }; 564 576 565 counter { 577 counter { 566 compatible = " 578 compatible = "st,stm32-timer-counter"; 567 status = "disa 579 status = "disabled"; 568 }; 580 }; 569 }; 581 }; 570 582 571 usart6: serial@44003000 { 583 usart6: serial@44003000 { 572 compatible = "st,stm32 584 compatible = "st,stm32h7-uart"; 573 reg = <0x44003000 0x40 585 reg = <0x44003000 0x400>; 574 interrupts-extended = 586 interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>; 575 clocks = <&rcc USART6_ 587 clocks = <&rcc USART6_K>; 576 resets = <&rcc USART6_ 588 resets = <&rcc USART6_R>; 577 wakeup-source; 589 wakeup-source; 578 dmas = <&dmamux1 71 0x 590 dmas = <&dmamux1 71 0x400 0x5>, 579 <&dmamux1 72 0x 591 <&dmamux1 72 0x400 0x1>; 580 dma-names = "rx", "tx" 592 dma-names = "rx", "tx"; 581 status = "disabled"; 593 status = "disabled"; 582 }; 594 }; 583 595 584 i2s1: audio-controller@4400400 596 i2s1: audio-controller@44004000 { 585 compatible = "st,stm32 597 compatible = "st,stm32h7-i2s"; 586 reg = <0x44004000 0x40 598 reg = <0x44004000 0x400>; 587 #sound-dai-cells = <0> 599 #sound-dai-cells = <0>; 588 interrupts = <GIC_SPI 600 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 589 dmas = <&dmamux1 37 0x 601 dmas = <&dmamux1 37 0x400 0x01>, 590 <&dmamux1 38 0x 602 <&dmamux1 38 0x400 0x01>; 591 dma-names = "rx", "tx" 603 dma-names = "rx", "tx"; 592 status = "disabled"; 604 status = "disabled"; 593 }; 605 }; 594 606 595 spi1: spi@44004000 { 607 spi1: spi@44004000 { 596 compatible = "st,stm32 608 compatible = "st,stm32h7-spi"; 597 reg = <0x44004000 0x40 609 reg = <0x44004000 0x400>; 598 interrupts = <GIC_SPI 610 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 599 clocks = <&rcc SPI1_K> 611 clocks = <&rcc SPI1_K>; 600 resets = <&rcc SPI1_R> 612 resets = <&rcc SPI1_R>; 601 #address-cells = <1>; 613 #address-cells = <1>; 602 #size-cells = <0>; 614 #size-cells = <0>; 603 dmas = <&dmamux1 37 0x 615 dmas = <&dmamux1 37 0x400 0x01>, 604 <&dmamux1 38 0x 616 <&dmamux1 38 0x400 0x01>; 605 dma-names = "rx", "tx" 617 dma-names = "rx", "tx"; 606 status = "disabled"; 618 status = "disabled"; 607 }; 619 }; 608 620 609 sai1: sai@4400a000 { 621 sai1: sai@4400a000 { 610 compatible = "st,stm32 622 compatible = "st,stm32h7-sai"; 611 reg = <0x4400a000 0x4> 623 reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>; 612 ranges = <0 0x4400a000 624 ranges = <0 0x4400a000 0x400>; 613 #address-cells = <1>; 625 #address-cells = <1>; 614 #size-cells = <1>; 626 #size-cells = <1>; 615 interrupts = <GIC_SPI 627 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 616 resets = <&rcc SAI1_R> 628 resets = <&rcc SAI1_R>; 617 status = "disabled"; 629 status = "disabled"; 618 630 619 sai1a: audio-controlle 631 sai1a: audio-controller@4400a004 { 620 compatible = " 632 compatible = "st,stm32-sai-sub-a"; 621 reg = <0x4 0x2 633 reg = <0x4 0x20>; 622 #sound-dai-cel 634 #sound-dai-cells = <0>; 623 clocks = <&rcc 635 clocks = <&rcc SAI1_K>; 624 clock-names = 636 clock-names = "sai_ck"; 625 dmas = <&dmamu 637 dmas = <&dmamux1 87 0x400 0x01>; 626 status = "disa 638 status = "disabled"; 627 }; 639 }; 628 640 629 sai1b: audio-controlle 641 sai1b: audio-controller@4400a024 { 630 compatible = " 642 compatible = "st,stm32-sai-sub-b"; 631 reg = <0x24 0x 643 reg = <0x24 0x20>; 632 #sound-dai-cel 644 #sound-dai-cells = <0>; 633 clocks = <&rcc 645 clocks = <&rcc SAI1_K>; 634 clock-names = 646 clock-names = "sai_ck"; 635 dmas = <&dmamu 647 dmas = <&dmamux1 88 0x400 0x01>; 636 status = "disa 648 status = "disabled"; 637 }; 649 }; 638 }; 650 }; 639 651 640 sai2: sai@4400b000 { 652 sai2: sai@4400b000 { 641 compatible = "st,stm32 653 compatible = "st,stm32h7-sai"; 642 reg = <0x4400b000 0x4> 654 reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>; 643 ranges = <0 0x4400b000 655 ranges = <0 0x4400b000 0x400>; 644 #address-cells = <1>; 656 #address-cells = <1>; 645 #size-cells = <1>; 657 #size-cells = <1>; 646 interrupts = <GIC_SPI 658 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 647 resets = <&rcc SAI2_R> 659 resets = <&rcc SAI2_R>; 648 status = "disabled"; 660 status = "disabled"; 649 661 650 sai2a: audio-controlle 662 sai2a: audio-controller@4400b004 { 651 compatible = " 663 compatible = "st,stm32-sai-sub-a"; 652 reg = <0x4 0x2 664 reg = <0x4 0x20>; 653 #sound-dai-cel 665 #sound-dai-cells = <0>; 654 clocks = <&rcc 666 clocks = <&rcc SAI2_K>; 655 clock-names = 667 clock-names = "sai_ck"; 656 dmas = <&dmamu 668 dmas = <&dmamux1 89 0x400 0x01>; 657 status = "disa 669 status = "disabled"; 658 }; 670 }; 659 671 660 sai2b: audio-controlle 672 sai2b: audio-controller@4400b024 { 661 compatible = " 673 compatible = "st,stm32-sai-sub-b"; 662 reg = <0x24 0x 674 reg = <0x24 0x20>; 663 #sound-dai-cel 675 #sound-dai-cells = <0>; 664 clocks = <&rcc 676 clocks = <&rcc SAI2_K>; 665 clock-names = 677 clock-names = "sai_ck"; 666 dmas = <&dmamu 678 dmas = <&dmamux1 90 0x400 0x01>; 667 status = "disa 679 status = "disabled"; 668 }; 680 }; 669 }; 681 }; 670 682 671 dfsdm: dfsdm@4400d000 { 683 dfsdm: dfsdm@4400d000 { 672 compatible = "st,stm32 684 compatible = "st,stm32mp1-dfsdm"; 673 reg = <0x4400d000 0x80 685 reg = <0x4400d000 0x800>; 674 clocks = <&rcc DFSDM_K 686 clocks = <&rcc DFSDM_K>; 675 clock-names = "dfsdm"; 687 clock-names = "dfsdm"; 676 #address-cells = <1>; 688 #address-cells = <1>; 677 #size-cells = <0>; 689 #size-cells = <0>; 678 status = "disabled"; 690 status = "disabled"; 679 691 680 dfsdm0: filter@0 { 692 dfsdm0: filter@0 { 681 compatible = " 693 compatible = "st,stm32-dfsdm-adc"; 682 reg = <0>; 694 reg = <0>; 683 #io-channel-ce 695 #io-channel-cells = <1>; 684 interrupts = < 696 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 685 dmas = <&dmamu 697 dmas = <&dmamux1 101 0x400 0x01>; 686 dma-names = "r 698 dma-names = "rx"; 687 status = "disa 699 status = "disabled"; 688 }; 700 }; 689 701 690 dfsdm1: filter@1 { 702 dfsdm1: filter@1 { 691 compatible = " 703 compatible = "st,stm32-dfsdm-adc"; 692 reg = <1>; 704 reg = <1>; 693 #io-channel-ce 705 #io-channel-cells = <1>; 694 interrupts = < 706 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 695 dmas = <&dmamu 707 dmas = <&dmamux1 102 0x400 0x01>; 696 dma-names = "r 708 dma-names = "rx"; 697 status = "disa 709 status = "disabled"; 698 }; 710 }; 699 }; 711 }; 700 712 701 dma1: dma-controller@48000000 713 dma1: dma-controller@48000000 { 702 compatible = "st,stm32 714 compatible = "st,stm32-dma"; 703 reg = <0x48000000 0x40 715 reg = <0x48000000 0x400>; 704 interrupts = <GIC_SPI 716 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 705 <GIC_SPI 717 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 706 <GIC_SPI 718 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 707 <GIC_SPI 719 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 708 <GIC_SPI 720 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 709 <GIC_SPI 721 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 710 <GIC_SPI 722 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 711 <GIC_SPI 723 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 712 clocks = <&rcc DMA1>; 724 clocks = <&rcc DMA1>; 713 resets = <&rcc DMA1_R> 725 resets = <&rcc DMA1_R>; 714 #dma-cells = <4>; 726 #dma-cells = <4>; 715 st,mem2mem; 727 st,mem2mem; 716 dma-requests = <8>; 728 dma-requests = <8>; 717 }; 729 }; 718 730 719 dma2: dma-controller@48001000 731 dma2: dma-controller@48001000 { 720 compatible = "st,stm32 732 compatible = "st,stm32-dma"; 721 reg = <0x48001000 0x40 733 reg = <0x48001000 0x400>; 722 interrupts = <GIC_SPI 734 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 723 <GIC_SPI 735 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 724 <GIC_SPI 736 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 725 <GIC_SPI 737 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 726 <GIC_SPI 738 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 727 <GIC_SPI 739 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 728 <GIC_SPI 740 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 729 <GIC_SPI 741 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 730 clocks = <&rcc DMA2>; 742 clocks = <&rcc DMA2>; 731 resets = <&rcc DMA2_R> 743 resets = <&rcc DMA2_R>; 732 #dma-cells = <4>; 744 #dma-cells = <4>; 733 st,mem2mem; 745 st,mem2mem; 734 dma-requests = <8>; 746 dma-requests = <8>; 735 }; 747 }; 736 748 737 dmamux1: dma-router@48002000 { 749 dmamux1: dma-router@48002000 { 738 compatible = "st,stm32 750 compatible = "st,stm32h7-dmamux"; 739 reg = <0x48002000 0x40 751 reg = <0x48002000 0x40>; 740 clocks = <&rcc DMAMUX1 752 clocks = <&rcc DMAMUX1>; 741 resets = <&rcc DMAMUX1 753 resets = <&rcc DMAMUX1_R>; 742 #dma-cells = <3>; 754 #dma-cells = <3>; 743 dma-masters = <&dma1 & 755 dma-masters = <&dma1 &dma2>; 744 dma-requests = <128>; 756 dma-requests = <128>; 745 dma-channels = <16>; 757 dma-channels = <16>; 746 }; 758 }; 747 759 >> 760 adc_2: adc@48004000 { >> 761 compatible = "st,stm32mp13-adc-core"; >> 762 reg = <0x48004000 0x400>; >> 763 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; >> 764 clocks = <&rcc ADC2>, <&rcc ADC2_K>; >> 765 clock-names = "bus", "adc"; >> 766 interrupt-controller; >> 767 #interrupt-cells = <1>; >> 768 #address-cells = <1>; >> 769 #size-cells = <0>; >> 770 status = "disabled"; >> 771 >> 772 adc2: adc@0 { >> 773 compatible = "st,stm32mp13-adc"; >> 774 #io-channel-cells = <1>; >> 775 #address-cells = <1>; >> 776 #size-cells = <0>; >> 777 reg = <0x0>; >> 778 interrupt-parent = <&adc_2>; >> 779 interrupts = <0>; >> 780 dmas = <&dmamux1 10 0x400 0x80000001>; >> 781 dma-names = "rx"; >> 782 status = "disabled"; >> 783 >> 784 channel@13 { >> 785 reg = <13>; >> 786 label = "vrefint"; >> 787 }; >> 788 channel@14 { >> 789 reg = <14>; >> 790 label = "vddcore"; >> 791 }; >> 792 channel@16 { >> 793 reg = <16>; >> 794 label = "vddcpu"; >> 795 }; >> 796 channel@17 { >> 797 reg = <17>; >> 798 label = "vddq_ddr"; >> 799 }; >> 800 }; >> 801 }; >> 802 >> 803 usbotg_hs: usb@49000000 { >> 804 compatible = "st,stm32mp15-hsotg", "snps,dwc2"; >> 805 reg = <0x49000000 0x40000>; >> 806 clocks = <&rcc USBO_K>; >> 807 clock-names = "otg"; >> 808 resets = <&rcc USBO_R>; >> 809 reset-names = "dwc2"; >> 810 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; >> 811 g-rx-fifo-size = <512>; >> 812 g-np-tx-fifo-size = <32>; >> 813 g-tx-fifo-size = <256 16 16 16 16 16 16 16>; >> 814 dr_mode = "otg"; >> 815 otg-rev = <0x200>; >> 816 usb33d-supply = <&usb33>; >> 817 status = "disabled"; >> 818 }; >> 819 >> 820 usart1: serial@4c000000 { >> 821 compatible = "st,stm32h7-uart"; >> 822 reg = <0x4c000000 0x400>; >> 823 interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>; >> 824 clocks = <&rcc USART1_K>; >> 825 resets = <&rcc USART1_R>; >> 826 wakeup-source; >> 827 dmas = <&dmamux1 41 0x400 0x5>, >> 828 <&dmamux1 42 0x400 0x1>; >> 829 dma-names = "rx", "tx"; >> 830 status = "disabled"; >> 831 }; >> 832 >> 833 usart2: serial@4c001000 { >> 834 compatible = "st,stm32h7-uart"; >> 835 reg = <0x4c001000 0x400>; >> 836 interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>; >> 837 clocks = <&rcc USART2_K>; >> 838 resets = <&rcc USART2_R>; >> 839 wakeup-source; >> 840 dmas = <&dmamux1 43 0x400 0x5>, >> 841 <&dmamux1 44 0x400 0x1>; >> 842 dma-names = "rx", "tx"; >> 843 status = "disabled"; >> 844 }; >> 845 >> 846 i2s4: audio-controller@4c002000 { >> 847 compatible = "st,stm32h7-i2s"; >> 848 reg = <0x4c002000 0x400>; >> 849 #sound-dai-cells = <0>; >> 850 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; >> 851 dmas = <&dmamux1 83 0x400 0x01>, >> 852 <&dmamux1 84 0x400 0x01>; >> 853 dma-names = "rx", "tx"; >> 854 status = "disabled"; >> 855 }; >> 856 >> 857 spi4: spi@4c002000 { >> 858 compatible = "st,stm32h7-spi"; >> 859 reg = <0x4c002000 0x400>; >> 860 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; >> 861 clocks = <&rcc SPI4_K>; >> 862 resets = <&rcc SPI4_R>; >> 863 #address-cells = <1>; >> 864 #size-cells = <0>; >> 865 dmas = <&dmamux1 83 0x400 0x01>, >> 866 <&dmamux1 84 0x400 0x01>; >> 867 dma-names = "rx", "tx"; >> 868 status = "disabled"; >> 869 }; >> 870 >> 871 spi5: spi@4c003000 { >> 872 compatible = "st,stm32h7-spi"; >> 873 reg = <0x4c003000 0x400>; >> 874 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; >> 875 clocks = <&rcc SPI5_K>; >> 876 resets = <&rcc SPI5_R>; >> 877 #address-cells = <1>; >> 878 #size-cells = <0>; >> 879 dmas = <&dmamux1 85 0x400 0x01>, >> 880 <&dmamux1 86 0x400 0x01>; >> 881 dma-names = "rx", "tx"; >> 882 status = "disabled"; >> 883 }; >> 884 >> 885 i2c3: i2c@4c004000 { >> 886 compatible = "st,stm32mp13-i2c"; >> 887 reg = <0x4c004000 0x400>; >> 888 interrupt-names = "event", "error"; >> 889 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, >> 890 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; >> 891 clocks = <&rcc I2C3_K>; >> 892 resets = <&rcc I2C3_R>; >> 893 #address-cells = <1>; >> 894 #size-cells = <0>; >> 895 dmas = <&dmamux1 73 0x400 0x1>, >> 896 <&dmamux1 74 0x400 0x1>; >> 897 dma-names = "rx", "tx"; >> 898 st,syscfg-fmp = <&syscfg 0x4 0x4>; >> 899 i2c-analog-filter; >> 900 status = "disabled"; >> 901 }; >> 902 >> 903 i2c4: i2c@4c005000 { >> 904 compatible = "st,stm32mp13-i2c"; >> 905 reg = <0x4c005000 0x400>; >> 906 interrupt-names = "event", "error"; >> 907 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, >> 908 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; >> 909 clocks = <&rcc I2C4_K>; >> 910 resets = <&rcc I2C4_R>; >> 911 #address-cells = <1>; >> 912 #size-cells = <0>; >> 913 dmas = <&dmamux1 75 0x400 0x1>, >> 914 <&dmamux1 76 0x400 0x1>; >> 915 dma-names = "rx", "tx"; >> 916 st,syscfg-fmp = <&syscfg 0x4 0x8>; >> 917 i2c-analog-filter; >> 918 status = "disabled"; >> 919 }; >> 920 >> 921 i2c5: i2c@4c006000 { >> 922 compatible = "st,stm32mp13-i2c"; >> 923 reg = <0x4c006000 0x400>; >> 924 interrupt-names = "event", "error"; >> 925 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, >> 926 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; >> 927 clocks = <&rcc I2C5_K>; >> 928 resets = <&rcc I2C5_R>; >> 929 #address-cells = <1>; >> 930 #size-cells = <0>; >> 931 dmas = <&dmamux1 115 0x400 0x1>, >> 932 <&dmamux1 116 0x400 0x1>; >> 933 dma-names = "rx", "tx"; >> 934 st,syscfg-fmp = <&syscfg 0x4 0x10>; >> 935 i2c-analog-filter; >> 936 status = "disabled"; >> 937 }; >> 938 >> 939 timers12: timer@4c007000 { >> 940 #address-cells = <1>; >> 941 #size-cells = <0>; >> 942 compatible = "st,stm32-timers"; >> 943 reg = <0x4c007000 0x400>; >> 944 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; >> 945 interrupt-names = "global"; >> 946 clocks = <&rcc TIM12_K>; >> 947 clock-names = "int"; >> 948 status = "disabled"; >> 949 >> 950 pwm { >> 951 compatible = "st,stm32-pwm"; >> 952 #pwm-cells = <3>; >> 953 status = "disabled"; >> 954 }; >> 955 >> 956 timer@11 { >> 957 compatible = "st,stm32h7-timer-trigger"; >> 958 reg = <11>; >> 959 status = "disabled"; >> 960 }; >> 961 }; >> 962 >> 963 timers13: timer@4c008000 { >> 964 #address-cells = <1>; >> 965 #size-cells = <0>; >> 966 compatible = "st,stm32-timers"; >> 967 reg = <0x4c008000 0x400>; >> 968 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >> 969 interrupt-names = "global"; >> 970 clocks = <&rcc TIM13_K>; >> 971 clock-names = "int"; >> 972 status = "disabled"; >> 973 >> 974 pwm { >> 975 compatible = "st,stm32-pwm"; >> 976 #pwm-cells = <3>; >> 977 status = "disabled"; >> 978 }; >> 979 >> 980 timer@12 { >> 981 compatible = "st,stm32h7-timer-trigger"; >> 982 reg = <12>; >> 983 status = "disabled"; >> 984 }; >> 985 }; >> 986 >> 987 timers14: timer@4c009000 { >> 988 #address-cells = <1>; >> 989 #size-cells = <0>; >> 990 compatible = "st,stm32-timers"; >> 991 reg = <0x4c009000 0x400>; >> 992 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; >> 993 interrupt-names = "global"; >> 994 clocks = <&rcc TIM14_K>; >> 995 clock-names = "int"; >> 996 status = "disabled"; >> 997 >> 998 pwm { >> 999 compatible = "st,stm32-pwm"; >> 1000 #pwm-cells = <3>; >> 1001 status = "disabled"; >> 1002 }; >> 1003 >> 1004 timer@13 { >> 1005 compatible = "st,stm32h7-timer-trigger"; >> 1006 reg = <13>; >> 1007 status = "disabled"; >> 1008 }; >> 1009 }; >> 1010 >> 1011 timers15: timer@4c00a000 { >> 1012 #address-cells = <1>; >> 1013 #size-cells = <0>; >> 1014 compatible = "st,stm32-timers"; >> 1015 reg = <0x4c00a000 0x400>; >> 1016 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; >> 1017 interrupt-names = "global"; >> 1018 clocks = <&rcc TIM15_K>; >> 1019 clock-names = "int"; >> 1020 dmas = <&dmamux1 105 0x400 0x1>, >> 1021 <&dmamux1 106 0x400 0x1>, >> 1022 <&dmamux1 107 0x400 0x1>, >> 1023 <&dmamux1 108 0x400 0x1>; >> 1024 dma-names = "ch1", "up", "trig", "com"; >> 1025 status = "disabled"; >> 1026 >> 1027 pwm { >> 1028 compatible = "st,stm32-pwm"; >> 1029 #pwm-cells = <3>; >> 1030 status = "disabled"; >> 1031 }; >> 1032 >> 1033 timer@14 { >> 1034 compatible = "st,stm32h7-timer-trigger"; >> 1035 reg = <14>; >> 1036 status = "disabled"; >> 1037 }; >> 1038 }; >> 1039 >> 1040 timers16: timer@4c00b000 { >> 1041 #address-cells = <1>; >> 1042 #size-cells = <0>; >> 1043 compatible = "st,stm32-timers"; >> 1044 reg = <0x4c00b000 0x400>; >> 1045 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; >> 1046 interrupt-names = "global"; >> 1047 clocks = <&rcc TIM16_K>; >> 1048 clock-names = "int"; >> 1049 dmas = <&dmamux1 109 0x400 0x1>, >> 1050 <&dmamux1 110 0x400 0x1>; >> 1051 dma-names = "ch1", "up"; >> 1052 status = "disabled"; >> 1053 >> 1054 pwm { >> 1055 compatible = "st,stm32-pwm"; >> 1056 #pwm-cells = <3>; >> 1057 status = "disabled"; >> 1058 }; >> 1059 >> 1060 timer@15 { >> 1061 compatible = "st,stm32h7-timer-trigger"; >> 1062 reg = <15>; >> 1063 status = "disabled"; >> 1064 }; >> 1065 }; >> 1066 >> 1067 timers17: timer@4c00c000 { >> 1068 #address-cells = <1>; >> 1069 #size-cells = <0>; >> 1070 compatible = "st,stm32-timers"; >> 1071 reg = <0x4c00c000 0x400>; >> 1072 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; >> 1073 interrupt-names = "global"; >> 1074 clocks = <&rcc TIM17_K>; >> 1075 clock-names = "int"; >> 1076 dmas = <&dmamux1 111 0x400 0x1>, >> 1077 <&dmamux1 112 0x400 0x1>; >> 1078 dma-names = "ch1", "up"; >> 1079 status = "disabled"; >> 1080 >> 1081 pwm { >> 1082 compatible = "st,stm32-pwm"; >> 1083 #pwm-cells = <3>; >> 1084 status = "disabled"; >> 1085 }; >> 1086 >> 1087 timer@16 { >> 1088 compatible = "st,stm32h7-timer-trigger"; >> 1089 reg = <16>; >> 1090 status = "disabled"; >> 1091 }; >> 1092 }; >> 1093 748 rcc: rcc@50000000 { 1094 rcc: rcc@50000000 { 749 compatible = "st,stm32 1095 compatible = "st,stm32mp13-rcc", "syscon"; 750 reg = <0x50000000 0x10 1096 reg = <0x50000000 0x1000>; 751 #clock-cells = <1>; 1097 #clock-cells = <1>; 752 #reset-cells = <1>; 1098 #reset-cells = <1>; 753 clock-names = "hse", " 1099 clock-names = "hse", "hsi", "csi", "lse", "lsi"; 754 clocks = <&scmi_clk CK 1100 clocks = <&scmi_clk CK_SCMI_HSE>, 755 <&scmi_clk CK 1101 <&scmi_clk CK_SCMI_HSI>, 756 <&scmi_clk CK 1102 <&scmi_clk CK_SCMI_CSI>, 757 <&scmi_clk CK 1103 <&scmi_clk CK_SCMI_LSE>, 758 <&scmi_clk CK 1104 <&scmi_clk CK_SCMI_LSI>; 759 }; 1105 }; 760 1106 761 pwr_regulators: pwr@50001000 { << 762 compatible = "st,stm32 << 763 reg = <0x50001000 0x10 << 764 status = "disabled"; << 765 << 766 reg11: reg11 { << 767 regulator-name << 768 regulator-min- << 769 regulator-max- << 770 }; << 771 << 772 reg18: reg18 { << 773 regulator-name << 774 regulator-min- << 775 regulator-max- << 776 }; << 777 << 778 usb33: usb33 { << 779 regulator-name << 780 regulator-min- << 781 regulator-max- << 782 }; << 783 }; << 784 << 785 exti: interrupt-controller@500 1107 exti: interrupt-controller@5000d000 { 786 compatible = "st,stm32 !! 1108 compatible = "st,stm32mp13-exti", "syscon"; 787 interrupt-controller; 1109 interrupt-controller; 788 #interrupt-cells = <2> 1110 #interrupt-cells = <2>; 789 reg = <0x5000d000 0x40 1111 reg = <0x5000d000 0x400>; 790 interrupts-extended = << 791 <&intc GIC_SPI << 792 <&intc GIC_SPI << 793 <&intc GIC_SPI << 794 <&intc GIC_SPI << 795 <&intc GIC_SPI << 796 <&intc GIC_SPI << 797 <&intc GIC_SPI << 798 <&intc GIC_SPI << 799 <&intc GIC_SPI << 800 <&intc GIC_SPI << 801 <&intc GIC_SPI << 802 <&intc GIC_SPI << 803 <&intc GIC_SPI << 804 <&intc GIC_SPI << 805 <&intc GIC_SPI << 806 <&intc GIC_SPI << 807 <&intc GIC_SPI << 808 <0>, << 809 <0>, << 810 <&intc GIC_SPI << 811 <0>, << 812 <&intc GIC_SPI << 813 <&intc GIC_SPI << 814 <&intc GIC_SPI << 815 <&intc GIC_SPI << 816 <&intc GIC_SPI << 817 <&intc GIC_SPI << 818 <&intc GIC_SPI << 819 <&intc GIC_SPI << 820 <&intc GIC_SPI << 821 <&intc GIC_SPI << 822 <&intc GIC_SPI << 823 <&intc GIC_SPI << 824 <&intc GIC_SPI << 825 <0>, << 826 <0>, << 827 <0>, << 828 <0>, << 829 <0>, << 830 <0>, << 831 <0>, << 832 <0>, << 833 <0>, << 834 <0>, << 835 <&intc GIC_SPI << 836 <0>, << 837 <0>, << 838 <&intc GIC_SPI << 839 <&intc GIC_SPI << 840 <0>, << 841 <&intc GIC_SPI << 842 <0>, << 843 <&intc GIC_SPI << 844 <&intc GIC_SPI << 845 <0>, << 846 <0>, << 847 <0>, << 848 <0>, << 849 <0>, << 850 <0>, << 851 <0>, << 852 <0>, << 853 <0>, << 854 <0>, << 855 <0>, << 856 <0>, << 857 <0>, << 858 <0>, << 859 <&intc GIC_SPI << 860 <0>, << 861 <&intc GIC_SPI << 862 }; 1112 }; 863 1113 864 syscfg: syscon@50020000 { 1114 syscfg: syscon@50020000 { 865 compatible = "st,stm32 1115 compatible = "st,stm32mp157-syscfg", "syscon"; 866 reg = <0x50020000 0x40 1116 reg = <0x50020000 0x400>; 867 clocks = <&rcc SYSCFG> 1117 clocks = <&rcc SYSCFG>; 868 }; 1118 }; 869 1119 >> 1120 lptimer2: timer@50021000 { >> 1121 #address-cells = <1>; >> 1122 #size-cells = <0>; >> 1123 compatible = "st,stm32-lptimer"; >> 1124 reg = <0x50021000 0x400>; >> 1125 interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>; >> 1126 clocks = <&rcc LPTIM2_K>; >> 1127 clock-names = "mux"; >> 1128 wakeup-source; >> 1129 status = "disabled"; >> 1130 >> 1131 pwm { >> 1132 compatible = "st,stm32-pwm-lp"; >> 1133 #pwm-cells = <3>; >> 1134 status = "disabled"; >> 1135 }; >> 1136 >> 1137 trigger@1 { >> 1138 compatible = "st,stm32-lptimer-trigger"; >> 1139 reg = <1>; >> 1140 status = "disabled"; >> 1141 }; >> 1142 >> 1143 counter { >> 1144 compatible = "st,stm32-lptimer-counter"; >> 1145 status = "disabled"; >> 1146 }; >> 1147 >> 1148 timer { >> 1149 compatible = "st,stm32-lptimer-timer"; >> 1150 status = "disabled"; >> 1151 }; >> 1152 }; >> 1153 >> 1154 lptimer3: timer@50022000 { >> 1155 #address-cells = <1>; >> 1156 #size-cells = <0>; >> 1157 compatible = "st,stm32-lptimer"; >> 1158 reg = <0x50022000 0x400>; >> 1159 interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>; >> 1160 clocks = <&rcc LPTIM3_K>; >> 1161 clock-names = "mux"; >> 1162 wakeup-source; >> 1163 status = "disabled"; >> 1164 >> 1165 pwm { >> 1166 compatible = "st,stm32-pwm-lp"; >> 1167 #pwm-cells = <3>; >> 1168 status = "disabled"; >> 1169 }; >> 1170 >> 1171 trigger@2 { >> 1172 compatible = "st,stm32-lptimer-trigger"; >> 1173 reg = <2>; >> 1174 status = "disabled"; >> 1175 }; >> 1176 >> 1177 timer { >> 1178 compatible = "st,stm32-lptimer-timer"; >> 1179 status = "disabled"; >> 1180 }; >> 1181 }; >> 1182 870 lptimer4: timer@50023000 { 1183 lptimer4: timer@50023000 { 871 compatible = "st,stm32 1184 compatible = "st,stm32-lptimer"; 872 reg = <0x50023000 0x40 1185 reg = <0x50023000 0x400>; 873 interrupts-extended = 1186 interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>; 874 clocks = <&rcc LPTIM4_ 1187 clocks = <&rcc LPTIM4_K>; 875 clock-names = "mux"; 1188 clock-names = "mux"; 876 wakeup-source; 1189 wakeup-source; 877 status = "disabled"; 1190 status = "disabled"; 878 1191 879 pwm { 1192 pwm { 880 compatible = " 1193 compatible = "st,stm32-pwm-lp"; 881 #pwm-cells = < 1194 #pwm-cells = <3>; 882 status = "disa 1195 status = "disabled"; 883 }; 1196 }; 884 1197 885 timer { 1198 timer { 886 compatible = " 1199 compatible = "st,stm32-lptimer-timer"; 887 status = "disa 1200 status = "disabled"; 888 }; 1201 }; 889 }; 1202 }; 890 1203 891 lptimer5: timer@50024000 { 1204 lptimer5: timer@50024000 { 892 compatible = "st,stm32 1205 compatible = "st,stm32-lptimer"; 893 reg = <0x50024000 0x40 1206 reg = <0x50024000 0x400>; 894 interrupts-extended = 1207 interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>; 895 clocks = <&rcc LPTIM5_ 1208 clocks = <&rcc LPTIM5_K>; 896 clock-names = "mux"; 1209 clock-names = "mux"; 897 wakeup-source; 1210 wakeup-source; 898 status = "disabled"; 1211 status = "disabled"; 899 1212 900 pwm { 1213 pwm { 901 compatible = " 1214 compatible = "st,stm32-pwm-lp"; 902 #pwm-cells = < 1215 #pwm-cells = <3>; 903 status = "disa 1216 status = "disabled"; 904 }; 1217 }; 905 1218 906 timer { 1219 timer { 907 compatible = " 1220 compatible = "st,stm32-lptimer-timer"; 908 status = "disa 1221 status = "disabled"; 909 }; 1222 }; 910 }; 1223 }; 911 1224 912 mdma: dma-controller@58000000 1225 mdma: dma-controller@58000000 { 913 compatible = "st,stm32 1226 compatible = "st,stm32h7-mdma"; 914 reg = <0x58000000 0x10 1227 reg = <0x58000000 0x1000>; 915 interrupts = <GIC_SPI 1228 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 916 clocks = <&rcc MDMA>; 1229 clocks = <&rcc MDMA>; 917 #dma-cells = <5>; 1230 #dma-cells = <5>; 918 dma-channels = <32>; 1231 dma-channels = <32>; 919 dma-requests = <48>; 1232 dma-requests = <48>; 920 }; 1233 }; 921 1234 922 crc1: crc@58009000 { !! 1235 fmc: memory-controller@58002000 { 923 compatible = "st,stm32 !! 1236 compatible = "st,stm32mp1-fmc2-ebi"; 924 reg = <0x58009000 0x40 !! 1237 reg = <0x58002000 0x1000>; 925 clocks = <&rcc CRC1>; !! 1238 ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */ >> 1239 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */ >> 1240 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */ >> 1241 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */ >> 1242 <4 0 0x80000000 0x10000000>; /* NAND */ >> 1243 #address-cells = <2>; >> 1244 #size-cells = <1>; >> 1245 clocks = <&rcc FMC_K>; >> 1246 resets = <&rcc FMC_R>; >> 1247 status = "disabled"; >> 1248 >> 1249 nand-controller@4,0 { >> 1250 compatible = "st,stm32mp1-fmc2-nfc"; >> 1251 reg = <4 0x00000000 0x1000>, >> 1252 <4 0x08010000 0x1000>, >> 1253 <4 0x08020000 0x1000>, >> 1254 <4 0x01000000 0x1000>, >> 1255 <4 0x09010000 0x1000>, >> 1256 <4 0x09020000 0x1000>; >> 1257 #address-cells = <1>; >> 1258 #size-cells = <0>; >> 1259 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; >> 1260 dmas = <&mdma 24 0x2 0x12000a02 0x0 0x0>, >> 1261 <&mdma 24 0x2 0x12000a08 0x0 0x0>, >> 1262 <&mdma 25 0x2 0x12000a0a 0x0 0x0>; >> 1263 dma-names = "tx", "rx", "ecc"; >> 1264 status = "disabled"; >> 1265 }; >> 1266 }; >> 1267 >> 1268 qspi: spi@58003000 { >> 1269 compatible = "st,stm32f469-qspi"; >> 1270 reg = <0x58003000 0x1000>, <0x70000000 0x10000000>; >> 1271 reg-names = "qspi", "qspi_mm"; >> 1272 #address-cells = <1>; >> 1273 #size-cells = <0>; >> 1274 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; >> 1275 dmas = <&mdma 26 0x2 0x10100002 0x0 0x0>, >> 1276 <&mdma 26 0x2 0x10100008 0x0 0x0>; >> 1277 dma-names = "tx", "rx"; >> 1278 clocks = <&rcc QSPI_K>; >> 1279 resets = <&rcc QSPI_R>; >> 1280 status = "disabled"; >> 1281 }; >> 1282 >> 1283 sdmmc1: mmc@58005000 { >> 1284 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; >> 1285 arm,primecell-periphid = <0x20253180>; >> 1286 reg = <0x58005000 0x1000>, <0x58006000 0x1000>; >> 1287 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; >> 1288 clocks = <&rcc SDMMC1_K>; >> 1289 clock-names = "apb_pclk"; >> 1290 resets = <&rcc SDMMC1_R>; >> 1291 cap-sd-highspeed; >> 1292 cap-mmc-highspeed; >> 1293 max-frequency = <130000000>; >> 1294 status = "disabled"; >> 1295 }; >> 1296 >> 1297 sdmmc2: mmc@58007000 { >> 1298 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; >> 1299 arm,primecell-periphid = <0x20253180>; >> 1300 reg = <0x58007000 0x1000>, <0x58008000 0x1000>; >> 1301 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; >> 1302 clocks = <&rcc SDMMC2_K>; >> 1303 clock-names = "apb_pclk"; >> 1304 resets = <&rcc SDMMC2_R>; >> 1305 cap-sd-highspeed; >> 1306 cap-mmc-highspeed; >> 1307 max-frequency = <130000000>; 926 status = "disabled"; 1308 status = "disabled"; 927 }; 1309 }; 928 1310 929 usbh_ohci: usb@5800c000 { 1311 usbh_ohci: usb@5800c000 { 930 compatible = "generic- 1312 compatible = "generic-ohci"; 931 reg = <0x5800c000 0x10 1313 reg = <0x5800c000 0x1000>; 932 clocks = <&usbphyc>, < 1314 clocks = <&usbphyc>, <&rcc USBH>; 933 resets = <&rcc USBH_R> 1315 resets = <&rcc USBH_R>; 934 interrupts = <GIC_SPI 1316 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 935 status = "disabled"; 1317 status = "disabled"; 936 }; 1318 }; 937 1319 938 usbh_ehci: usb@5800d000 { 1320 usbh_ehci: usb@5800d000 { 939 compatible = "generic- 1321 compatible = "generic-ehci"; 940 reg = <0x5800d000 0x10 1322 reg = <0x5800d000 0x1000>; 941 clocks = <&usbphyc>, < 1323 clocks = <&usbphyc>, <&rcc USBH>; 942 resets = <&rcc USBH_R> 1324 resets = <&rcc USBH_R>; 943 interrupts = <GIC_SPI 1325 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 944 companion = <&usbh_ohc 1326 companion = <&usbh_ohci>; 945 status = "disabled"; 1327 status = "disabled"; 946 }; 1328 }; 947 1329 948 iwdg2: watchdog@5a002000 { 1330 iwdg2: watchdog@5a002000 { 949 compatible = "st,stm32 1331 compatible = "st,stm32mp1-iwdg"; 950 reg = <0x5a002000 0x40 1332 reg = <0x5a002000 0x400>; 951 clocks = <&rcc IWDG2>, 1333 clocks = <&rcc IWDG2>, <&scmi_clk CK_SCMI_LSI>; 952 clock-names = "pclk", 1334 clock-names = "pclk", "lsi"; 953 status = "disabled"; 1335 status = "disabled"; 954 }; 1336 }; 955 1337 >> 1338 usbphyc: usbphyc@5a006000 { >> 1339 #address-cells = <1>; >> 1340 #size-cells = <0>; >> 1341 #clock-cells = <0>; >> 1342 compatible = "st,stm32mp1-usbphyc"; >> 1343 reg = <0x5a006000 0x1000>; >> 1344 clocks = <&rcc USBPHY_K>; >> 1345 resets = <&rcc USBPHY_R>; >> 1346 vdda1v1-supply = <®11>; >> 1347 vdda1v8-supply = <®18>; >> 1348 status = "disabled"; >> 1349 >> 1350 usbphyc_port0: usb-phy@0 { >> 1351 #phy-cells = <0>; >> 1352 reg = <0>; >> 1353 }; >> 1354 >> 1355 usbphyc_port1: usb-phy@1 { >> 1356 #phy-cells = <1>; >> 1357 reg = <1>; >> 1358 }; >> 1359 }; >> 1360 956 rtc: rtc@5c004000 { 1361 rtc: rtc@5c004000 { 957 compatible = "st,stm32 1362 compatible = "st,stm32mp1-rtc"; 958 reg = <0x5c004000 0x40 1363 reg = <0x5c004000 0x400>; 959 interrupts-extended = 1364 interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>; 960 clocks = <&scmi_clk CK 1365 clocks = <&scmi_clk CK_SCMI_RTCAPB>, 961 <&scmi_clk CK 1366 <&scmi_clk CK_SCMI_RTC>; 962 clock-names = "pclk", 1367 clock-names = "pclk", "rtc_ck"; 963 status = "disabled"; 1368 status = "disabled"; 964 }; 1369 }; 965 1370 966 bsec: efuse@5c005000 { 1371 bsec: efuse@5c005000 { 967 compatible = "st,stm32 1372 compatible = "st,stm32mp13-bsec"; 968 reg = <0x5c005000 0x40 1373 reg = <0x5c005000 0x400>; 969 #address-cells = <1>; 1374 #address-cells = <1>; 970 #size-cells = <1>; 1375 #size-cells = <1>; 971 1376 972 part_number_otp: part_ 1377 part_number_otp: part_number_otp@4 { 973 reg = <0x4 0x2 1378 reg = <0x4 0x2>; 974 bits = <0 12>; 1379 bits = <0 12>; 975 }; 1380 }; 976 ts_cal1: calib@5c { 1381 ts_cal1: calib@5c { 977 reg = <0x5c 0x 1382 reg = <0x5c 0x2>; 978 }; 1383 }; 979 ts_cal2: calib@5e { 1384 ts_cal2: calib@5e { 980 reg = <0x5e 0x 1385 reg = <0x5e 0x2>; 981 }; << 982 ethernet_mac1_address: << 983 reg = <0xe4 0x << 984 }; << 985 ethernet_mac2_address: << 986 reg = <0xea 0x << 987 }; << 988 }; << 989 << 990 etzpc: bus@5c007000 { << 991 compatible = "st,stm32 << 992 reg = <0x5c007000 0x40 << 993 #address-cells = <1>; << 994 #size-cells = <1>; << 995 #access-controller-cel << 996 ranges; << 997 << 998 adc_2: adc@48004000 { << 999 compatible = " << 1000 reg = <0x4800 << 1001 interrupts = << 1002 clocks = <&rc << 1003 clock-names = << 1004 interrupt-con << 1005 #interrupt-ce << 1006 #address-cell << 1007 #size-cells = << 1008 access-contro << 1009 status = "dis << 1010 << 1011 adc2: adc@0 { << 1012 compa << 1013 #io-c << 1014 #addr << 1015 #size << 1016 reg = << 1017 inter << 1018 inter << 1019 dmas << 1020 dma-n << 1021 statu << 1022 << 1023 chann << 1024 << 1025 << 1026 }; << 1027 chann << 1028 << 1029 << 1030 }; << 1031 chann << 1032 << 1033 << 1034 }; << 1035 chann << 1036 << 1037 << 1038 }; << 1039 }; << 1040 }; << 1041 << 1042 usbotg_hs: usb@490000 << 1043 compatible = << 1044 reg = <0x4900 << 1045 clocks = <&rc << 1046 clock-names = << 1047 resets = <&rc << 1048 reset-names = << 1049 interrupts = << 1050 g-rx-fifo-siz << 1051 g-np-tx-fifo- << 1052 g-tx-fifo-siz << 1053 dr_mode = "ot << 1054 otg-rev = <0x << 1055 usb33d-supply << 1056 access-contro << 1057 status = "dis << 1058 }; << 1059 << 1060 usart1: serial@4c0000 << 1061 compatible = << 1062 reg = <0x4c00 << 1063 interrupts-ex << 1064 clocks = <&rc << 1065 resets = <&rc << 1066 wakeup-source << 1067 dmas = <&dmam << 1068 <&dmamux1 42 << 1069 dma-names = " << 1070 access-contro << 1071 status = "dis << 1072 }; << 1073 << 1074 usart2: serial@4c0010 << 1075 compatible = << 1076 reg = <0x4c00 << 1077 interrupts-ex << 1078 clocks = <&rc << 1079 resets = <&rc << 1080 wakeup-source << 1081 dmas = <&dmam << 1082 <&dmamux1 44 << 1083 dma-names = " << 1084 access-contro << 1085 status = "dis << 1086 }; << 1087 << 1088 i2s4: audio-controlle << 1089 compatible = << 1090 reg = <0x4c00 << 1091 #sound-dai-ce << 1092 interrupts = << 1093 dmas = <&dmam << 1094 <&dmamux1 84 << 1095 dma-names = " << 1096 access-contro << 1097 status = "dis << 1098 }; << 1099 << 1100 spi4: spi@4c002000 { << 1101 compatible = << 1102 reg = <0x4c00 << 1103 interrupts = << 1104 clocks = <&rc << 1105 resets = <&rc << 1106 #address-cell << 1107 #size-cells = << 1108 dmas = <&dmam << 1109 <&dmam << 1110 dma-names = " << 1111 access-contro << 1112 status = "dis << 1113 }; << 1114 << 1115 spi5: spi@4c003000 { << 1116 compatible = << 1117 reg = <0x4c00 << 1118 interrupts = << 1119 clocks = <&rc << 1120 resets = <&rc << 1121 #address-cell << 1122 #size-cells = << 1123 dmas = <&dmam << 1124 <&dmam << 1125 dma-names = " << 1126 access-contro << 1127 status = "dis << 1128 }; << 1129 << 1130 i2c3: i2c@4c004000 { << 1131 compatible = << 1132 reg = <0x4c00 << 1133 interrupt-nam << 1134 interrupts = << 1135 << 1136 clocks = <&rc << 1137 resets = <&rc << 1138 #address-cell << 1139 #size-cells = << 1140 dmas = <&dmam << 1141 <&dmam << 1142 dma-names = " << 1143 st,syscfg-fmp << 1144 i2c-analog-fi << 1145 access-contro << 1146 status = "dis << 1147 }; << 1148 << 1149 i2c4: i2c@4c005000 { << 1150 compatible = << 1151 reg = <0x4c00 << 1152 interrupt-nam << 1153 interrupts = << 1154 << 1155 clocks = <&rc << 1156 resets = <&rc << 1157 #address-cell << 1158 #size-cells = << 1159 dmas = <&dmam << 1160 <&dmam << 1161 dma-names = " << 1162 st,syscfg-fmp << 1163 i2c-analog-fi << 1164 access-contro << 1165 status = "dis << 1166 }; << 1167 << 1168 i2c5: i2c@4c006000 { << 1169 compatible = << 1170 reg = <0x4c00 << 1171 interrupt-nam << 1172 interrupts = << 1173 << 1174 clocks = <&rc << 1175 resets = <&rc << 1176 #address-cell << 1177 #size-cells = << 1178 dmas = <&dmam << 1179 <&dmam << 1180 dma-names = " << 1181 st,syscfg-fmp << 1182 i2c-analog-fi << 1183 access-contro << 1184 status = "dis << 1185 }; << 1186 << 1187 timers12: timer@4c007 << 1188 #address-cell << 1189 #size-cells = << 1190 compatible = << 1191 reg = <0x4c00 << 1192 interrupts = << 1193 interrupt-nam << 1194 clocks = <&rc << 1195 clock-names = << 1196 access-contro << 1197 status = "dis << 1198 << 1199 pwm { << 1200 compa << 1201 #pwm- << 1202 statu << 1203 }; << 1204 << 1205 timer@11 { << 1206 compa << 1207 reg = << 1208 statu << 1209 }; << 1210 }; << 1211 << 1212 timers13: timer@4c008 << 1213 #address-cell << 1214 #size-cells = << 1215 compatible = << 1216 reg = <0x4c00 << 1217 interrupts = << 1218 interrupt-nam << 1219 clocks = <&rc << 1220 clock-names = << 1221 access-contro << 1222 status = "dis << 1223 << 1224 pwm { << 1225 compa << 1226 #pwm- << 1227 statu << 1228 }; << 1229 << 1230 timer@12 { << 1231 compa << 1232 reg = << 1233 statu << 1234 }; << 1235 }; << 1236 << 1237 timers14: timer@4c009 << 1238 #address-cell << 1239 #size-cells = << 1240 compatible = << 1241 reg = <0x4c00 << 1242 interrupts = << 1243 interrupt-nam << 1244 clocks = <&rc << 1245 clock-names = << 1246 access-contro << 1247 status = "dis << 1248 << 1249 pwm { << 1250 compa << 1251 #pwm- << 1252 statu << 1253 }; << 1254 << 1255 timer@13 { << 1256 compa << 1257 reg = << 1258 statu << 1259 }; << 1260 }; << 1261 << 1262 timers15: timer@4c00a << 1263 #address-cell << 1264 #size-cells = << 1265 compatible = << 1266 reg = <0x4c00 << 1267 interrupts = << 1268 interrupt-nam << 1269 clocks = <&rc << 1270 clock-names = << 1271 dmas = <&dmam << 1272 <&dmamux1 106 << 1273 <&dmamux1 107 << 1274 <&dmamux1 108 << 1275 dma-names = " << 1276 access-contro << 1277 status = "dis << 1278 << 1279 pwm { << 1280 compa << 1281 #pwm- << 1282 statu << 1283 }; << 1284 << 1285 timer@14 { << 1286 compa << 1287 reg = << 1288 statu << 1289 }; << 1290 }; << 1291 << 1292 timers16: timer@4c00b << 1293 #address-cell << 1294 #size-cells = << 1295 compatible = << 1296 reg = <0x4c00 << 1297 interrupts = << 1298 interrupt-nam << 1299 clocks = <&rc << 1300 clock-names = << 1301 dmas = <&dmam << 1302 <&dmamux1 110 << 1303 dma-names = " << 1304 access-contro << 1305 status = "dis << 1306 << 1307 pwm { << 1308 compa << 1309 #pwm- << 1310 statu << 1311 }; << 1312 << 1313 timer@15 { << 1314 compa << 1315 reg = << 1316 statu << 1317 }; << 1318 }; << 1319 << 1320 timers17: timer@4c00c << 1321 #address-cell << 1322 #size-cells = << 1323 compatible = << 1324 reg = <0x4c00 << 1325 interrupts = << 1326 interrupt-nam << 1327 clocks = <&rc << 1328 clock-names = << 1329 dmas = <&dmam << 1330 <&dmam << 1331 dma-names = " << 1332 access-contro << 1333 status = "dis << 1334 << 1335 pwm { << 1336 compa << 1337 #pwm- << 1338 statu << 1339 }; << 1340 << 1341 timer@16 { << 1342 compa << 1343 reg = << 1344 statu << 1345 }; << 1346 }; << 1347 << 1348 lptimer2: timer@50021 << 1349 #address-cell << 1350 #size-cells = << 1351 compatible = << 1352 reg = <0x5002 << 1353 interrupts-ex << 1354 clocks = <&rc << 1355 clock-names = << 1356 wakeup-source << 1357 access-contro << 1358 status = "dis << 1359 << 1360 pwm { << 1361 compa << 1362 #pwm- << 1363 statu << 1364 }; << 1365 << 1366 trigger@1 { << 1367 compa << 1368 reg = << 1369 statu << 1370 }; << 1371 << 1372 counter { << 1373 compa << 1374 statu << 1375 }; << 1376 << 1377 timer { << 1378 compa << 1379 statu << 1380 }; << 1381 }; << 1382 << 1383 lptimer3: timer@50022 << 1384 #address-cell << 1385 #size-cells = << 1386 compatible = << 1387 reg = <0x5002 << 1388 interrupts-ex << 1389 clocks = <&rc << 1390 clock-names = << 1391 wakeup-source << 1392 access-contro << 1393 status = "dis << 1394 << 1395 pwm { << 1396 compa << 1397 #pwm- << 1398 statu << 1399 }; << 1400 << 1401 trigger@2 { << 1402 compa << 1403 reg = << 1404 statu << 1405 }; << 1406 << 1407 timer { << 1408 compa << 1409 statu << 1410 }; << 1411 }; << 1412 << 1413 hash: hash@54003000 { << 1414 compatible = << 1415 reg = <0x5400 << 1416 interrupts = << 1417 clocks = <&rc << 1418 resets = <&rc << 1419 dmas = <&mdma << 1420 dma-names = " << 1421 access-contro << 1422 status = "dis << 1423 }; << 1424 << 1425 rng: rng@54004000 { << 1426 compatible = << 1427 reg = <0x5400 << 1428 clocks = <&rc << 1429 resets = <&rc << 1430 access-contro << 1431 status = "dis << 1432 }; << 1433 << 1434 fmc: memory-controlle << 1435 compatible = << 1436 reg = <0x5800 << 1437 ranges = <0 0 << 1438 <1 0 << 1439 <2 0 << 1440 <3 0 << 1441 <4 0 << 1442 #address-cell << 1443 #size-cells = << 1444 clocks = <&rc << 1445 resets = <&rc << 1446 access-contro << 1447 status = "dis << 1448 << 1449 nand-controll << 1450 compa << 1451 reg = << 1452 << 1453 << 1454 << 1455 << 1456 << 1457 #addr << 1458 #size << 1459 inter << 1460 dmas << 1461 << 1462 << 1463 dma-n << 1464 statu << 1465 }; << 1466 }; << 1467 << 1468 qspi: spi@58003000 { << 1469 compatible = << 1470 reg = <0x5800 << 1471 reg-names = " << 1472 #address-cell << 1473 #size-cells = << 1474 interrupts = << 1475 dmas = <&mdma << 1476 <&mdma << 1477 dma-names = " << 1478 clocks = <&rc << 1479 resets = <&rc << 1480 access-contro << 1481 status = "dis << 1482 }; << 1483 << 1484 sdmmc1: mmc@58005000 << 1485 compatible = << 1486 arm,primecell << 1487 reg = <0x5800 << 1488 interrupts = << 1489 clocks = <&rc << 1490 clock-names = << 1491 resets = <&rc << 1492 cap-sd-highsp << 1493 cap-mmc-highs << 1494 max-frequency << 1495 access-contro << 1496 status = "dis << 1497 }; << 1498 << 1499 sdmmc2: mmc@58007000 << 1500 compatible = << 1501 arm,primecell << 1502 reg = <0x5800 << 1503 interrupts = << 1504 clocks = <&rc << 1505 clock-names = << 1506 resets = <&rc << 1507 cap-sd-highsp << 1508 cap-mmc-highs << 1509 max-frequency << 1510 access-contro << 1511 status = "dis << 1512 }; << 1513 << 1514 ethernet1: ethernet@5 << 1515 compatible = << 1516 reg = <0x5800 << 1517 reg-names = " << 1518 interrupts-ex << 1519 << 1520 interrupt-nam << 1521 clock-names = << 1522 << 1523 << 1524 << 1525 << 1526 clocks = <&rc << 1527 <&rc << 1528 <&rc << 1529 <&rc << 1530 <&rc << 1531 st,syscon = < << 1532 snps,mixed-bu << 1533 snps,pbl = <2 << 1534 snps,axi-conf << 1535 snps,tso; << 1536 access-contro << 1537 status = "dis << 1538 << 1539 stmmac_axi_co << 1540 snps, << 1541 snps, << 1542 snps, << 1543 }; << 1544 }; << 1545 << 1546 usbphyc: usbphyc@5a00 << 1547 #address-cell << 1548 #size-cells = << 1549 #clock-cells << 1550 compatible = << 1551 reg = <0x5a00 << 1552 clocks = <&rc << 1553 resets = <&rc << 1554 vdda1v1-suppl << 1555 vdda1v8-suppl << 1556 access-contro << 1557 status = "dis << 1558 << 1559 usbphyc_port0 << 1560 #phy- << 1561 reg = << 1562 }; << 1563 << 1564 usbphyc_port1 << 1565 #phy- << 1566 reg = << 1567 }; << 1568 }; 1386 }; 1569 }; 1387 }; 1570 1388 1571 /* 1389 /* 1572 * Break node order to solve 1390 * Break node order to solve dependency probe issue between 1573 * pinctrl and exti. 1391 * pinctrl and exti. 1574 */ 1392 */ 1575 pinctrl: pinctrl@50002000 { 1393 pinctrl: pinctrl@50002000 { 1576 #address-cells = <1>; 1394 #address-cells = <1>; 1577 #size-cells = <1>; 1395 #size-cells = <1>; 1578 compatible = "st,stm3 1396 compatible = "st,stm32mp135-pinctrl"; 1579 ranges = <0 0x5000200 1397 ranges = <0 0x50002000 0x8400>; 1580 interrupt-parent = <& 1398 interrupt-parent = <&exti>; 1581 st,syscfg = <&exti 0x 1399 st,syscfg = <&exti 0x60 0xff>; 1582 1400 1583 gpioa: gpio@50002000 1401 gpioa: gpio@50002000 { 1584 gpio-controll 1402 gpio-controller; 1585 #gpio-cells = 1403 #gpio-cells = <2>; 1586 interrupt-con 1404 interrupt-controller; 1587 #interrupt-ce 1405 #interrupt-cells = <2>; 1588 reg = <0x0 0x 1406 reg = <0x0 0x400>; 1589 clocks = <&rc 1407 clocks = <&rcc GPIOA>; 1590 st,bank-name 1408 st,bank-name = "GPIOA"; 1591 ngpios = <16> 1409 ngpios = <16>; 1592 gpio-ranges = 1410 gpio-ranges = <&pinctrl 0 0 16>; 1593 }; 1411 }; 1594 1412 1595 gpiob: gpio@50003000 1413 gpiob: gpio@50003000 { 1596 gpio-controll 1414 gpio-controller; 1597 #gpio-cells = 1415 #gpio-cells = <2>; 1598 interrupt-con 1416 interrupt-controller; 1599 #interrupt-ce 1417 #interrupt-cells = <2>; 1600 reg = <0x1000 1418 reg = <0x1000 0x400>; 1601 clocks = <&rc 1419 clocks = <&rcc GPIOB>; 1602 st,bank-name 1420 st,bank-name = "GPIOB"; 1603 ngpios = <16> 1421 ngpios = <16>; 1604 gpio-ranges = 1422 gpio-ranges = <&pinctrl 0 16 16>; 1605 }; 1423 }; 1606 1424 1607 gpioc: gpio@50004000 1425 gpioc: gpio@50004000 { 1608 gpio-controll 1426 gpio-controller; 1609 #gpio-cells = 1427 #gpio-cells = <2>; 1610 interrupt-con 1428 interrupt-controller; 1611 #interrupt-ce 1429 #interrupt-cells = <2>; 1612 reg = <0x2000 1430 reg = <0x2000 0x400>; 1613 clocks = <&rc 1431 clocks = <&rcc GPIOC>; 1614 st,bank-name 1432 st,bank-name = "GPIOC"; 1615 ngpios = <16> 1433 ngpios = <16>; 1616 gpio-ranges = 1434 gpio-ranges = <&pinctrl 0 32 16>; 1617 }; 1435 }; 1618 1436 1619 gpiod: gpio@50005000 1437 gpiod: gpio@50005000 { 1620 gpio-controll 1438 gpio-controller; 1621 #gpio-cells = 1439 #gpio-cells = <2>; 1622 interrupt-con 1440 interrupt-controller; 1623 #interrupt-ce 1441 #interrupt-cells = <2>; 1624 reg = <0x3000 1442 reg = <0x3000 0x400>; 1625 clocks = <&rc 1443 clocks = <&rcc GPIOD>; 1626 st,bank-name 1444 st,bank-name = "GPIOD"; 1627 ngpios = <16> 1445 ngpios = <16>; 1628 gpio-ranges = 1446 gpio-ranges = <&pinctrl 0 48 16>; 1629 }; 1447 }; 1630 1448 1631 gpioe: gpio@50006000 1449 gpioe: gpio@50006000 { 1632 gpio-controll 1450 gpio-controller; 1633 #gpio-cells = 1451 #gpio-cells = <2>; 1634 interrupt-con 1452 interrupt-controller; 1635 #interrupt-ce 1453 #interrupt-cells = <2>; 1636 reg = <0x4000 1454 reg = <0x4000 0x400>; 1637 clocks = <&rc 1455 clocks = <&rcc GPIOE>; 1638 st,bank-name 1456 st,bank-name = "GPIOE"; 1639 ngpios = <16> 1457 ngpios = <16>; 1640 gpio-ranges = 1458 gpio-ranges = <&pinctrl 0 64 16>; 1641 }; 1459 }; 1642 1460 1643 gpiof: gpio@50007000 1461 gpiof: gpio@50007000 { 1644 gpio-controll 1462 gpio-controller; 1645 #gpio-cells = 1463 #gpio-cells = <2>; 1646 interrupt-con 1464 interrupt-controller; 1647 #interrupt-ce 1465 #interrupt-cells = <2>; 1648 reg = <0x5000 1466 reg = <0x5000 0x400>; 1649 clocks = <&rc 1467 clocks = <&rcc GPIOF>; 1650 st,bank-name 1468 st,bank-name = "GPIOF"; 1651 ngpios = <16> 1469 ngpios = <16>; 1652 gpio-ranges = 1470 gpio-ranges = <&pinctrl 0 80 16>; 1653 }; 1471 }; 1654 1472 1655 gpiog: gpio@50008000 1473 gpiog: gpio@50008000 { 1656 gpio-controll 1474 gpio-controller; 1657 #gpio-cells = 1475 #gpio-cells = <2>; 1658 interrupt-con 1476 interrupt-controller; 1659 #interrupt-ce 1477 #interrupt-cells = <2>; 1660 reg = <0x6000 1478 reg = <0x6000 0x400>; 1661 clocks = <&rc 1479 clocks = <&rcc GPIOG>; 1662 st,bank-name 1480 st,bank-name = "GPIOG"; 1663 ngpios = <16> 1481 ngpios = <16>; 1664 gpio-ranges = 1482 gpio-ranges = <&pinctrl 0 96 16>; 1665 }; 1483 }; 1666 1484 1667 gpioh: gpio@50009000 1485 gpioh: gpio@50009000 { 1668 gpio-controll 1486 gpio-controller; 1669 #gpio-cells = 1487 #gpio-cells = <2>; 1670 interrupt-con 1488 interrupt-controller; 1671 #interrupt-ce 1489 #interrupt-cells = <2>; 1672 reg = <0x7000 1490 reg = <0x7000 0x400>; 1673 clocks = <&rc 1491 clocks = <&rcc GPIOH>; 1674 st,bank-name 1492 st,bank-name = "GPIOH"; 1675 ngpios = <15> 1493 ngpios = <15>; 1676 gpio-ranges = 1494 gpio-ranges = <&pinctrl 0 112 15>; 1677 }; 1495 }; 1678 1496 1679 gpioi: gpio@5000a000 1497 gpioi: gpio@5000a000 { 1680 gpio-controll 1498 gpio-controller; 1681 #gpio-cells = 1499 #gpio-cells = <2>; 1682 interrupt-con 1500 interrupt-controller; 1683 #interrupt-ce 1501 #interrupt-cells = <2>; 1684 reg = <0x8000 1502 reg = <0x8000 0x400>; 1685 clocks = <&rc 1503 clocks = <&rcc GPIOI>; 1686 st,bank-name 1504 st,bank-name = "GPIOI"; 1687 ngpios = <8>; 1505 ngpios = <8>; 1688 gpio-ranges = 1506 gpio-ranges = <&pinctrl 0 128 8>; 1689 }; 1507 }; 1690 }; 1508 }; 1691 }; 1509 }; 1692 }; 1510 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.