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