162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com> 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * This file is dual-licensed: you can use it either under the terms 562306a36Sopenharmony_ci * of the GPL or the X11 license, at your option. Note that this dual 662306a36Sopenharmony_ci * licensing only applies to this file, and not this project as a 762306a36Sopenharmony_ci * whole. 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * a) This file is free software; you can redistribute it and/or 1062306a36Sopenharmony_ci * modify it under the terms of the GNU General Public License as 1162306a36Sopenharmony_ci * published by the Free Software Foundation; either version 2 of the 1262306a36Sopenharmony_ci * License, or (at your option) any later version. 1362306a36Sopenharmony_ci * 1462306a36Sopenharmony_ci * This file is distributed in the hope that it will be useful, 1562306a36Sopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of 1662306a36Sopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1762306a36Sopenharmony_ci * GNU General Public License for more details. 1862306a36Sopenharmony_ci * 1962306a36Sopenharmony_ci * Or, alternatively, 2062306a36Sopenharmony_ci * 2162306a36Sopenharmony_ci * b) Permission is hereby granted, free of charge, to any person 2262306a36Sopenharmony_ci * obtaining a copy of this software and associated documentation 2362306a36Sopenharmony_ci * files (the "Software"), to deal in the Software without 2462306a36Sopenharmony_ci * restriction, including without limitation the rights to use, 2562306a36Sopenharmony_ci * copy, modify, merge, publish, distribute, sublicense, and/or 2662306a36Sopenharmony_ci * sell copies of the Software, and to permit persons to whom the 2762306a36Sopenharmony_ci * Software is furnished to do so, subject to the following 2862306a36Sopenharmony_ci * conditions: 2962306a36Sopenharmony_ci * 3062306a36Sopenharmony_ci * The above copyright notice and this permission notice shall be 3162306a36Sopenharmony_ci * included in all copies or substantial portions of the Software. 3262306a36Sopenharmony_ci * 3362306a36Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3462306a36Sopenharmony_ci * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3562306a36Sopenharmony_ci * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3662306a36Sopenharmony_ci * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3762306a36Sopenharmony_ci * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 3862306a36Sopenharmony_ci * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 3962306a36Sopenharmony_ci * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4062306a36Sopenharmony_ci * OTHER DEALINGS IN THE SOFTWARE. 4162306a36Sopenharmony_ci */ 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci#include "../armv7-m.dtsi" 4462306a36Sopenharmony_ci#include <dt-bindings/clock/stm32h7-clks.h> 4562306a36Sopenharmony_ci#include <dt-bindings/mfd/stm32h7-rcc.h> 4662306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci/ { 4962306a36Sopenharmony_ci #address-cells = <1>; 5062306a36Sopenharmony_ci #size-cells = <1>; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci clocks { 5362306a36Sopenharmony_ci clk_hse: clk-hse { 5462306a36Sopenharmony_ci #clock-cells = <0>; 5562306a36Sopenharmony_ci compatible = "fixed-clock"; 5662306a36Sopenharmony_ci clock-frequency = <0>; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci clk_lse: clk-lse { 6062306a36Sopenharmony_ci #clock-cells = <0>; 6162306a36Sopenharmony_ci compatible = "fixed-clock"; 6262306a36Sopenharmony_ci clock-frequency = <32768>; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci clk_i2s: i2s_ckin { 6662306a36Sopenharmony_ci #clock-cells = <0>; 6762306a36Sopenharmony_ci compatible = "fixed-clock"; 6862306a36Sopenharmony_ci clock-frequency = <0>; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci soc { 7362306a36Sopenharmony_ci timer5: timer@40000c00 { 7462306a36Sopenharmony_ci compatible = "st,stm32-timer"; 7562306a36Sopenharmony_ci reg = <0x40000c00 0x400>; 7662306a36Sopenharmony_ci interrupts = <50>; 7762306a36Sopenharmony_ci clocks = <&rcc TIM5_CK>; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci lptimer1: timer@40002400 { 8162306a36Sopenharmony_ci #address-cells = <1>; 8262306a36Sopenharmony_ci #size-cells = <0>; 8362306a36Sopenharmony_ci compatible = "st,stm32-lptimer"; 8462306a36Sopenharmony_ci reg = <0x40002400 0x400>; 8562306a36Sopenharmony_ci clocks = <&rcc LPTIM1_CK>; 8662306a36Sopenharmony_ci clock-names = "mux"; 8762306a36Sopenharmony_ci status = "disabled"; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci pwm { 9062306a36Sopenharmony_ci compatible = "st,stm32-pwm-lp"; 9162306a36Sopenharmony_ci #pwm-cells = <3>; 9262306a36Sopenharmony_ci status = "disabled"; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci trigger@0 { 9662306a36Sopenharmony_ci compatible = "st,stm32-lptimer-trigger"; 9762306a36Sopenharmony_ci reg = <0>; 9862306a36Sopenharmony_ci status = "disabled"; 9962306a36Sopenharmony_ci }; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci counter { 10262306a36Sopenharmony_ci compatible = "st,stm32-lptimer-counter"; 10362306a36Sopenharmony_ci status = "disabled"; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci spi2: spi@40003800 { 10862306a36Sopenharmony_ci #address-cells = <1>; 10962306a36Sopenharmony_ci #size-cells = <0>; 11062306a36Sopenharmony_ci compatible = "st,stm32h7-spi"; 11162306a36Sopenharmony_ci reg = <0x40003800 0x400>; 11262306a36Sopenharmony_ci interrupts = <36>; 11362306a36Sopenharmony_ci resets = <&rcc STM32H7_APB1L_RESET(SPI2)>; 11462306a36Sopenharmony_ci clocks = <&rcc SPI2_CK>; 11562306a36Sopenharmony_ci status = "disabled"; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci spi3: spi@40003c00 { 12062306a36Sopenharmony_ci #address-cells = <1>; 12162306a36Sopenharmony_ci #size-cells = <0>; 12262306a36Sopenharmony_ci compatible = "st,stm32h7-spi"; 12362306a36Sopenharmony_ci reg = <0x40003c00 0x400>; 12462306a36Sopenharmony_ci interrupts = <51>; 12562306a36Sopenharmony_ci resets = <&rcc STM32H7_APB1L_RESET(SPI3)>; 12662306a36Sopenharmony_ci clocks = <&rcc SPI3_CK>; 12762306a36Sopenharmony_ci status = "disabled"; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci usart2: serial@40004400 { 13162306a36Sopenharmony_ci compatible = "st,stm32h7-uart"; 13262306a36Sopenharmony_ci reg = <0x40004400 0x400>; 13362306a36Sopenharmony_ci interrupts = <38>; 13462306a36Sopenharmony_ci status = "disabled"; 13562306a36Sopenharmony_ci clocks = <&rcc USART2_CK>; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci usart3: serial@40004800 { 13962306a36Sopenharmony_ci compatible = "st,stm32h7-uart"; 14062306a36Sopenharmony_ci reg = <0x40004800 0x400>; 14162306a36Sopenharmony_ci interrupts = <39>; 14262306a36Sopenharmony_ci status = "disabled"; 14362306a36Sopenharmony_ci clocks = <&rcc USART3_CK>; 14462306a36Sopenharmony_ci }; 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci uart4: serial@40004c00 { 14762306a36Sopenharmony_ci compatible = "st,stm32h7-uart"; 14862306a36Sopenharmony_ci reg = <0x40004c00 0x400>; 14962306a36Sopenharmony_ci interrupts = <52>; 15062306a36Sopenharmony_ci status = "disabled"; 15162306a36Sopenharmony_ci clocks = <&rcc UART4_CK>; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci i2c1: i2c@40005400 { 15562306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 15662306a36Sopenharmony_ci #address-cells = <1>; 15762306a36Sopenharmony_ci #size-cells = <0>; 15862306a36Sopenharmony_ci reg = <0x40005400 0x400>; 15962306a36Sopenharmony_ci interrupts = <31>, 16062306a36Sopenharmony_ci <32>; 16162306a36Sopenharmony_ci resets = <&rcc STM32H7_APB1L_RESET(I2C1)>; 16262306a36Sopenharmony_ci clocks = <&rcc I2C1_CK>; 16362306a36Sopenharmony_ci status = "disabled"; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci i2c2: i2c@40005800 { 16762306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 16862306a36Sopenharmony_ci #address-cells = <1>; 16962306a36Sopenharmony_ci #size-cells = <0>; 17062306a36Sopenharmony_ci reg = <0x40005800 0x400>; 17162306a36Sopenharmony_ci interrupts = <33>, 17262306a36Sopenharmony_ci <34>; 17362306a36Sopenharmony_ci resets = <&rcc STM32H7_APB1L_RESET(I2C2)>; 17462306a36Sopenharmony_ci clocks = <&rcc I2C2_CK>; 17562306a36Sopenharmony_ci status = "disabled"; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci i2c3: i2c@40005c00 { 17962306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 18062306a36Sopenharmony_ci #address-cells = <1>; 18162306a36Sopenharmony_ci #size-cells = <0>; 18262306a36Sopenharmony_ci reg = <0x40005C00 0x400>; 18362306a36Sopenharmony_ci interrupts = <72>, 18462306a36Sopenharmony_ci <73>; 18562306a36Sopenharmony_ci resets = <&rcc STM32H7_APB1L_RESET(I2C3)>; 18662306a36Sopenharmony_ci clocks = <&rcc I2C3_CK>; 18762306a36Sopenharmony_ci status = "disabled"; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci dac: dac@40007400 { 19162306a36Sopenharmony_ci compatible = "st,stm32h7-dac-core"; 19262306a36Sopenharmony_ci reg = <0x40007400 0x400>; 19362306a36Sopenharmony_ci clocks = <&rcc DAC12_CK>; 19462306a36Sopenharmony_ci clock-names = "pclk"; 19562306a36Sopenharmony_ci #address-cells = <1>; 19662306a36Sopenharmony_ci #size-cells = <0>; 19762306a36Sopenharmony_ci status = "disabled"; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci dac1: dac@1 { 20062306a36Sopenharmony_ci compatible = "st,stm32-dac"; 20162306a36Sopenharmony_ci #io-channel-cells = <1>; 20262306a36Sopenharmony_ci reg = <1>; 20362306a36Sopenharmony_ci status = "disabled"; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci dac2: dac@2 { 20762306a36Sopenharmony_ci compatible = "st,stm32-dac"; 20862306a36Sopenharmony_ci #io-channel-cells = <1>; 20962306a36Sopenharmony_ci reg = <2>; 21062306a36Sopenharmony_ci status = "disabled"; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci usart1: serial@40011000 { 21562306a36Sopenharmony_ci compatible = "st,stm32h7-uart"; 21662306a36Sopenharmony_ci reg = <0x40011000 0x400>; 21762306a36Sopenharmony_ci interrupts = <37>; 21862306a36Sopenharmony_ci status = "disabled"; 21962306a36Sopenharmony_ci clocks = <&rcc USART1_CK>; 22062306a36Sopenharmony_ci }; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci spi1: spi@40013000 { 22362306a36Sopenharmony_ci #address-cells = <1>; 22462306a36Sopenharmony_ci #size-cells = <0>; 22562306a36Sopenharmony_ci compatible = "st,stm32h7-spi"; 22662306a36Sopenharmony_ci reg = <0x40013000 0x400>; 22762306a36Sopenharmony_ci interrupts = <35>; 22862306a36Sopenharmony_ci resets = <&rcc STM32H7_APB2_RESET(SPI1)>; 22962306a36Sopenharmony_ci clocks = <&rcc SPI1_CK>; 23062306a36Sopenharmony_ci status = "disabled"; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci spi4: spi@40013400 { 23462306a36Sopenharmony_ci #address-cells = <1>; 23562306a36Sopenharmony_ci #size-cells = <0>; 23662306a36Sopenharmony_ci compatible = "st,stm32h7-spi"; 23762306a36Sopenharmony_ci reg = <0x40013400 0x400>; 23862306a36Sopenharmony_ci interrupts = <84>; 23962306a36Sopenharmony_ci resets = <&rcc STM32H7_APB2_RESET(SPI4)>; 24062306a36Sopenharmony_ci clocks = <&rcc SPI4_CK>; 24162306a36Sopenharmony_ci status = "disabled"; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci spi5: spi@40015000 { 24562306a36Sopenharmony_ci #address-cells = <1>; 24662306a36Sopenharmony_ci #size-cells = <0>; 24762306a36Sopenharmony_ci compatible = "st,stm32h7-spi"; 24862306a36Sopenharmony_ci reg = <0x40015000 0x400>; 24962306a36Sopenharmony_ci interrupts = <85>; 25062306a36Sopenharmony_ci resets = <&rcc STM32H7_APB2_RESET(SPI5)>; 25162306a36Sopenharmony_ci clocks = <&rcc SPI5_CK>; 25262306a36Sopenharmony_ci status = "disabled"; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci dma1: dma-controller@40020000 { 25662306a36Sopenharmony_ci compatible = "st,stm32-dma"; 25762306a36Sopenharmony_ci reg = <0x40020000 0x400>; 25862306a36Sopenharmony_ci interrupts = <11>, 25962306a36Sopenharmony_ci <12>, 26062306a36Sopenharmony_ci <13>, 26162306a36Sopenharmony_ci <14>, 26262306a36Sopenharmony_ci <15>, 26362306a36Sopenharmony_ci <16>, 26462306a36Sopenharmony_ci <17>, 26562306a36Sopenharmony_ci <47>; 26662306a36Sopenharmony_ci clocks = <&rcc DMA1_CK>; 26762306a36Sopenharmony_ci #dma-cells = <4>; 26862306a36Sopenharmony_ci st,mem2mem; 26962306a36Sopenharmony_ci dma-requests = <8>; 27062306a36Sopenharmony_ci status = "disabled"; 27162306a36Sopenharmony_ci }; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci dma2: dma-controller@40020400 { 27462306a36Sopenharmony_ci compatible = "st,stm32-dma"; 27562306a36Sopenharmony_ci reg = <0x40020400 0x400>; 27662306a36Sopenharmony_ci interrupts = <56>, 27762306a36Sopenharmony_ci <57>, 27862306a36Sopenharmony_ci <58>, 27962306a36Sopenharmony_ci <59>, 28062306a36Sopenharmony_ci <60>, 28162306a36Sopenharmony_ci <68>, 28262306a36Sopenharmony_ci <69>, 28362306a36Sopenharmony_ci <70>; 28462306a36Sopenharmony_ci clocks = <&rcc DMA2_CK>; 28562306a36Sopenharmony_ci #dma-cells = <4>; 28662306a36Sopenharmony_ci st,mem2mem; 28762306a36Sopenharmony_ci dma-requests = <8>; 28862306a36Sopenharmony_ci status = "disabled"; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci dmamux1: dma-router@40020800 { 29262306a36Sopenharmony_ci compatible = "st,stm32h7-dmamux"; 29362306a36Sopenharmony_ci reg = <0x40020800 0x40>; 29462306a36Sopenharmony_ci #dma-cells = <3>; 29562306a36Sopenharmony_ci dma-channels = <16>; 29662306a36Sopenharmony_ci dma-requests = <128>; 29762306a36Sopenharmony_ci dma-masters = <&dma1 &dma2>; 29862306a36Sopenharmony_ci clocks = <&rcc DMA1_CK>; 29962306a36Sopenharmony_ci }; 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci adc_12: adc@40022000 { 30262306a36Sopenharmony_ci compatible = "st,stm32h7-adc-core"; 30362306a36Sopenharmony_ci reg = <0x40022000 0x400>; 30462306a36Sopenharmony_ci interrupts = <18>; 30562306a36Sopenharmony_ci clocks = <&rcc ADC12_CK>; 30662306a36Sopenharmony_ci clock-names = "bus"; 30762306a36Sopenharmony_ci interrupt-controller; 30862306a36Sopenharmony_ci #interrupt-cells = <1>; 30962306a36Sopenharmony_ci #address-cells = <1>; 31062306a36Sopenharmony_ci #size-cells = <0>; 31162306a36Sopenharmony_ci status = "disabled"; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci adc1: adc@0 { 31462306a36Sopenharmony_ci compatible = "st,stm32h7-adc"; 31562306a36Sopenharmony_ci #io-channel-cells = <1>; 31662306a36Sopenharmony_ci reg = <0x0>; 31762306a36Sopenharmony_ci interrupt-parent = <&adc_12>; 31862306a36Sopenharmony_ci interrupts = <0>; 31962306a36Sopenharmony_ci status = "disabled"; 32062306a36Sopenharmony_ci }; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci adc2: adc@100 { 32362306a36Sopenharmony_ci compatible = "st,stm32h7-adc"; 32462306a36Sopenharmony_ci #io-channel-cells = <1>; 32562306a36Sopenharmony_ci reg = <0x100>; 32662306a36Sopenharmony_ci interrupt-parent = <&adc_12>; 32762306a36Sopenharmony_ci interrupts = <1>; 32862306a36Sopenharmony_ci status = "disabled"; 32962306a36Sopenharmony_ci }; 33062306a36Sopenharmony_ci }; 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci usbotg_hs: usb@40040000 { 33362306a36Sopenharmony_ci compatible = "st,stm32f7-hsotg"; 33462306a36Sopenharmony_ci reg = <0x40040000 0x40000>; 33562306a36Sopenharmony_ci interrupts = <77>; 33662306a36Sopenharmony_ci clocks = <&rcc USB1OTG_CK>; 33762306a36Sopenharmony_ci clock-names = "otg"; 33862306a36Sopenharmony_ci g-rx-fifo-size = <256>; 33962306a36Sopenharmony_ci g-np-tx-fifo-size = <32>; 34062306a36Sopenharmony_ci g-tx-fifo-size = <128 128 64 64 64 64 32 32>; 34162306a36Sopenharmony_ci status = "disabled"; 34262306a36Sopenharmony_ci }; 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci usbotg_fs: usb@40080000 { 34562306a36Sopenharmony_ci compatible = "st,stm32f4x9-fsotg"; 34662306a36Sopenharmony_ci reg = <0x40080000 0x40000>; 34762306a36Sopenharmony_ci interrupts = <101>; 34862306a36Sopenharmony_ci clocks = <&rcc USB2OTG_CK>; 34962306a36Sopenharmony_ci clock-names = "otg"; 35062306a36Sopenharmony_ci status = "disabled"; 35162306a36Sopenharmony_ci }; 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ci ltdc: display-controller@50001000 { 35462306a36Sopenharmony_ci compatible = "st,stm32-ltdc"; 35562306a36Sopenharmony_ci reg = <0x50001000 0x200>; 35662306a36Sopenharmony_ci interrupts = <88>, <89>; 35762306a36Sopenharmony_ci resets = <&rcc STM32H7_APB3_RESET(LTDC)>; 35862306a36Sopenharmony_ci clocks = <&rcc LTDC_CK>; 35962306a36Sopenharmony_ci clock-names = "lcd"; 36062306a36Sopenharmony_ci status = "disabled"; 36162306a36Sopenharmony_ci }; 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci mdma1: dma-controller@52000000 { 36462306a36Sopenharmony_ci compatible = "st,stm32h7-mdma"; 36562306a36Sopenharmony_ci reg = <0x52000000 0x1000>; 36662306a36Sopenharmony_ci interrupts = <122>; 36762306a36Sopenharmony_ci clocks = <&rcc MDMA_CK>; 36862306a36Sopenharmony_ci #dma-cells = <5>; 36962306a36Sopenharmony_ci dma-channels = <16>; 37062306a36Sopenharmony_ci dma-requests = <32>; 37162306a36Sopenharmony_ci }; 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci sdmmc1: mmc@52007000 { 37462306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 37562306a36Sopenharmony_ci arm,primecell-periphid = <0x10153180>; 37662306a36Sopenharmony_ci reg = <0x52007000 0x1000>; 37762306a36Sopenharmony_ci interrupts = <49>; 37862306a36Sopenharmony_ci clocks = <&rcc SDMMC1_CK>; 37962306a36Sopenharmony_ci clock-names = "apb_pclk"; 38062306a36Sopenharmony_ci resets = <&rcc STM32H7_AHB3_RESET(SDMMC1)>; 38162306a36Sopenharmony_ci cap-sd-highspeed; 38262306a36Sopenharmony_ci cap-mmc-highspeed; 38362306a36Sopenharmony_ci max-frequency = <120000000>; 38462306a36Sopenharmony_ci }; 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci sdmmc2: mmc@48022400 { 38762306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 38862306a36Sopenharmony_ci arm,primecell-periphid = <0x10153180>; 38962306a36Sopenharmony_ci reg = <0x48022400 0x400>; 39062306a36Sopenharmony_ci interrupts = <124>; 39162306a36Sopenharmony_ci clocks = <&rcc SDMMC2_CK>; 39262306a36Sopenharmony_ci clock-names = "apb_pclk"; 39362306a36Sopenharmony_ci resets = <&rcc STM32H7_AHB2_RESET(SDMMC2)>; 39462306a36Sopenharmony_ci cap-sd-highspeed; 39562306a36Sopenharmony_ci cap-mmc-highspeed; 39662306a36Sopenharmony_ci max-frequency = <120000000>; 39762306a36Sopenharmony_ci status = "disabled"; 39862306a36Sopenharmony_ci }; 39962306a36Sopenharmony_ci 40062306a36Sopenharmony_ci exti: interrupt-controller@58000000 { 40162306a36Sopenharmony_ci compatible = "st,stm32h7-exti"; 40262306a36Sopenharmony_ci interrupt-controller; 40362306a36Sopenharmony_ci #interrupt-cells = <2>; 40462306a36Sopenharmony_ci reg = <0x58000000 0x400>; 40562306a36Sopenharmony_ci interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <62>, <76>; 40662306a36Sopenharmony_ci }; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci syscfg: syscon@58000400 { 40962306a36Sopenharmony_ci compatible = "st,stm32-syscfg", "syscon"; 41062306a36Sopenharmony_ci reg = <0x58000400 0x400>; 41162306a36Sopenharmony_ci }; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci spi6: spi@58001400 { 41462306a36Sopenharmony_ci #address-cells = <1>; 41562306a36Sopenharmony_ci #size-cells = <0>; 41662306a36Sopenharmony_ci compatible = "st,stm32h7-spi"; 41762306a36Sopenharmony_ci reg = <0x58001400 0x400>; 41862306a36Sopenharmony_ci interrupts = <86>; 41962306a36Sopenharmony_ci resets = <&rcc STM32H7_APB4_RESET(SPI6)>; 42062306a36Sopenharmony_ci clocks = <&rcc SPI6_CK>; 42162306a36Sopenharmony_ci status = "disabled"; 42262306a36Sopenharmony_ci }; 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci i2c4: i2c@58001c00 { 42562306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 42662306a36Sopenharmony_ci #address-cells = <1>; 42762306a36Sopenharmony_ci #size-cells = <0>; 42862306a36Sopenharmony_ci reg = <0x58001C00 0x400>; 42962306a36Sopenharmony_ci interrupts = <95>, 43062306a36Sopenharmony_ci <96>; 43162306a36Sopenharmony_ci resets = <&rcc STM32H7_APB4_RESET(I2C4)>; 43262306a36Sopenharmony_ci clocks = <&rcc I2C4_CK>; 43362306a36Sopenharmony_ci status = "disabled"; 43462306a36Sopenharmony_ci }; 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci lptimer2: timer@58002400 { 43762306a36Sopenharmony_ci #address-cells = <1>; 43862306a36Sopenharmony_ci #size-cells = <0>; 43962306a36Sopenharmony_ci compatible = "st,stm32-lptimer"; 44062306a36Sopenharmony_ci reg = <0x58002400 0x400>; 44162306a36Sopenharmony_ci clocks = <&rcc LPTIM2_CK>; 44262306a36Sopenharmony_ci clock-names = "mux"; 44362306a36Sopenharmony_ci status = "disabled"; 44462306a36Sopenharmony_ci 44562306a36Sopenharmony_ci pwm { 44662306a36Sopenharmony_ci compatible = "st,stm32-pwm-lp"; 44762306a36Sopenharmony_ci #pwm-cells = <3>; 44862306a36Sopenharmony_ci status = "disabled"; 44962306a36Sopenharmony_ci }; 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ci trigger@1 { 45262306a36Sopenharmony_ci compatible = "st,stm32-lptimer-trigger"; 45362306a36Sopenharmony_ci reg = <1>; 45462306a36Sopenharmony_ci status = "disabled"; 45562306a36Sopenharmony_ci }; 45662306a36Sopenharmony_ci 45762306a36Sopenharmony_ci counter { 45862306a36Sopenharmony_ci compatible = "st,stm32-lptimer-counter"; 45962306a36Sopenharmony_ci status = "disabled"; 46062306a36Sopenharmony_ci }; 46162306a36Sopenharmony_ci }; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci lptimer3: timer@58002800 { 46462306a36Sopenharmony_ci #address-cells = <1>; 46562306a36Sopenharmony_ci #size-cells = <0>; 46662306a36Sopenharmony_ci compatible = "st,stm32-lptimer"; 46762306a36Sopenharmony_ci reg = <0x58002800 0x400>; 46862306a36Sopenharmony_ci clocks = <&rcc LPTIM3_CK>; 46962306a36Sopenharmony_ci clock-names = "mux"; 47062306a36Sopenharmony_ci status = "disabled"; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci pwm { 47362306a36Sopenharmony_ci compatible = "st,stm32-pwm-lp"; 47462306a36Sopenharmony_ci #pwm-cells = <3>; 47562306a36Sopenharmony_ci status = "disabled"; 47662306a36Sopenharmony_ci }; 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci trigger@2 { 47962306a36Sopenharmony_ci compatible = "st,stm32-lptimer-trigger"; 48062306a36Sopenharmony_ci reg = <2>; 48162306a36Sopenharmony_ci status = "disabled"; 48262306a36Sopenharmony_ci }; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_ci lptimer4: timer@58002c00 { 48662306a36Sopenharmony_ci compatible = "st,stm32-lptimer"; 48762306a36Sopenharmony_ci reg = <0x58002c00 0x400>; 48862306a36Sopenharmony_ci clocks = <&rcc LPTIM4_CK>; 48962306a36Sopenharmony_ci clock-names = "mux"; 49062306a36Sopenharmony_ci status = "disabled"; 49162306a36Sopenharmony_ci 49262306a36Sopenharmony_ci pwm { 49362306a36Sopenharmony_ci compatible = "st,stm32-pwm-lp"; 49462306a36Sopenharmony_ci #pwm-cells = <3>; 49562306a36Sopenharmony_ci status = "disabled"; 49662306a36Sopenharmony_ci }; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci lptimer5: timer@58003000 { 50062306a36Sopenharmony_ci compatible = "st,stm32-lptimer"; 50162306a36Sopenharmony_ci reg = <0x58003000 0x400>; 50262306a36Sopenharmony_ci clocks = <&rcc LPTIM5_CK>; 50362306a36Sopenharmony_ci clock-names = "mux"; 50462306a36Sopenharmony_ci status = "disabled"; 50562306a36Sopenharmony_ci 50662306a36Sopenharmony_ci pwm { 50762306a36Sopenharmony_ci compatible = "st,stm32-pwm-lp"; 50862306a36Sopenharmony_ci #pwm-cells = <3>; 50962306a36Sopenharmony_ci status = "disabled"; 51062306a36Sopenharmony_ci }; 51162306a36Sopenharmony_ci }; 51262306a36Sopenharmony_ci 51362306a36Sopenharmony_ci vrefbuf: regulator@58003c00 { 51462306a36Sopenharmony_ci compatible = "st,stm32-vrefbuf"; 51562306a36Sopenharmony_ci reg = <0x58003C00 0x8>; 51662306a36Sopenharmony_ci clocks = <&rcc VREF_CK>; 51762306a36Sopenharmony_ci regulator-min-microvolt = <1500000>; 51862306a36Sopenharmony_ci regulator-max-microvolt = <2500000>; 51962306a36Sopenharmony_ci status = "disabled"; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ci rtc: rtc@58004000 { 52362306a36Sopenharmony_ci compatible = "st,stm32h7-rtc"; 52462306a36Sopenharmony_ci reg = <0x58004000 0x400>; 52562306a36Sopenharmony_ci clocks = <&rcc RTCAPB_CK>, <&rcc RTC_CK>; 52662306a36Sopenharmony_ci clock-names = "pclk", "rtc_ck"; 52762306a36Sopenharmony_ci assigned-clocks = <&rcc RTC_CK>; 52862306a36Sopenharmony_ci assigned-clock-parents = <&rcc LSE_CK>; 52962306a36Sopenharmony_ci interrupt-parent = <&exti>; 53062306a36Sopenharmony_ci interrupts = <17 IRQ_TYPE_EDGE_RISING>; 53162306a36Sopenharmony_ci st,syscfg = <&pwrcfg 0x00 0x100>; 53262306a36Sopenharmony_ci status = "disabled"; 53362306a36Sopenharmony_ci }; 53462306a36Sopenharmony_ci 53562306a36Sopenharmony_ci rcc: reset-clock-controller@58024400 { 53662306a36Sopenharmony_ci compatible = "st,stm32h743-rcc", "st,stm32-rcc"; 53762306a36Sopenharmony_ci reg = <0x58024400 0x400>; 53862306a36Sopenharmony_ci #clock-cells = <1>; 53962306a36Sopenharmony_ci #reset-cells = <1>; 54062306a36Sopenharmony_ci clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s>; 54162306a36Sopenharmony_ci st,syscfg = <&pwrcfg>; 54262306a36Sopenharmony_ci }; 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci pwrcfg: power-config@58024800 { 54562306a36Sopenharmony_ci compatible = "st,stm32-power-config", "syscon"; 54662306a36Sopenharmony_ci reg = <0x58024800 0x400>; 54762306a36Sopenharmony_ci }; 54862306a36Sopenharmony_ci 54962306a36Sopenharmony_ci adc_3: adc@58026000 { 55062306a36Sopenharmony_ci compatible = "st,stm32h7-adc-core"; 55162306a36Sopenharmony_ci reg = <0x58026000 0x400>; 55262306a36Sopenharmony_ci interrupts = <127>; 55362306a36Sopenharmony_ci clocks = <&rcc ADC3_CK>; 55462306a36Sopenharmony_ci clock-names = "bus"; 55562306a36Sopenharmony_ci interrupt-controller; 55662306a36Sopenharmony_ci #interrupt-cells = <1>; 55762306a36Sopenharmony_ci #address-cells = <1>; 55862306a36Sopenharmony_ci #size-cells = <0>; 55962306a36Sopenharmony_ci status = "disabled"; 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ci adc3: adc@0 { 56262306a36Sopenharmony_ci compatible = "st,stm32h7-adc"; 56362306a36Sopenharmony_ci #io-channel-cells = <1>; 56462306a36Sopenharmony_ci reg = <0x0>; 56562306a36Sopenharmony_ci interrupt-parent = <&adc_3>; 56662306a36Sopenharmony_ci interrupts = <0>; 56762306a36Sopenharmony_ci status = "disabled"; 56862306a36Sopenharmony_ci }; 56962306a36Sopenharmony_ci }; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci mac: ethernet@40028000 { 57262306a36Sopenharmony_ci compatible = "st,stm32-dwmac", "snps,dwmac-4.10a"; 57362306a36Sopenharmony_ci reg = <0x40028000 0x8000>; 57462306a36Sopenharmony_ci reg-names = "stmmaceth"; 57562306a36Sopenharmony_ci interrupts = <61>; 57662306a36Sopenharmony_ci interrupt-names = "macirq"; 57762306a36Sopenharmony_ci clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx"; 57862306a36Sopenharmony_ci clocks = <&rcc ETH1MAC_CK>, <&rcc ETH1TX_CK>, <&rcc ETH1RX_CK>; 57962306a36Sopenharmony_ci st,syscon = <&syscfg 0x4>; 58062306a36Sopenharmony_ci snps,pbl = <8>; 58162306a36Sopenharmony_ci status = "disabled"; 58262306a36Sopenharmony_ci }; 58362306a36Sopenharmony_ci 58462306a36Sopenharmony_ci pinctrl: pinctrl@58020000 { 58562306a36Sopenharmony_ci #address-cells = <1>; 58662306a36Sopenharmony_ci #size-cells = <1>; 58762306a36Sopenharmony_ci compatible = "st,stm32h743-pinctrl"; 58862306a36Sopenharmony_ci ranges = <0 0x58020000 0x3000>; 58962306a36Sopenharmony_ci interrupt-parent = <&exti>; 59062306a36Sopenharmony_ci st,syscfg = <&syscfg 0x8>; 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci gpioa: gpio@58020000 { 59362306a36Sopenharmony_ci gpio-controller; 59462306a36Sopenharmony_ci #gpio-cells = <2>; 59562306a36Sopenharmony_ci reg = <0x0 0x400>; 59662306a36Sopenharmony_ci clocks = <&rcc GPIOA_CK>; 59762306a36Sopenharmony_ci st,bank-name = "GPIOA"; 59862306a36Sopenharmony_ci interrupt-controller; 59962306a36Sopenharmony_ci #interrupt-cells = <2>; 60062306a36Sopenharmony_ci ngpios = <16>; 60162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 0 16>; 60262306a36Sopenharmony_ci }; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ci gpiob: gpio@58020400 { 60562306a36Sopenharmony_ci gpio-controller; 60662306a36Sopenharmony_ci #gpio-cells = <2>; 60762306a36Sopenharmony_ci reg = <0x400 0x400>; 60862306a36Sopenharmony_ci clocks = <&rcc GPIOB_CK>; 60962306a36Sopenharmony_ci st,bank-name = "GPIOB"; 61062306a36Sopenharmony_ci interrupt-controller; 61162306a36Sopenharmony_ci #interrupt-cells = <2>; 61262306a36Sopenharmony_ci ngpios = <16>; 61362306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 16 16>; 61462306a36Sopenharmony_ci }; 61562306a36Sopenharmony_ci 61662306a36Sopenharmony_ci gpioc: gpio@58020800 { 61762306a36Sopenharmony_ci gpio-controller; 61862306a36Sopenharmony_ci #gpio-cells = <2>; 61962306a36Sopenharmony_ci reg = <0x800 0x400>; 62062306a36Sopenharmony_ci clocks = <&rcc GPIOC_CK>; 62162306a36Sopenharmony_ci st,bank-name = "GPIOC"; 62262306a36Sopenharmony_ci interrupt-controller; 62362306a36Sopenharmony_ci #interrupt-cells = <2>; 62462306a36Sopenharmony_ci ngpios = <16>; 62562306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 32 16>; 62662306a36Sopenharmony_ci }; 62762306a36Sopenharmony_ci 62862306a36Sopenharmony_ci gpiod: gpio@58020c00 { 62962306a36Sopenharmony_ci gpio-controller; 63062306a36Sopenharmony_ci #gpio-cells = <2>; 63162306a36Sopenharmony_ci reg = <0xc00 0x400>; 63262306a36Sopenharmony_ci clocks = <&rcc GPIOD_CK>; 63362306a36Sopenharmony_ci st,bank-name = "GPIOD"; 63462306a36Sopenharmony_ci interrupt-controller; 63562306a36Sopenharmony_ci #interrupt-cells = <2>; 63662306a36Sopenharmony_ci ngpios = <16>; 63762306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 48 16>; 63862306a36Sopenharmony_ci }; 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ci gpioe: gpio@58021000 { 64162306a36Sopenharmony_ci gpio-controller; 64262306a36Sopenharmony_ci #gpio-cells = <2>; 64362306a36Sopenharmony_ci reg = <0x1000 0x400>; 64462306a36Sopenharmony_ci clocks = <&rcc GPIOE_CK>; 64562306a36Sopenharmony_ci st,bank-name = "GPIOE"; 64662306a36Sopenharmony_ci interrupt-controller; 64762306a36Sopenharmony_ci #interrupt-cells = <2>; 64862306a36Sopenharmony_ci ngpios = <16>; 64962306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 64 16>; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ci gpiof: gpio@58021400 { 65362306a36Sopenharmony_ci gpio-controller; 65462306a36Sopenharmony_ci #gpio-cells = <2>; 65562306a36Sopenharmony_ci reg = <0x1400 0x400>; 65662306a36Sopenharmony_ci clocks = <&rcc GPIOF_CK>; 65762306a36Sopenharmony_ci st,bank-name = "GPIOF"; 65862306a36Sopenharmony_ci interrupt-controller; 65962306a36Sopenharmony_ci #interrupt-cells = <2>; 66062306a36Sopenharmony_ci ngpios = <16>; 66162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 80 16>; 66262306a36Sopenharmony_ci }; 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ci gpiog: gpio@58021800 { 66562306a36Sopenharmony_ci gpio-controller; 66662306a36Sopenharmony_ci #gpio-cells = <2>; 66762306a36Sopenharmony_ci reg = <0x1800 0x400>; 66862306a36Sopenharmony_ci clocks = <&rcc GPIOG_CK>; 66962306a36Sopenharmony_ci st,bank-name = "GPIOG"; 67062306a36Sopenharmony_ci interrupt-controller; 67162306a36Sopenharmony_ci #interrupt-cells = <2>; 67262306a36Sopenharmony_ci ngpios = <16>; 67362306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 96 16>; 67462306a36Sopenharmony_ci }; 67562306a36Sopenharmony_ci 67662306a36Sopenharmony_ci gpioh: gpio@58021c00 { 67762306a36Sopenharmony_ci gpio-controller; 67862306a36Sopenharmony_ci #gpio-cells = <2>; 67962306a36Sopenharmony_ci reg = <0x1c00 0x400>; 68062306a36Sopenharmony_ci clocks = <&rcc GPIOH_CK>; 68162306a36Sopenharmony_ci st,bank-name = "GPIOH"; 68262306a36Sopenharmony_ci interrupt-controller; 68362306a36Sopenharmony_ci #interrupt-cells = <2>; 68462306a36Sopenharmony_ci ngpios = <16>; 68562306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 112 16>; 68662306a36Sopenharmony_ci }; 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_ci gpioi: gpio@58022000 { 68962306a36Sopenharmony_ci gpio-controller; 69062306a36Sopenharmony_ci #gpio-cells = <2>; 69162306a36Sopenharmony_ci reg = <0x2000 0x400>; 69262306a36Sopenharmony_ci clocks = <&rcc GPIOI_CK>; 69362306a36Sopenharmony_ci st,bank-name = "GPIOI"; 69462306a36Sopenharmony_ci interrupt-controller; 69562306a36Sopenharmony_ci #interrupt-cells = <2>; 69662306a36Sopenharmony_ci ngpios = <16>; 69762306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 128 16>; 69862306a36Sopenharmony_ci }; 69962306a36Sopenharmony_ci 70062306a36Sopenharmony_ci gpioj: gpio@58022400 { 70162306a36Sopenharmony_ci gpio-controller; 70262306a36Sopenharmony_ci #gpio-cells = <2>; 70362306a36Sopenharmony_ci reg = <0x2400 0x400>; 70462306a36Sopenharmony_ci clocks = <&rcc GPIOJ_CK>; 70562306a36Sopenharmony_ci st,bank-name = "GPIOJ"; 70662306a36Sopenharmony_ci interrupt-controller; 70762306a36Sopenharmony_ci #interrupt-cells = <2>; 70862306a36Sopenharmony_ci ngpios = <16>; 70962306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 144 16>; 71062306a36Sopenharmony_ci }; 71162306a36Sopenharmony_ci 71262306a36Sopenharmony_ci gpiok: gpio@58022800 { 71362306a36Sopenharmony_ci gpio-controller; 71462306a36Sopenharmony_ci #gpio-cells = <2>; 71562306a36Sopenharmony_ci reg = <0x2800 0x400>; 71662306a36Sopenharmony_ci clocks = <&rcc GPIOK_CK>; 71762306a36Sopenharmony_ci st,bank-name = "GPIOK"; 71862306a36Sopenharmony_ci interrupt-controller; 71962306a36Sopenharmony_ci #interrupt-cells = <2>; 72062306a36Sopenharmony_ci ngpios = <8>; 72162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 160 8>; 72262306a36Sopenharmony_ci }; 72362306a36Sopenharmony_ci }; 72462306a36Sopenharmony_ci }; 72562306a36Sopenharmony_ci}; 72662306a36Sopenharmony_ci 72762306a36Sopenharmony_ci&systick { 72862306a36Sopenharmony_ci clock-frequency = <250000000>; 72962306a36Sopenharmony_ci status = "okay"; 73062306a36Sopenharmony_ci}; 731