162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.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/stm32fx-clock.h> 4562306a36Sopenharmony_ci#include <dt-bindings/mfd/stm32f7-rcc.h> 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci/ { 4862306a36Sopenharmony_ci #address-cells = <1>; 4962306a36Sopenharmony_ci #size-cells = <1>; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci clocks { 5262306a36Sopenharmony_ci clk_hse: clk-hse { 5362306a36Sopenharmony_ci #clock-cells = <0>; 5462306a36Sopenharmony_ci compatible = "fixed-clock"; 5562306a36Sopenharmony_ci clock-frequency = <0>; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci clk-lse { 5962306a36Sopenharmony_ci #clock-cells = <0>; 6062306a36Sopenharmony_ci compatible = "fixed-clock"; 6162306a36Sopenharmony_ci clock-frequency = <32768>; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci clk-lsi { 6562306a36Sopenharmony_ci #clock-cells = <0>; 6662306a36Sopenharmony_ci compatible = "fixed-clock"; 6762306a36Sopenharmony_ci clock-frequency = <32000>; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci clk_i2s_ckin: clk-i2s-ckin { 7162306a36Sopenharmony_ci #clock-cells = <0>; 7262306a36Sopenharmony_ci compatible = "fixed-clock"; 7362306a36Sopenharmony_ci clock-frequency = <48000000>; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci soc { 7862306a36Sopenharmony_ci timers2: timers@40000000 { 7962306a36Sopenharmony_ci #address-cells = <1>; 8062306a36Sopenharmony_ci #size-cells = <0>; 8162306a36Sopenharmony_ci compatible = "st,stm32-timers"; 8262306a36Sopenharmony_ci reg = <0x40000000 0x400>; 8362306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM2)>; 8462306a36Sopenharmony_ci clock-names = "int"; 8562306a36Sopenharmony_ci status = "disabled"; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci pwm { 8862306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 8962306a36Sopenharmony_ci #pwm-cells = <3>; 9062306a36Sopenharmony_ci status = "disabled"; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci timer@1 { 9462306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 9562306a36Sopenharmony_ci reg = <1>; 9662306a36Sopenharmony_ci status = "disabled"; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci timers3: timers@40000400 { 10162306a36Sopenharmony_ci #address-cells = <1>; 10262306a36Sopenharmony_ci #size-cells = <0>; 10362306a36Sopenharmony_ci compatible = "st,stm32-timers"; 10462306a36Sopenharmony_ci reg = <0x40000400 0x400>; 10562306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM3)>; 10662306a36Sopenharmony_ci clock-names = "int"; 10762306a36Sopenharmony_ci status = "disabled"; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci pwm { 11062306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 11162306a36Sopenharmony_ci #pwm-cells = <3>; 11262306a36Sopenharmony_ci status = "disabled"; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci timer@2 { 11662306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 11762306a36Sopenharmony_ci reg = <2>; 11862306a36Sopenharmony_ci status = "disabled"; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci timers4: timers@40000800 { 12362306a36Sopenharmony_ci #address-cells = <1>; 12462306a36Sopenharmony_ci #size-cells = <0>; 12562306a36Sopenharmony_ci compatible = "st,stm32-timers"; 12662306a36Sopenharmony_ci reg = <0x40000800 0x400>; 12762306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM4)>; 12862306a36Sopenharmony_ci clock-names = "int"; 12962306a36Sopenharmony_ci status = "disabled"; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci pwm { 13262306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 13362306a36Sopenharmony_ci #pwm-cells = <3>; 13462306a36Sopenharmony_ci status = "disabled"; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci timer@3 { 13862306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 13962306a36Sopenharmony_ci reg = <3>; 14062306a36Sopenharmony_ci status = "disabled"; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci timers5: timers@40000c00 { 14562306a36Sopenharmony_ci #address-cells = <1>; 14662306a36Sopenharmony_ci #size-cells = <0>; 14762306a36Sopenharmony_ci compatible = "st,stm32-timers"; 14862306a36Sopenharmony_ci reg = <0x40000C00 0x400>; 14962306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>; 15062306a36Sopenharmony_ci clock-names = "int"; 15162306a36Sopenharmony_ci status = "disabled"; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci pwm { 15462306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 15562306a36Sopenharmony_ci #pwm-cells = <3>; 15662306a36Sopenharmony_ci status = "disabled"; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci timer@4 { 16062306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 16162306a36Sopenharmony_ci reg = <4>; 16262306a36Sopenharmony_ci status = "disabled"; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci timers6: timers@40001000 { 16762306a36Sopenharmony_ci #address-cells = <1>; 16862306a36Sopenharmony_ci #size-cells = <0>; 16962306a36Sopenharmony_ci compatible = "st,stm32-timers"; 17062306a36Sopenharmony_ci reg = <0x40001000 0x400>; 17162306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM6)>; 17262306a36Sopenharmony_ci clock-names = "int"; 17362306a36Sopenharmony_ci status = "disabled"; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci timer@5 { 17662306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 17762306a36Sopenharmony_ci reg = <5>; 17862306a36Sopenharmony_ci status = "disabled"; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci timers7: timers@40001400 { 18362306a36Sopenharmony_ci #address-cells = <1>; 18462306a36Sopenharmony_ci #size-cells = <0>; 18562306a36Sopenharmony_ci compatible = "st,stm32-timers"; 18662306a36Sopenharmony_ci reg = <0x40001400 0x400>; 18762306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM7)>; 18862306a36Sopenharmony_ci clock-names = "int"; 18962306a36Sopenharmony_ci status = "disabled"; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci timer@6 { 19262306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 19362306a36Sopenharmony_ci reg = <6>; 19462306a36Sopenharmony_ci status = "disabled"; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci }; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci timers12: timers@40001800 { 19962306a36Sopenharmony_ci #address-cells = <1>; 20062306a36Sopenharmony_ci #size-cells = <0>; 20162306a36Sopenharmony_ci compatible = "st,stm32-timers"; 20262306a36Sopenharmony_ci reg = <0x40001800 0x400>; 20362306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM12)>; 20462306a36Sopenharmony_ci clock-names = "int"; 20562306a36Sopenharmony_ci status = "disabled"; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci pwm { 20862306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 20962306a36Sopenharmony_ci #pwm-cells = <3>; 21062306a36Sopenharmony_ci status = "disabled"; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci timer@11 { 21462306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 21562306a36Sopenharmony_ci reg = <11>; 21662306a36Sopenharmony_ci status = "disabled"; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci timers13: timers@40001c00 { 22162306a36Sopenharmony_ci compatible = "st,stm32-timers"; 22262306a36Sopenharmony_ci reg = <0x40001C00 0x400>; 22362306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM13)>; 22462306a36Sopenharmony_ci clock-names = "int"; 22562306a36Sopenharmony_ci status = "disabled"; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci pwm { 22862306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 22962306a36Sopenharmony_ci #pwm-cells = <3>; 23062306a36Sopenharmony_ci status = "disabled"; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci timers14: timers@40002000 { 23562306a36Sopenharmony_ci compatible = "st,stm32-timers"; 23662306a36Sopenharmony_ci reg = <0x40002000 0x400>; 23762306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM14)>; 23862306a36Sopenharmony_ci clock-names = "int"; 23962306a36Sopenharmony_ci status = "disabled"; 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci pwm { 24262306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 24362306a36Sopenharmony_ci #pwm-cells = <3>; 24462306a36Sopenharmony_ci status = "disabled"; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci }; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci rtc: rtc@40002800 { 24962306a36Sopenharmony_ci compatible = "st,stm32-rtc"; 25062306a36Sopenharmony_ci reg = <0x40002800 0x400>; 25162306a36Sopenharmony_ci clocks = <&rcc 1 CLK_RTC>; 25262306a36Sopenharmony_ci assigned-clocks = <&rcc 1 CLK_RTC>; 25362306a36Sopenharmony_ci assigned-clock-parents = <&rcc 1 CLK_LSE>; 25462306a36Sopenharmony_ci interrupt-parent = <&exti>; 25562306a36Sopenharmony_ci interrupts = <17 1>; 25662306a36Sopenharmony_ci st,syscfg = <&pwrcfg 0x00 0x100>; 25762306a36Sopenharmony_ci status = "disabled"; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci can3: can@40003400 { 26162306a36Sopenharmony_ci compatible = "st,stm32f4-bxcan"; 26262306a36Sopenharmony_ci reg = <0x40003400 0x200>; 26362306a36Sopenharmony_ci interrupts = <104>, <105>, <106>, <107>; 26462306a36Sopenharmony_ci interrupt-names = "tx", "rx0", "rx1", "sce"; 26562306a36Sopenharmony_ci resets = <&rcc STM32F7_APB1_RESET(CAN3)>; 26662306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN3)>; 26762306a36Sopenharmony_ci st,gcan = <&gcan3>; 26862306a36Sopenharmony_ci status = "disabled"; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci gcan3: gcan@40003600 { 27262306a36Sopenharmony_ci compatible = "st,stm32f4-gcan", "syscon"; 27362306a36Sopenharmony_ci reg = <0x40003600 0x200>; 27462306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN3)>; 27562306a36Sopenharmony_ci }; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci usart2: serial@40004400 { 27862306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 27962306a36Sopenharmony_ci reg = <0x40004400 0x400>; 28062306a36Sopenharmony_ci interrupts = <38>; 28162306a36Sopenharmony_ci clocks = <&rcc 1 CLK_USART2>; 28262306a36Sopenharmony_ci status = "disabled"; 28362306a36Sopenharmony_ci }; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci usart3: serial@40004800 { 28662306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 28762306a36Sopenharmony_ci reg = <0x40004800 0x400>; 28862306a36Sopenharmony_ci interrupts = <39>; 28962306a36Sopenharmony_ci clocks = <&rcc 1 CLK_USART3>; 29062306a36Sopenharmony_ci status = "disabled"; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci usart4: serial@40004c00 { 29462306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 29562306a36Sopenharmony_ci reg = <0x40004c00 0x400>; 29662306a36Sopenharmony_ci interrupts = <52>; 29762306a36Sopenharmony_ci clocks = <&rcc 1 CLK_UART4>; 29862306a36Sopenharmony_ci status = "disabled"; 29962306a36Sopenharmony_ci }; 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci usart5: serial@40005000 { 30262306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 30362306a36Sopenharmony_ci reg = <0x40005000 0x400>; 30462306a36Sopenharmony_ci interrupts = <53>; 30562306a36Sopenharmony_ci clocks = <&rcc 1 CLK_UART5>; 30662306a36Sopenharmony_ci status = "disabled"; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci i2c1: i2c@40005400 { 31062306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 31162306a36Sopenharmony_ci reg = <0x40005400 0x400>; 31262306a36Sopenharmony_ci interrupts = <31>, 31362306a36Sopenharmony_ci <32>; 31462306a36Sopenharmony_ci resets = <&rcc STM32F7_APB1_RESET(I2C1)>; 31562306a36Sopenharmony_ci clocks = <&rcc 1 CLK_I2C1>; 31662306a36Sopenharmony_ci #address-cells = <1>; 31762306a36Sopenharmony_ci #size-cells = <0>; 31862306a36Sopenharmony_ci status = "disabled"; 31962306a36Sopenharmony_ci }; 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci i2c2: i2c@40005800 { 32262306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 32362306a36Sopenharmony_ci reg = <0x40005800 0x400>; 32462306a36Sopenharmony_ci interrupts = <33>, 32562306a36Sopenharmony_ci <34>; 32662306a36Sopenharmony_ci resets = <&rcc STM32F7_APB1_RESET(I2C2)>; 32762306a36Sopenharmony_ci clocks = <&rcc 1 CLK_I2C2>; 32862306a36Sopenharmony_ci #address-cells = <1>; 32962306a36Sopenharmony_ci #size-cells = <0>; 33062306a36Sopenharmony_ci status = "disabled"; 33162306a36Sopenharmony_ci }; 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci i2c3: i2c@40005c00 { 33462306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 33562306a36Sopenharmony_ci reg = <0x40005c00 0x400>; 33662306a36Sopenharmony_ci interrupts = <72>, 33762306a36Sopenharmony_ci <73>; 33862306a36Sopenharmony_ci resets = <&rcc STM32F7_APB1_RESET(I2C3)>; 33962306a36Sopenharmony_ci clocks = <&rcc 1 CLK_I2C3>; 34062306a36Sopenharmony_ci #address-cells = <1>; 34162306a36Sopenharmony_ci #size-cells = <0>; 34262306a36Sopenharmony_ci status = "disabled"; 34362306a36Sopenharmony_ci }; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci i2c4: i2c@40006000 { 34662306a36Sopenharmony_ci compatible = "st,stm32f7-i2c"; 34762306a36Sopenharmony_ci reg = <0x40006000 0x400>; 34862306a36Sopenharmony_ci interrupts = <95>, 34962306a36Sopenharmony_ci <96>; 35062306a36Sopenharmony_ci resets = <&rcc STM32F7_APB1_RESET(I2C4)>; 35162306a36Sopenharmony_ci clocks = <&rcc 1 CLK_I2C4>; 35262306a36Sopenharmony_ci #address-cells = <1>; 35362306a36Sopenharmony_ci #size-cells = <0>; 35462306a36Sopenharmony_ci status = "disabled"; 35562306a36Sopenharmony_ci }; 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci can1: can@40006400 { 35862306a36Sopenharmony_ci compatible = "st,stm32f4-bxcan"; 35962306a36Sopenharmony_ci reg = <0x40006400 0x200>; 36062306a36Sopenharmony_ci interrupts = <19>, <20>, <21>, <22>; 36162306a36Sopenharmony_ci interrupt-names = "tx", "rx0", "rx1", "sce"; 36262306a36Sopenharmony_ci resets = <&rcc STM32F7_APB1_RESET(CAN1)>; 36362306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN1)>; 36462306a36Sopenharmony_ci st,can-primary; 36562306a36Sopenharmony_ci st,gcan = <&gcan1>; 36662306a36Sopenharmony_ci status = "disabled"; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci gcan1: gcan@40006600 { 37062306a36Sopenharmony_ci compatible = "st,stm32f4-gcan", "syscon"; 37162306a36Sopenharmony_ci reg = <0x40006600 0x200>; 37262306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN1)>; 37362306a36Sopenharmony_ci }; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci can2: can@40006800 { 37662306a36Sopenharmony_ci compatible = "st,stm32f4-bxcan"; 37762306a36Sopenharmony_ci reg = <0x40006800 0x200>; 37862306a36Sopenharmony_ci interrupts = <63>, <64>, <65>, <66>; 37962306a36Sopenharmony_ci interrupt-names = "tx", "rx0", "rx1", "sce"; 38062306a36Sopenharmony_ci resets = <&rcc STM32F7_APB1_RESET(CAN2)>; 38162306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN2)>; 38262306a36Sopenharmony_ci st,can-secondary; 38362306a36Sopenharmony_ci st,gcan = <&gcan1>; 38462306a36Sopenharmony_ci status = "disabled"; 38562306a36Sopenharmony_ci }; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci cec: cec@40006c00 { 38862306a36Sopenharmony_ci compatible = "st,stm32-cec"; 38962306a36Sopenharmony_ci reg = <0x40006C00 0x400>; 39062306a36Sopenharmony_ci interrupts = <94>; 39162306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB1_CLOCK(CEC)>, <&rcc 1 CLK_HDMI_CEC>; 39262306a36Sopenharmony_ci clock-names = "cec", "hdmi-cec"; 39362306a36Sopenharmony_ci status = "disabled"; 39462306a36Sopenharmony_ci }; 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci usart7: serial@40007800 { 39762306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 39862306a36Sopenharmony_ci reg = <0x40007800 0x400>; 39962306a36Sopenharmony_ci interrupts = <82>; 40062306a36Sopenharmony_ci clocks = <&rcc 1 CLK_UART7>; 40162306a36Sopenharmony_ci status = "disabled"; 40262306a36Sopenharmony_ci }; 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci usart8: serial@40007c00 { 40562306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 40662306a36Sopenharmony_ci reg = <0x40007c00 0x400>; 40762306a36Sopenharmony_ci interrupts = <83>; 40862306a36Sopenharmony_ci clocks = <&rcc 1 CLK_UART8>; 40962306a36Sopenharmony_ci status = "disabled"; 41062306a36Sopenharmony_ci }; 41162306a36Sopenharmony_ci 41262306a36Sopenharmony_ci timers1: timers@40010000 { 41362306a36Sopenharmony_ci #address-cells = <1>; 41462306a36Sopenharmony_ci #size-cells = <0>; 41562306a36Sopenharmony_ci compatible = "st,stm32-timers"; 41662306a36Sopenharmony_ci reg = <0x40010000 0x400>; 41762306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM1)>; 41862306a36Sopenharmony_ci clock-names = "int"; 41962306a36Sopenharmony_ci status = "disabled"; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci pwm { 42262306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 42362306a36Sopenharmony_ci #pwm-cells = <3>; 42462306a36Sopenharmony_ci status = "disabled"; 42562306a36Sopenharmony_ci }; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci timer@0 { 42862306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 42962306a36Sopenharmony_ci reg = <0>; 43062306a36Sopenharmony_ci status = "disabled"; 43162306a36Sopenharmony_ci }; 43262306a36Sopenharmony_ci }; 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ci timers8: timers@40010400 { 43562306a36Sopenharmony_ci #address-cells = <1>; 43662306a36Sopenharmony_ci #size-cells = <0>; 43762306a36Sopenharmony_ci compatible = "st,stm32-timers"; 43862306a36Sopenharmony_ci reg = <0x40010400 0x400>; 43962306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM8)>; 44062306a36Sopenharmony_ci clock-names = "int"; 44162306a36Sopenharmony_ci status = "disabled"; 44262306a36Sopenharmony_ci 44362306a36Sopenharmony_ci pwm { 44462306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 44562306a36Sopenharmony_ci #pwm-cells = <3>; 44662306a36Sopenharmony_ci status = "disabled"; 44762306a36Sopenharmony_ci }; 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci timer@7 { 45062306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 45162306a36Sopenharmony_ci reg = <7>; 45262306a36Sopenharmony_ci status = "disabled"; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci usart1: serial@40011000 { 45762306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 45862306a36Sopenharmony_ci reg = <0x40011000 0x400>; 45962306a36Sopenharmony_ci interrupts = <37>; 46062306a36Sopenharmony_ci clocks = <&rcc 1 CLK_USART1>; 46162306a36Sopenharmony_ci status = "disabled"; 46262306a36Sopenharmony_ci }; 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ci usart6: serial@40011400 { 46562306a36Sopenharmony_ci compatible = "st,stm32f7-uart"; 46662306a36Sopenharmony_ci reg = <0x40011400 0x400>; 46762306a36Sopenharmony_ci interrupts = <71>; 46862306a36Sopenharmony_ci clocks = <&rcc 1 CLK_USART6>; 46962306a36Sopenharmony_ci status = "disabled"; 47062306a36Sopenharmony_ci }; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci sdio2: mmc@40011c00 { 47362306a36Sopenharmony_ci compatible = "arm,pl180", "arm,primecell"; 47462306a36Sopenharmony_ci arm,primecell-periphid = <0x00880180>; 47562306a36Sopenharmony_ci reg = <0x40011c00 0x400>; 47662306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC2)>; 47762306a36Sopenharmony_ci clock-names = "apb_pclk"; 47862306a36Sopenharmony_ci interrupts = <103>; 47962306a36Sopenharmony_ci max-frequency = <48000000>; 48062306a36Sopenharmony_ci status = "disabled"; 48162306a36Sopenharmony_ci }; 48262306a36Sopenharmony_ci 48362306a36Sopenharmony_ci sdio1: mmc@40012c00 { 48462306a36Sopenharmony_ci compatible = "arm,pl180", "arm,primecell"; 48562306a36Sopenharmony_ci arm,primecell-periphid = <0x00880180>; 48662306a36Sopenharmony_ci reg = <0x40012c00 0x400>; 48762306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC1)>; 48862306a36Sopenharmony_ci clock-names = "apb_pclk"; 48962306a36Sopenharmony_ci interrupts = <49>; 49062306a36Sopenharmony_ci max-frequency = <48000000>; 49162306a36Sopenharmony_ci status = "disabled"; 49262306a36Sopenharmony_ci }; 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ci syscfg: syscon@40013800 { 49562306a36Sopenharmony_ci compatible = "st,stm32-syscfg", "syscon"; 49662306a36Sopenharmony_ci reg = <0x40013800 0x400>; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci exti: interrupt-controller@40013c00 { 50062306a36Sopenharmony_ci compatible = "st,stm32-exti"; 50162306a36Sopenharmony_ci interrupt-controller; 50262306a36Sopenharmony_ci #interrupt-cells = <2>; 50362306a36Sopenharmony_ci reg = <0x40013C00 0x400>; 50462306a36Sopenharmony_ci interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>; 50562306a36Sopenharmony_ci }; 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ci timers9: timers@40014000 { 50862306a36Sopenharmony_ci #address-cells = <1>; 50962306a36Sopenharmony_ci #size-cells = <0>; 51062306a36Sopenharmony_ci compatible = "st,stm32-timers"; 51162306a36Sopenharmony_ci reg = <0x40014000 0x400>; 51262306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM9)>; 51362306a36Sopenharmony_ci clock-names = "int"; 51462306a36Sopenharmony_ci status = "disabled"; 51562306a36Sopenharmony_ci 51662306a36Sopenharmony_ci pwm { 51762306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 51862306a36Sopenharmony_ci #pwm-cells = <3>; 51962306a36Sopenharmony_ci status = "disabled"; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ci timer@8 { 52362306a36Sopenharmony_ci compatible = "st,stm32-timer-trigger"; 52462306a36Sopenharmony_ci reg = <8>; 52562306a36Sopenharmony_ci status = "disabled"; 52662306a36Sopenharmony_ci }; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ci timers10: timers@40014400 { 53062306a36Sopenharmony_ci compatible = "st,stm32-timers"; 53162306a36Sopenharmony_ci reg = <0x40014400 0x400>; 53262306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM10)>; 53362306a36Sopenharmony_ci clock-names = "int"; 53462306a36Sopenharmony_ci status = "disabled"; 53562306a36Sopenharmony_ci 53662306a36Sopenharmony_ci pwm { 53762306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 53862306a36Sopenharmony_ci #pwm-cells = <3>; 53962306a36Sopenharmony_ci status = "disabled"; 54062306a36Sopenharmony_ci }; 54162306a36Sopenharmony_ci }; 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_ci timers11: timers@40014800 { 54462306a36Sopenharmony_ci compatible = "st,stm32-timers"; 54562306a36Sopenharmony_ci reg = <0x40014800 0x400>; 54662306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM11)>; 54762306a36Sopenharmony_ci clock-names = "int"; 54862306a36Sopenharmony_ci status = "disabled"; 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_ci pwm { 55162306a36Sopenharmony_ci compatible = "st,stm32-pwm"; 55262306a36Sopenharmony_ci #pwm-cells = <3>; 55362306a36Sopenharmony_ci status = "disabled"; 55462306a36Sopenharmony_ci }; 55562306a36Sopenharmony_ci }; 55662306a36Sopenharmony_ci 55762306a36Sopenharmony_ci ltdc: display-controller@40016800 { 55862306a36Sopenharmony_ci compatible = "st,stm32-ltdc"; 55962306a36Sopenharmony_ci reg = <0x40016800 0x200>; 56062306a36Sopenharmony_ci interrupts = <88>, <89>; 56162306a36Sopenharmony_ci resets = <&rcc STM32F7_APB2_RESET(LTDC)>; 56262306a36Sopenharmony_ci clocks = <&rcc 1 CLK_LCD>; 56362306a36Sopenharmony_ci clock-names = "lcd"; 56462306a36Sopenharmony_ci status = "disabled"; 56562306a36Sopenharmony_ci }; 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ci pwrcfg: power-config@40007000 { 56862306a36Sopenharmony_ci compatible = "st,stm32-power-config", "syscon"; 56962306a36Sopenharmony_ci reg = <0x40007000 0x400>; 57062306a36Sopenharmony_ci }; 57162306a36Sopenharmony_ci 57262306a36Sopenharmony_ci crc: crc@40023000 { 57362306a36Sopenharmony_ci compatible = "st,stm32f7-crc"; 57462306a36Sopenharmony_ci reg = <0x40023000 0x400>; 57562306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_AHB1_CLOCK(CRC)>; 57662306a36Sopenharmony_ci status = "disabled"; 57762306a36Sopenharmony_ci }; 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci rcc: rcc@40023800 { 58062306a36Sopenharmony_ci #reset-cells = <1>; 58162306a36Sopenharmony_ci #clock-cells = <2>; 58262306a36Sopenharmony_ci compatible = "st,stm32f746-rcc", "st,stm32-rcc"; 58362306a36Sopenharmony_ci reg = <0x40023800 0x400>; 58462306a36Sopenharmony_ci clocks = <&clk_hse>, <&clk_i2s_ckin>; 58562306a36Sopenharmony_ci st,syscfg = <&pwrcfg>; 58662306a36Sopenharmony_ci assigned-clocks = <&rcc 1 CLK_HSE_RTC>; 58762306a36Sopenharmony_ci assigned-clock-rates = <1000000>; 58862306a36Sopenharmony_ci }; 58962306a36Sopenharmony_ci 59062306a36Sopenharmony_ci dma1: dma-controller@40026000 { 59162306a36Sopenharmony_ci compatible = "st,stm32-dma"; 59262306a36Sopenharmony_ci reg = <0x40026000 0x400>; 59362306a36Sopenharmony_ci interrupts = <11>, 59462306a36Sopenharmony_ci <12>, 59562306a36Sopenharmony_ci <13>, 59662306a36Sopenharmony_ci <14>, 59762306a36Sopenharmony_ci <15>, 59862306a36Sopenharmony_ci <16>, 59962306a36Sopenharmony_ci <17>, 60062306a36Sopenharmony_ci <47>; 60162306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA1)>; 60262306a36Sopenharmony_ci #dma-cells = <4>; 60362306a36Sopenharmony_ci status = "disabled"; 60462306a36Sopenharmony_ci }; 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci dma2: dma-controller@40026400 { 60762306a36Sopenharmony_ci compatible = "st,stm32-dma"; 60862306a36Sopenharmony_ci reg = <0x40026400 0x400>; 60962306a36Sopenharmony_ci interrupts = <56>, 61062306a36Sopenharmony_ci <57>, 61162306a36Sopenharmony_ci <58>, 61262306a36Sopenharmony_ci <59>, 61362306a36Sopenharmony_ci <60>, 61462306a36Sopenharmony_ci <68>, 61562306a36Sopenharmony_ci <69>, 61662306a36Sopenharmony_ci <70>; 61762306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA2)>; 61862306a36Sopenharmony_ci #dma-cells = <4>; 61962306a36Sopenharmony_ci st,mem2mem; 62062306a36Sopenharmony_ci status = "disabled"; 62162306a36Sopenharmony_ci }; 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_ci usbotg_hs: usb@40040000 { 62462306a36Sopenharmony_ci compatible = "st,stm32f7-hsotg"; 62562306a36Sopenharmony_ci reg = <0x40040000 0x40000>; 62662306a36Sopenharmony_ci interrupts = <77>; 62762306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHS)>; 62862306a36Sopenharmony_ci clock-names = "otg"; 62962306a36Sopenharmony_ci g-rx-fifo-size = <256>; 63062306a36Sopenharmony_ci g-np-tx-fifo-size = <32>; 63162306a36Sopenharmony_ci g-tx-fifo-size = <128 128 64 64 64 64 32 32>; 63262306a36Sopenharmony_ci status = "disabled"; 63362306a36Sopenharmony_ci }; 63462306a36Sopenharmony_ci 63562306a36Sopenharmony_ci usbotg_fs: usb@50000000 { 63662306a36Sopenharmony_ci compatible = "st,stm32f4x9-fsotg"; 63762306a36Sopenharmony_ci reg = <0x50000000 0x40000>; 63862306a36Sopenharmony_ci interrupts = <67>; 63962306a36Sopenharmony_ci clocks = <&rcc 0 STM32F7_AHB2_CLOCK(OTGFS)>; 64062306a36Sopenharmony_ci clock-names = "otg"; 64162306a36Sopenharmony_ci status = "disabled"; 64262306a36Sopenharmony_ci }; 64362306a36Sopenharmony_ci }; 64462306a36Sopenharmony_ci}; 64562306a36Sopenharmony_ci 64662306a36Sopenharmony_ci&systick { 64762306a36Sopenharmony_ci clocks = <&rcc 1 0>; 64862306a36Sopenharmony_ci status = "okay"; 64962306a36Sopenharmony_ci}; 650