1*724ba675SRob Herring/* 2*724ba675SRob Herring * Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com> 3*724ba675SRob Herring * 4*724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms 5*724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual 6*724ba675SRob Herring * licensing only applies to this file, and not this project as a 7*724ba675SRob Herring * whole. 8*724ba675SRob Herring * 9*724ba675SRob Herring * a) This file is free software; you can redistribute it and/or 10*724ba675SRob Herring * modify it under the terms of the GNU General Public License as 11*724ba675SRob Herring * published by the Free Software Foundation; either version 2 of the 12*724ba675SRob Herring * License, or (at your option) any later version. 13*724ba675SRob Herring * 14*724ba675SRob Herring * This file is distributed in the hope that it will be useful, 15*724ba675SRob Herring * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*724ba675SRob Herring * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*724ba675SRob Herring * GNU General Public License for more details. 18*724ba675SRob Herring * 19*724ba675SRob Herring * Or, alternatively, 20*724ba675SRob Herring * 21*724ba675SRob Herring * b) Permission is hereby granted, free of charge, to any person 22*724ba675SRob Herring * obtaining a copy of this software and associated documentation 23*724ba675SRob Herring * files (the "Software"), to deal in the Software without 24*724ba675SRob Herring * restriction, including without limitation the rights to use, 25*724ba675SRob Herring * copy, modify, merge, publish, distribute, sublicense, and/or 26*724ba675SRob Herring * sell copies of the Software, and to permit persons to whom the 27*724ba675SRob Herring * Software is furnished to do so, subject to the following 28*724ba675SRob Herring * conditions: 29*724ba675SRob Herring * 30*724ba675SRob Herring * The above copyright notice and this permission notice shall be 31*724ba675SRob Herring * included in all copies or substantial portions of the Software. 32*724ba675SRob Herring * 33*724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34*724ba675SRob Herring * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35*724ba675SRob Herring * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36*724ba675SRob Herring * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37*724ba675SRob Herring * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38*724ba675SRob Herring * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39*724ba675SRob Herring * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40*724ba675SRob Herring * OTHER DEALINGS IN THE SOFTWARE. 41*724ba675SRob Herring */ 42*724ba675SRob Herring 43*724ba675SRob Herring#include "../armv7-m.dtsi" 44*724ba675SRob Herring#include <dt-bindings/clock/stm32h7-clks.h> 45*724ba675SRob Herring#include <dt-bindings/mfd/stm32h7-rcc.h> 46*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 47*724ba675SRob Herring 48*724ba675SRob Herring/ { 49*724ba675SRob Herring #address-cells = <1>; 50*724ba675SRob Herring #size-cells = <1>; 51*724ba675SRob Herring 52*724ba675SRob Herring clocks { 53*724ba675SRob Herring clk_hse: clk-hse { 54*724ba675SRob Herring #clock-cells = <0>; 55*724ba675SRob Herring compatible = "fixed-clock"; 56*724ba675SRob Herring clock-frequency = <0>; 57*724ba675SRob Herring }; 58*724ba675SRob Herring 59*724ba675SRob Herring clk_lse: clk-lse { 60*724ba675SRob Herring #clock-cells = <0>; 61*724ba675SRob Herring compatible = "fixed-clock"; 62*724ba675SRob Herring clock-frequency = <32768>; 63*724ba675SRob Herring }; 64*724ba675SRob Herring 65*724ba675SRob Herring clk_i2s: i2s_ckin { 66*724ba675SRob Herring #clock-cells = <0>; 67*724ba675SRob Herring compatible = "fixed-clock"; 68*724ba675SRob Herring clock-frequency = <0>; 69*724ba675SRob Herring }; 70*724ba675SRob Herring }; 71*724ba675SRob Herring 72*724ba675SRob Herring soc { 73*724ba675SRob Herring timer5: timer@40000c00 { 74*724ba675SRob Herring compatible = "st,stm32-timer"; 75*724ba675SRob Herring reg = <0x40000c00 0x400>; 76*724ba675SRob Herring interrupts = <50>; 77*724ba675SRob Herring clocks = <&rcc TIM5_CK>; 78*724ba675SRob Herring }; 79*724ba675SRob Herring 80*724ba675SRob Herring lptimer1: timer@40002400 { 81*724ba675SRob Herring #address-cells = <1>; 82*724ba675SRob Herring #size-cells = <0>; 83*724ba675SRob Herring compatible = "st,stm32-lptimer"; 84*724ba675SRob Herring reg = <0x40002400 0x400>; 85*724ba675SRob Herring clocks = <&rcc LPTIM1_CK>; 86*724ba675SRob Herring clock-names = "mux"; 87*724ba675SRob Herring status = "disabled"; 88*724ba675SRob Herring 89*724ba675SRob Herring pwm { 90*724ba675SRob Herring compatible = "st,stm32-pwm-lp"; 91*724ba675SRob Herring #pwm-cells = <3>; 92*724ba675SRob Herring status = "disabled"; 93*724ba675SRob Herring }; 94*724ba675SRob Herring 95*724ba675SRob Herring trigger@0 { 96*724ba675SRob Herring compatible = "st,stm32-lptimer-trigger"; 97*724ba675SRob Herring reg = <0>; 98*724ba675SRob Herring status = "disabled"; 99*724ba675SRob Herring }; 100*724ba675SRob Herring 101*724ba675SRob Herring counter { 102*724ba675SRob Herring compatible = "st,stm32-lptimer-counter"; 103*724ba675SRob Herring status = "disabled"; 104*724ba675SRob Herring }; 105*724ba675SRob Herring }; 106*724ba675SRob Herring 107*724ba675SRob Herring spi2: spi@40003800 { 108*724ba675SRob Herring #address-cells = <1>; 109*724ba675SRob Herring #size-cells = <0>; 110*724ba675SRob Herring compatible = "st,stm32h7-spi"; 111*724ba675SRob Herring reg = <0x40003800 0x400>; 112*724ba675SRob Herring interrupts = <36>; 113*724ba675SRob Herring resets = <&rcc STM32H7_APB1L_RESET(SPI2)>; 114*724ba675SRob Herring clocks = <&rcc SPI2_CK>; 115*724ba675SRob Herring status = "disabled"; 116*724ba675SRob Herring 117*724ba675SRob Herring }; 118*724ba675SRob Herring 119*724ba675SRob Herring spi3: spi@40003c00 { 120*724ba675SRob Herring #address-cells = <1>; 121*724ba675SRob Herring #size-cells = <0>; 122*724ba675SRob Herring compatible = "st,stm32h7-spi"; 123*724ba675SRob Herring reg = <0x40003c00 0x400>; 124*724ba675SRob Herring interrupts = <51>; 125*724ba675SRob Herring resets = <&rcc STM32H7_APB1L_RESET(SPI3)>; 126*724ba675SRob Herring clocks = <&rcc SPI3_CK>; 127*724ba675SRob Herring status = "disabled"; 128*724ba675SRob Herring }; 129*724ba675SRob Herring 130*724ba675SRob Herring usart2: serial@40004400 { 131*724ba675SRob Herring compatible = "st,stm32h7-uart"; 132*724ba675SRob Herring reg = <0x40004400 0x400>; 133*724ba675SRob Herring interrupts = <38>; 134*724ba675SRob Herring status = "disabled"; 135*724ba675SRob Herring clocks = <&rcc USART2_CK>; 136*724ba675SRob Herring }; 137*724ba675SRob Herring 138*724ba675SRob Herring usart3: serial@40004800 { 139*724ba675SRob Herring compatible = "st,stm32h7-uart"; 140*724ba675SRob Herring reg = <0x40004800 0x400>; 141*724ba675SRob Herring interrupts = <39>; 142*724ba675SRob Herring status = "disabled"; 143*724ba675SRob Herring clocks = <&rcc USART3_CK>; 144*724ba675SRob Herring }; 145*724ba675SRob Herring 146*724ba675SRob Herring uart4: serial@40004c00 { 147*724ba675SRob Herring compatible = "st,stm32h7-uart"; 148*724ba675SRob Herring reg = <0x40004c00 0x400>; 149*724ba675SRob Herring interrupts = <52>; 150*724ba675SRob Herring status = "disabled"; 151*724ba675SRob Herring clocks = <&rcc UART4_CK>; 152*724ba675SRob Herring }; 153*724ba675SRob Herring 154*724ba675SRob Herring i2c1: i2c@40005400 { 155*724ba675SRob Herring compatible = "st,stm32f7-i2c"; 156*724ba675SRob Herring #address-cells = <1>; 157*724ba675SRob Herring #size-cells = <0>; 158*724ba675SRob Herring reg = <0x40005400 0x400>; 159*724ba675SRob Herring interrupts = <31>, 160*724ba675SRob Herring <32>; 161*724ba675SRob Herring resets = <&rcc STM32H7_APB1L_RESET(I2C1)>; 162*724ba675SRob Herring clocks = <&rcc I2C1_CK>; 163*724ba675SRob Herring status = "disabled"; 164*724ba675SRob Herring }; 165*724ba675SRob Herring 166*724ba675SRob Herring i2c2: i2c@40005800 { 167*724ba675SRob Herring compatible = "st,stm32f7-i2c"; 168*724ba675SRob Herring #address-cells = <1>; 169*724ba675SRob Herring #size-cells = <0>; 170*724ba675SRob Herring reg = <0x40005800 0x400>; 171*724ba675SRob Herring interrupts = <33>, 172*724ba675SRob Herring <34>; 173*724ba675SRob Herring resets = <&rcc STM32H7_APB1L_RESET(I2C2)>; 174*724ba675SRob Herring clocks = <&rcc I2C2_CK>; 175*724ba675SRob Herring status = "disabled"; 176*724ba675SRob Herring }; 177*724ba675SRob Herring 178*724ba675SRob Herring i2c3: i2c@40005c00 { 179*724ba675SRob Herring compatible = "st,stm32f7-i2c"; 180*724ba675SRob Herring #address-cells = <1>; 181*724ba675SRob Herring #size-cells = <0>; 182*724ba675SRob Herring reg = <0x40005C00 0x400>; 183*724ba675SRob Herring interrupts = <72>, 184*724ba675SRob Herring <73>; 185*724ba675SRob Herring resets = <&rcc STM32H7_APB1L_RESET(I2C3)>; 186*724ba675SRob Herring clocks = <&rcc I2C3_CK>; 187*724ba675SRob Herring status = "disabled"; 188*724ba675SRob Herring }; 189*724ba675SRob Herring 190*724ba675SRob Herring dac: dac@40007400 { 191*724ba675SRob Herring compatible = "st,stm32h7-dac-core"; 192*724ba675SRob Herring reg = <0x40007400 0x400>; 193*724ba675SRob Herring clocks = <&rcc DAC12_CK>; 194*724ba675SRob Herring clock-names = "pclk"; 195*724ba675SRob Herring #address-cells = <1>; 196*724ba675SRob Herring #size-cells = <0>; 197*724ba675SRob Herring status = "disabled"; 198*724ba675SRob Herring 199*724ba675SRob Herring dac1: dac@1 { 200*724ba675SRob Herring compatible = "st,stm32-dac"; 201*724ba675SRob Herring #io-channel-cells = <1>; 202*724ba675SRob Herring reg = <1>; 203*724ba675SRob Herring status = "disabled"; 204*724ba675SRob Herring }; 205*724ba675SRob Herring 206*724ba675SRob Herring dac2: dac@2 { 207*724ba675SRob Herring compatible = "st,stm32-dac"; 208*724ba675SRob Herring #io-channel-cells = <1>; 209*724ba675SRob Herring reg = <2>; 210*724ba675SRob Herring status = "disabled"; 211*724ba675SRob Herring }; 212*724ba675SRob Herring }; 213*724ba675SRob Herring 214*724ba675SRob Herring usart1: serial@40011000 { 215*724ba675SRob Herring compatible = "st,stm32h7-uart"; 216*724ba675SRob Herring reg = <0x40011000 0x400>; 217*724ba675SRob Herring interrupts = <37>; 218*724ba675SRob Herring status = "disabled"; 219*724ba675SRob Herring clocks = <&rcc USART1_CK>; 220*724ba675SRob Herring }; 221*724ba675SRob Herring 222*724ba675SRob Herring spi1: spi@40013000 { 223*724ba675SRob Herring #address-cells = <1>; 224*724ba675SRob Herring #size-cells = <0>; 225*724ba675SRob Herring compatible = "st,stm32h7-spi"; 226*724ba675SRob Herring reg = <0x40013000 0x400>; 227*724ba675SRob Herring interrupts = <35>; 228*724ba675SRob Herring resets = <&rcc STM32H7_APB2_RESET(SPI1)>; 229*724ba675SRob Herring clocks = <&rcc SPI1_CK>; 230*724ba675SRob Herring status = "disabled"; 231*724ba675SRob Herring }; 232*724ba675SRob Herring 233*724ba675SRob Herring spi4: spi@40013400 { 234*724ba675SRob Herring #address-cells = <1>; 235*724ba675SRob Herring #size-cells = <0>; 236*724ba675SRob Herring compatible = "st,stm32h7-spi"; 237*724ba675SRob Herring reg = <0x40013400 0x400>; 238*724ba675SRob Herring interrupts = <84>; 239*724ba675SRob Herring resets = <&rcc STM32H7_APB2_RESET(SPI4)>; 240*724ba675SRob Herring clocks = <&rcc SPI4_CK>; 241*724ba675SRob Herring status = "disabled"; 242*724ba675SRob Herring }; 243*724ba675SRob Herring 244*724ba675SRob Herring spi5: spi@40015000 { 245*724ba675SRob Herring #address-cells = <1>; 246*724ba675SRob Herring #size-cells = <0>; 247*724ba675SRob Herring compatible = "st,stm32h7-spi"; 248*724ba675SRob Herring reg = <0x40015000 0x400>; 249*724ba675SRob Herring interrupts = <85>; 250*724ba675SRob Herring resets = <&rcc STM32H7_APB2_RESET(SPI5)>; 251*724ba675SRob Herring clocks = <&rcc SPI5_CK>; 252*724ba675SRob Herring status = "disabled"; 253*724ba675SRob Herring }; 254*724ba675SRob Herring 255*724ba675SRob Herring dma1: dma-controller@40020000 { 256*724ba675SRob Herring compatible = "st,stm32-dma"; 257*724ba675SRob Herring reg = <0x40020000 0x400>; 258*724ba675SRob Herring interrupts = <11>, 259*724ba675SRob Herring <12>, 260*724ba675SRob Herring <13>, 261*724ba675SRob Herring <14>, 262*724ba675SRob Herring <15>, 263*724ba675SRob Herring <16>, 264*724ba675SRob Herring <17>, 265*724ba675SRob Herring <47>; 266*724ba675SRob Herring clocks = <&rcc DMA1_CK>; 267*724ba675SRob Herring #dma-cells = <4>; 268*724ba675SRob Herring st,mem2mem; 269*724ba675SRob Herring dma-requests = <8>; 270*724ba675SRob Herring status = "disabled"; 271*724ba675SRob Herring }; 272*724ba675SRob Herring 273*724ba675SRob Herring dma2: dma-controller@40020400 { 274*724ba675SRob Herring compatible = "st,stm32-dma"; 275*724ba675SRob Herring reg = <0x40020400 0x400>; 276*724ba675SRob Herring interrupts = <56>, 277*724ba675SRob Herring <57>, 278*724ba675SRob Herring <58>, 279*724ba675SRob Herring <59>, 280*724ba675SRob Herring <60>, 281*724ba675SRob Herring <68>, 282*724ba675SRob Herring <69>, 283*724ba675SRob Herring <70>; 284*724ba675SRob Herring clocks = <&rcc DMA2_CK>; 285*724ba675SRob Herring #dma-cells = <4>; 286*724ba675SRob Herring st,mem2mem; 287*724ba675SRob Herring dma-requests = <8>; 288*724ba675SRob Herring status = "disabled"; 289*724ba675SRob Herring }; 290*724ba675SRob Herring 291*724ba675SRob Herring dmamux1: dma-router@40020800 { 292*724ba675SRob Herring compatible = "st,stm32h7-dmamux"; 293*724ba675SRob Herring reg = <0x40020800 0x40>; 294*724ba675SRob Herring #dma-cells = <3>; 295*724ba675SRob Herring dma-channels = <16>; 296*724ba675SRob Herring dma-requests = <128>; 297*724ba675SRob Herring dma-masters = <&dma1 &dma2>; 298*724ba675SRob Herring clocks = <&rcc DMA1_CK>; 299*724ba675SRob Herring }; 300*724ba675SRob Herring 301*724ba675SRob Herring adc_12: adc@40022000 { 302*724ba675SRob Herring compatible = "st,stm32h7-adc-core"; 303*724ba675SRob Herring reg = <0x40022000 0x400>; 304*724ba675SRob Herring interrupts = <18>; 305*724ba675SRob Herring clocks = <&rcc ADC12_CK>; 306*724ba675SRob Herring clock-names = "bus"; 307*724ba675SRob Herring interrupt-controller; 308*724ba675SRob Herring #interrupt-cells = <1>; 309*724ba675SRob Herring #address-cells = <1>; 310*724ba675SRob Herring #size-cells = <0>; 311*724ba675SRob Herring status = "disabled"; 312*724ba675SRob Herring 313*724ba675SRob Herring adc1: adc@0 { 314*724ba675SRob Herring compatible = "st,stm32h7-adc"; 315*724ba675SRob Herring #io-channel-cells = <1>; 316*724ba675SRob Herring reg = <0x0>; 317*724ba675SRob Herring interrupt-parent = <&adc_12>; 318*724ba675SRob Herring interrupts = <0>; 319*724ba675SRob Herring status = "disabled"; 320*724ba675SRob Herring }; 321*724ba675SRob Herring 322*724ba675SRob Herring adc2: adc@100 { 323*724ba675SRob Herring compatible = "st,stm32h7-adc"; 324*724ba675SRob Herring #io-channel-cells = <1>; 325*724ba675SRob Herring reg = <0x100>; 326*724ba675SRob Herring interrupt-parent = <&adc_12>; 327*724ba675SRob Herring interrupts = <1>; 328*724ba675SRob Herring status = "disabled"; 329*724ba675SRob Herring }; 330*724ba675SRob Herring }; 331*724ba675SRob Herring 332*724ba675SRob Herring usbotg_hs: usb@40040000 { 333*724ba675SRob Herring compatible = "st,stm32f7-hsotg"; 334*724ba675SRob Herring reg = <0x40040000 0x40000>; 335*724ba675SRob Herring interrupts = <77>; 336*724ba675SRob Herring clocks = <&rcc USB1OTG_CK>; 337*724ba675SRob Herring clock-names = "otg"; 338*724ba675SRob Herring g-rx-fifo-size = <256>; 339*724ba675SRob Herring g-np-tx-fifo-size = <32>; 340*724ba675SRob Herring g-tx-fifo-size = <128 128 64 64 64 64 32 32>; 341*724ba675SRob Herring status = "disabled"; 342*724ba675SRob Herring }; 343*724ba675SRob Herring 344*724ba675SRob Herring usbotg_fs: usb@40080000 { 345*724ba675SRob Herring compatible = "st,stm32f4x9-fsotg"; 346*724ba675SRob Herring reg = <0x40080000 0x40000>; 347*724ba675SRob Herring interrupts = <101>; 348*724ba675SRob Herring clocks = <&rcc USB2OTG_CK>; 349*724ba675SRob Herring clock-names = "otg"; 350*724ba675SRob Herring status = "disabled"; 351*724ba675SRob Herring }; 352*724ba675SRob Herring 353*724ba675SRob Herring ltdc: display-controller@50001000 { 354*724ba675SRob Herring compatible = "st,stm32-ltdc"; 355*724ba675SRob Herring reg = <0x50001000 0x200>; 356*724ba675SRob Herring interrupts = <88>, <89>; 357*724ba675SRob Herring resets = <&rcc STM32H7_APB3_RESET(LTDC)>; 358*724ba675SRob Herring clocks = <&rcc LTDC_CK>; 359*724ba675SRob Herring clock-names = "lcd"; 360*724ba675SRob Herring status = "disabled"; 361*724ba675SRob Herring }; 362*724ba675SRob Herring 363*724ba675SRob Herring mdma1: dma-controller@52000000 { 364*724ba675SRob Herring compatible = "st,stm32h7-mdma"; 365*724ba675SRob Herring reg = <0x52000000 0x1000>; 366*724ba675SRob Herring interrupts = <122>; 367*724ba675SRob Herring clocks = <&rcc MDMA_CK>; 368*724ba675SRob Herring #dma-cells = <5>; 369*724ba675SRob Herring dma-channels = <16>; 370*724ba675SRob Herring dma-requests = <32>; 371*724ba675SRob Herring }; 372*724ba675SRob Herring 373*724ba675SRob Herring sdmmc1: mmc@52007000 { 374*724ba675SRob Herring compatible = "arm,pl18x", "arm,primecell"; 375*724ba675SRob Herring arm,primecell-periphid = <0x10153180>; 376*724ba675SRob Herring reg = <0x52007000 0x1000>; 377*724ba675SRob Herring interrupts = <49>; 378*724ba675SRob Herring clocks = <&rcc SDMMC1_CK>; 379*724ba675SRob Herring clock-names = "apb_pclk"; 380*724ba675SRob Herring resets = <&rcc STM32H7_AHB3_RESET(SDMMC1)>; 381*724ba675SRob Herring cap-sd-highspeed; 382*724ba675SRob Herring cap-mmc-highspeed; 383*724ba675SRob Herring max-frequency = <120000000>; 384*724ba675SRob Herring }; 385*724ba675SRob Herring 386*724ba675SRob Herring sdmmc2: mmc@48022400 { 387*724ba675SRob Herring compatible = "arm,pl18x", "arm,primecell"; 388*724ba675SRob Herring arm,primecell-periphid = <0x10153180>; 389*724ba675SRob Herring reg = <0x48022400 0x400>; 390*724ba675SRob Herring interrupts = <124>; 391*724ba675SRob Herring clocks = <&rcc SDMMC2_CK>; 392*724ba675SRob Herring clock-names = "apb_pclk"; 393*724ba675SRob Herring resets = <&rcc STM32H7_AHB2_RESET(SDMMC2)>; 394*724ba675SRob Herring cap-sd-highspeed; 395*724ba675SRob Herring cap-mmc-highspeed; 396*724ba675SRob Herring max-frequency = <120000000>; 397*724ba675SRob Herring status = "disabled"; 398*724ba675SRob Herring }; 399*724ba675SRob Herring 400*724ba675SRob Herring exti: interrupt-controller@58000000 { 401*724ba675SRob Herring compatible = "st,stm32h7-exti"; 402*724ba675SRob Herring interrupt-controller; 403*724ba675SRob Herring #interrupt-cells = <2>; 404*724ba675SRob Herring reg = <0x58000000 0x400>; 405*724ba675SRob Herring interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <62>, <76>; 406*724ba675SRob Herring }; 407*724ba675SRob Herring 408*724ba675SRob Herring syscfg: syscon@58000400 { 409*724ba675SRob Herring compatible = "st,stm32-syscfg", "syscon"; 410*724ba675SRob Herring reg = <0x58000400 0x400>; 411*724ba675SRob Herring }; 412*724ba675SRob Herring 413*724ba675SRob Herring spi6: spi@58001400 { 414*724ba675SRob Herring #address-cells = <1>; 415*724ba675SRob Herring #size-cells = <0>; 416*724ba675SRob Herring compatible = "st,stm32h7-spi"; 417*724ba675SRob Herring reg = <0x58001400 0x400>; 418*724ba675SRob Herring interrupts = <86>; 419*724ba675SRob Herring resets = <&rcc STM32H7_APB4_RESET(SPI6)>; 420*724ba675SRob Herring clocks = <&rcc SPI6_CK>; 421*724ba675SRob Herring status = "disabled"; 422*724ba675SRob Herring }; 423*724ba675SRob Herring 424*724ba675SRob Herring i2c4: i2c@58001c00 { 425*724ba675SRob Herring compatible = "st,stm32f7-i2c"; 426*724ba675SRob Herring #address-cells = <1>; 427*724ba675SRob Herring #size-cells = <0>; 428*724ba675SRob Herring reg = <0x58001C00 0x400>; 429*724ba675SRob Herring interrupts = <95>, 430*724ba675SRob Herring <96>; 431*724ba675SRob Herring resets = <&rcc STM32H7_APB4_RESET(I2C4)>; 432*724ba675SRob Herring clocks = <&rcc I2C4_CK>; 433*724ba675SRob Herring status = "disabled"; 434*724ba675SRob Herring }; 435*724ba675SRob Herring 436*724ba675SRob Herring lptimer2: timer@58002400 { 437*724ba675SRob Herring #address-cells = <1>; 438*724ba675SRob Herring #size-cells = <0>; 439*724ba675SRob Herring compatible = "st,stm32-lptimer"; 440*724ba675SRob Herring reg = <0x58002400 0x400>; 441*724ba675SRob Herring clocks = <&rcc LPTIM2_CK>; 442*724ba675SRob Herring clock-names = "mux"; 443*724ba675SRob Herring status = "disabled"; 444*724ba675SRob Herring 445*724ba675SRob Herring pwm { 446*724ba675SRob Herring compatible = "st,stm32-pwm-lp"; 447*724ba675SRob Herring #pwm-cells = <3>; 448*724ba675SRob Herring status = "disabled"; 449*724ba675SRob Herring }; 450*724ba675SRob Herring 451*724ba675SRob Herring trigger@1 { 452*724ba675SRob Herring compatible = "st,stm32-lptimer-trigger"; 453*724ba675SRob Herring reg = <1>; 454*724ba675SRob Herring status = "disabled"; 455*724ba675SRob Herring }; 456*724ba675SRob Herring 457*724ba675SRob Herring counter { 458*724ba675SRob Herring compatible = "st,stm32-lptimer-counter"; 459*724ba675SRob Herring status = "disabled"; 460*724ba675SRob Herring }; 461*724ba675SRob Herring }; 462*724ba675SRob Herring 463*724ba675SRob Herring lptimer3: timer@58002800 { 464*724ba675SRob Herring #address-cells = <1>; 465*724ba675SRob Herring #size-cells = <0>; 466*724ba675SRob Herring compatible = "st,stm32-lptimer"; 467*724ba675SRob Herring reg = <0x58002800 0x400>; 468*724ba675SRob Herring clocks = <&rcc LPTIM3_CK>; 469*724ba675SRob Herring clock-names = "mux"; 470*724ba675SRob Herring status = "disabled"; 471*724ba675SRob Herring 472*724ba675SRob Herring pwm { 473*724ba675SRob Herring compatible = "st,stm32-pwm-lp"; 474*724ba675SRob Herring #pwm-cells = <3>; 475*724ba675SRob Herring status = "disabled"; 476*724ba675SRob Herring }; 477*724ba675SRob Herring 478*724ba675SRob Herring trigger@2 { 479*724ba675SRob Herring compatible = "st,stm32-lptimer-trigger"; 480*724ba675SRob Herring reg = <2>; 481*724ba675SRob Herring status = "disabled"; 482*724ba675SRob Herring }; 483*724ba675SRob Herring }; 484*724ba675SRob Herring 485*724ba675SRob Herring lptimer4: timer@58002c00 { 486*724ba675SRob Herring compatible = "st,stm32-lptimer"; 487*724ba675SRob Herring reg = <0x58002c00 0x400>; 488*724ba675SRob Herring clocks = <&rcc LPTIM4_CK>; 489*724ba675SRob Herring clock-names = "mux"; 490*724ba675SRob Herring status = "disabled"; 491*724ba675SRob Herring 492*724ba675SRob Herring pwm { 493*724ba675SRob Herring compatible = "st,stm32-pwm-lp"; 494*724ba675SRob Herring #pwm-cells = <3>; 495*724ba675SRob Herring status = "disabled"; 496*724ba675SRob Herring }; 497*724ba675SRob Herring }; 498*724ba675SRob Herring 499*724ba675SRob Herring lptimer5: timer@58003000 { 500*724ba675SRob Herring compatible = "st,stm32-lptimer"; 501*724ba675SRob Herring reg = <0x58003000 0x400>; 502*724ba675SRob Herring clocks = <&rcc LPTIM5_CK>; 503*724ba675SRob Herring clock-names = "mux"; 504*724ba675SRob Herring status = "disabled"; 505*724ba675SRob Herring 506*724ba675SRob Herring pwm { 507*724ba675SRob Herring compatible = "st,stm32-pwm-lp"; 508*724ba675SRob Herring #pwm-cells = <3>; 509*724ba675SRob Herring status = "disabled"; 510*724ba675SRob Herring }; 511*724ba675SRob Herring }; 512*724ba675SRob Herring 513*724ba675SRob Herring vrefbuf: regulator@58003c00 { 514*724ba675SRob Herring compatible = "st,stm32-vrefbuf"; 515*724ba675SRob Herring reg = <0x58003C00 0x8>; 516*724ba675SRob Herring clocks = <&rcc VREF_CK>; 517*724ba675SRob Herring regulator-min-microvolt = <1500000>; 518*724ba675SRob Herring regulator-max-microvolt = <2500000>; 519*724ba675SRob Herring status = "disabled"; 520*724ba675SRob Herring }; 521*724ba675SRob Herring 522*724ba675SRob Herring rtc: rtc@58004000 { 523*724ba675SRob Herring compatible = "st,stm32h7-rtc"; 524*724ba675SRob Herring reg = <0x58004000 0x400>; 525*724ba675SRob Herring clocks = <&rcc RTCAPB_CK>, <&rcc RTC_CK>; 526*724ba675SRob Herring clock-names = "pclk", "rtc_ck"; 527*724ba675SRob Herring assigned-clocks = <&rcc RTC_CK>; 528*724ba675SRob Herring assigned-clock-parents = <&rcc LSE_CK>; 529*724ba675SRob Herring interrupt-parent = <&exti>; 530*724ba675SRob Herring interrupts = <17 IRQ_TYPE_EDGE_RISING>; 531*724ba675SRob Herring st,syscfg = <&pwrcfg 0x00 0x100>; 532*724ba675SRob Herring status = "disabled"; 533*724ba675SRob Herring }; 534*724ba675SRob Herring 535*724ba675SRob Herring rcc: reset-clock-controller@58024400 { 536*724ba675SRob Herring compatible = "st,stm32h743-rcc", "st,stm32-rcc"; 537*724ba675SRob Herring reg = <0x58024400 0x400>; 538*724ba675SRob Herring #clock-cells = <1>; 539*724ba675SRob Herring #reset-cells = <1>; 540*724ba675SRob Herring clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s>; 541*724ba675SRob Herring st,syscfg = <&pwrcfg>; 542*724ba675SRob Herring }; 543*724ba675SRob Herring 544*724ba675SRob Herring pwrcfg: power-config@58024800 { 545*724ba675SRob Herring compatible = "st,stm32-power-config", "syscon"; 546*724ba675SRob Herring reg = <0x58024800 0x400>; 547*724ba675SRob Herring }; 548*724ba675SRob Herring 549*724ba675SRob Herring adc_3: adc@58026000 { 550*724ba675SRob Herring compatible = "st,stm32h7-adc-core"; 551*724ba675SRob Herring reg = <0x58026000 0x400>; 552*724ba675SRob Herring interrupts = <127>; 553*724ba675SRob Herring clocks = <&rcc ADC3_CK>; 554*724ba675SRob Herring clock-names = "bus"; 555*724ba675SRob Herring interrupt-controller; 556*724ba675SRob Herring #interrupt-cells = <1>; 557*724ba675SRob Herring #address-cells = <1>; 558*724ba675SRob Herring #size-cells = <0>; 559*724ba675SRob Herring status = "disabled"; 560*724ba675SRob Herring 561*724ba675SRob Herring adc3: adc@0 { 562*724ba675SRob Herring compatible = "st,stm32h7-adc"; 563*724ba675SRob Herring #io-channel-cells = <1>; 564*724ba675SRob Herring reg = <0x0>; 565*724ba675SRob Herring interrupt-parent = <&adc_3>; 566*724ba675SRob Herring interrupts = <0>; 567*724ba675SRob Herring status = "disabled"; 568*724ba675SRob Herring }; 569*724ba675SRob Herring }; 570*724ba675SRob Herring 571*724ba675SRob Herring mac: ethernet@40028000 { 572*724ba675SRob Herring compatible = "st,stm32-dwmac", "snps,dwmac-4.10a"; 573*724ba675SRob Herring reg = <0x40028000 0x8000>; 574*724ba675SRob Herring reg-names = "stmmaceth"; 575*724ba675SRob Herring interrupts = <61>; 576*724ba675SRob Herring interrupt-names = "macirq"; 577*724ba675SRob Herring clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx"; 578*724ba675SRob Herring clocks = <&rcc ETH1MAC_CK>, <&rcc ETH1TX_CK>, <&rcc ETH1RX_CK>; 579*724ba675SRob Herring st,syscon = <&syscfg 0x4>; 580*724ba675SRob Herring snps,pbl = <8>; 581*724ba675SRob Herring status = "disabled"; 582*724ba675SRob Herring }; 583*724ba675SRob Herring 584*724ba675SRob Herring pinctrl: pinctrl@58020000 { 585*724ba675SRob Herring #address-cells = <1>; 586*724ba675SRob Herring #size-cells = <1>; 587*724ba675SRob Herring compatible = "st,stm32h743-pinctrl"; 588*724ba675SRob Herring ranges = <0 0x58020000 0x3000>; 589*724ba675SRob Herring interrupt-parent = <&exti>; 590*724ba675SRob Herring st,syscfg = <&syscfg 0x8>; 591*724ba675SRob Herring 592*724ba675SRob Herring gpioa: gpio@58020000 { 593*724ba675SRob Herring gpio-controller; 594*724ba675SRob Herring #gpio-cells = <2>; 595*724ba675SRob Herring reg = <0x0 0x400>; 596*724ba675SRob Herring clocks = <&rcc GPIOA_CK>; 597*724ba675SRob Herring st,bank-name = "GPIOA"; 598*724ba675SRob Herring interrupt-controller; 599*724ba675SRob Herring #interrupt-cells = <2>; 600*724ba675SRob Herring ngpios = <16>; 601*724ba675SRob Herring gpio-ranges = <&pinctrl 0 0 16>; 602*724ba675SRob Herring }; 603*724ba675SRob Herring 604*724ba675SRob Herring gpiob: gpio@58020400 { 605*724ba675SRob Herring gpio-controller; 606*724ba675SRob Herring #gpio-cells = <2>; 607*724ba675SRob Herring reg = <0x400 0x400>; 608*724ba675SRob Herring clocks = <&rcc GPIOB_CK>; 609*724ba675SRob Herring st,bank-name = "GPIOB"; 610*724ba675SRob Herring interrupt-controller; 611*724ba675SRob Herring #interrupt-cells = <2>; 612*724ba675SRob Herring ngpios = <16>; 613*724ba675SRob Herring gpio-ranges = <&pinctrl 0 16 16>; 614*724ba675SRob Herring }; 615*724ba675SRob Herring 616*724ba675SRob Herring gpioc: gpio@58020800 { 617*724ba675SRob Herring gpio-controller; 618*724ba675SRob Herring #gpio-cells = <2>; 619*724ba675SRob Herring reg = <0x800 0x400>; 620*724ba675SRob Herring clocks = <&rcc GPIOC_CK>; 621*724ba675SRob Herring st,bank-name = "GPIOC"; 622*724ba675SRob Herring interrupt-controller; 623*724ba675SRob Herring #interrupt-cells = <2>; 624*724ba675SRob Herring ngpios = <16>; 625*724ba675SRob Herring gpio-ranges = <&pinctrl 0 32 16>; 626*724ba675SRob Herring }; 627*724ba675SRob Herring 628*724ba675SRob Herring gpiod: gpio@58020c00 { 629*724ba675SRob Herring gpio-controller; 630*724ba675SRob Herring #gpio-cells = <2>; 631*724ba675SRob Herring reg = <0xc00 0x400>; 632*724ba675SRob Herring clocks = <&rcc GPIOD_CK>; 633*724ba675SRob Herring st,bank-name = "GPIOD"; 634*724ba675SRob Herring interrupt-controller; 635*724ba675SRob Herring #interrupt-cells = <2>; 636*724ba675SRob Herring ngpios = <16>; 637*724ba675SRob Herring gpio-ranges = <&pinctrl 0 48 16>; 638*724ba675SRob Herring }; 639*724ba675SRob Herring 640*724ba675SRob Herring gpioe: gpio@58021000 { 641*724ba675SRob Herring gpio-controller; 642*724ba675SRob Herring #gpio-cells = <2>; 643*724ba675SRob Herring reg = <0x1000 0x400>; 644*724ba675SRob Herring clocks = <&rcc GPIOE_CK>; 645*724ba675SRob Herring st,bank-name = "GPIOE"; 646*724ba675SRob Herring interrupt-controller; 647*724ba675SRob Herring #interrupt-cells = <2>; 648*724ba675SRob Herring ngpios = <16>; 649*724ba675SRob Herring gpio-ranges = <&pinctrl 0 64 16>; 650*724ba675SRob Herring }; 651*724ba675SRob Herring 652*724ba675SRob Herring gpiof: gpio@58021400 { 653*724ba675SRob Herring gpio-controller; 654*724ba675SRob Herring #gpio-cells = <2>; 655*724ba675SRob Herring reg = <0x1400 0x400>; 656*724ba675SRob Herring clocks = <&rcc GPIOF_CK>; 657*724ba675SRob Herring st,bank-name = "GPIOF"; 658*724ba675SRob Herring interrupt-controller; 659*724ba675SRob Herring #interrupt-cells = <2>; 660*724ba675SRob Herring ngpios = <16>; 661*724ba675SRob Herring gpio-ranges = <&pinctrl 0 80 16>; 662*724ba675SRob Herring }; 663*724ba675SRob Herring 664*724ba675SRob Herring gpiog: gpio@58021800 { 665*724ba675SRob Herring gpio-controller; 666*724ba675SRob Herring #gpio-cells = <2>; 667*724ba675SRob Herring reg = <0x1800 0x400>; 668*724ba675SRob Herring clocks = <&rcc GPIOG_CK>; 669*724ba675SRob Herring st,bank-name = "GPIOG"; 670*724ba675SRob Herring interrupt-controller; 671*724ba675SRob Herring #interrupt-cells = <2>; 672*724ba675SRob Herring ngpios = <16>; 673*724ba675SRob Herring gpio-ranges = <&pinctrl 0 96 16>; 674*724ba675SRob Herring }; 675*724ba675SRob Herring 676*724ba675SRob Herring gpioh: gpio@58021c00 { 677*724ba675SRob Herring gpio-controller; 678*724ba675SRob Herring #gpio-cells = <2>; 679*724ba675SRob Herring reg = <0x1c00 0x400>; 680*724ba675SRob Herring clocks = <&rcc GPIOH_CK>; 681*724ba675SRob Herring st,bank-name = "GPIOH"; 682*724ba675SRob Herring interrupt-controller; 683*724ba675SRob Herring #interrupt-cells = <2>; 684*724ba675SRob Herring ngpios = <16>; 685*724ba675SRob Herring gpio-ranges = <&pinctrl 0 112 16>; 686*724ba675SRob Herring }; 687*724ba675SRob Herring 688*724ba675SRob Herring gpioi: gpio@58022000 { 689*724ba675SRob Herring gpio-controller; 690*724ba675SRob Herring #gpio-cells = <2>; 691*724ba675SRob Herring reg = <0x2000 0x400>; 692*724ba675SRob Herring clocks = <&rcc GPIOI_CK>; 693*724ba675SRob Herring st,bank-name = "GPIOI"; 694*724ba675SRob Herring interrupt-controller; 695*724ba675SRob Herring #interrupt-cells = <2>; 696*724ba675SRob Herring ngpios = <16>; 697*724ba675SRob Herring gpio-ranges = <&pinctrl 0 128 16>; 698*724ba675SRob Herring }; 699*724ba675SRob Herring 700*724ba675SRob Herring gpioj: gpio@58022400 { 701*724ba675SRob Herring gpio-controller; 702*724ba675SRob Herring #gpio-cells = <2>; 703*724ba675SRob Herring reg = <0x2400 0x400>; 704*724ba675SRob Herring clocks = <&rcc GPIOJ_CK>; 705*724ba675SRob Herring st,bank-name = "GPIOJ"; 706*724ba675SRob Herring interrupt-controller; 707*724ba675SRob Herring #interrupt-cells = <2>; 708*724ba675SRob Herring ngpios = <16>; 709*724ba675SRob Herring gpio-ranges = <&pinctrl 0 144 16>; 710*724ba675SRob Herring }; 711*724ba675SRob Herring 712*724ba675SRob Herring gpiok: gpio@58022800 { 713*724ba675SRob Herring gpio-controller; 714*724ba675SRob Herring #gpio-cells = <2>; 715*724ba675SRob Herring reg = <0x2800 0x400>; 716*724ba675SRob Herring clocks = <&rcc GPIOK_CK>; 717*724ba675SRob Herring st,bank-name = "GPIOK"; 718*724ba675SRob Herring interrupt-controller; 719*724ba675SRob Herring #interrupt-cells = <2>; 720*724ba675SRob Herring ngpios = <8>; 721*724ba675SRob Herring gpio-ranges = <&pinctrl 0 160 8>; 722*724ba675SRob Herring }; 723*724ba675SRob Herring }; 724*724ba675SRob Herring }; 725*724ba675SRob Herring}; 726*724ba675SRob Herring 727*724ba675SRob Herring&systick { 728*724ba675SRob Herring clock-frequency = <250000000>; 729*724ba675SRob Herring status = "okay"; 730*724ba675SRob Herring}; 731