xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/stm32h743.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com>
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * This file is dual-licensed: you can use it either under the terms
5*4882a593Smuzhiyun * of the GPL or the X11 license, at your option. Note that this dual
6*4882a593Smuzhiyun * licensing only applies to this file, and not this project as a
7*4882a593Smuzhiyun * whole.
8*4882a593Smuzhiyun *
9*4882a593Smuzhiyun *  a) This file is free software; you can redistribute it and/or
10*4882a593Smuzhiyun *     modify it under the terms of the GNU General Public License as
11*4882a593Smuzhiyun *     published by the Free Software Foundation; either version 2 of the
12*4882a593Smuzhiyun *     License, or (at your option) any later version.
13*4882a593Smuzhiyun *
14*4882a593Smuzhiyun *     This file is distributed in the hope that it will be useful,
15*4882a593Smuzhiyun *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16*4882a593Smuzhiyun *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17*4882a593Smuzhiyun *     GNU General Public License for more details.
18*4882a593Smuzhiyun *
19*4882a593Smuzhiyun * Or, alternatively,
20*4882a593Smuzhiyun *
21*4882a593Smuzhiyun *  b) Permission is hereby granted, free of charge, to any person
22*4882a593Smuzhiyun *     obtaining a copy of this software and associated documentation
23*4882a593Smuzhiyun *     files (the "Software"), to deal in the Software without
24*4882a593Smuzhiyun *     restriction, including without limitation the rights to use,
25*4882a593Smuzhiyun *     copy, modify, merge, publish, distribute, sublicense, and/or
26*4882a593Smuzhiyun *     sell copies of the Software, and to permit persons to whom the
27*4882a593Smuzhiyun *     Software is furnished to do so, subject to the following
28*4882a593Smuzhiyun *     conditions:
29*4882a593Smuzhiyun *
30*4882a593Smuzhiyun *     The above copyright notice and this permission notice shall be
31*4882a593Smuzhiyun *     included in all copies or substantial portions of the Software.
32*4882a593Smuzhiyun *
33*4882a593Smuzhiyun *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34*4882a593Smuzhiyun *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35*4882a593Smuzhiyun *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36*4882a593Smuzhiyun *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37*4882a593Smuzhiyun *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38*4882a593Smuzhiyun *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39*4882a593Smuzhiyun *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40*4882a593Smuzhiyun *     OTHER DEALINGS IN THE SOFTWARE.
41*4882a593Smuzhiyun */
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun#include "armv7-m.dtsi"
44*4882a593Smuzhiyun#include <dt-bindings/clock/stm32h7-clks.h>
45*4882a593Smuzhiyun#include <dt-bindings/mfd/stm32h7-rcc.h>
46*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun/ {
49*4882a593Smuzhiyun	#address-cells = <1>;
50*4882a593Smuzhiyun	#size-cells = <1>;
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun	clocks {
53*4882a593Smuzhiyun		clk_hse: clk-hse {
54*4882a593Smuzhiyun			#clock-cells = <0>;
55*4882a593Smuzhiyun			compatible = "fixed-clock";
56*4882a593Smuzhiyun			clock-frequency = <0>;
57*4882a593Smuzhiyun		};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun		clk_lse: clk-lse {
60*4882a593Smuzhiyun			#clock-cells = <0>;
61*4882a593Smuzhiyun			compatible = "fixed-clock";
62*4882a593Smuzhiyun			clock-frequency = <32768>;
63*4882a593Smuzhiyun		};
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun		clk_i2s: i2s_ckin {
66*4882a593Smuzhiyun			#clock-cells = <0>;
67*4882a593Smuzhiyun			compatible = "fixed-clock";
68*4882a593Smuzhiyun			clock-frequency = <0>;
69*4882a593Smuzhiyun		};
70*4882a593Smuzhiyun	};
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun	soc {
73*4882a593Smuzhiyun		timer5: timer@40000c00 {
74*4882a593Smuzhiyun			compatible = "st,stm32-timer";
75*4882a593Smuzhiyun			reg = <0x40000c00 0x400>;
76*4882a593Smuzhiyun			interrupts = <50>;
77*4882a593Smuzhiyun			clocks = <&rcc TIM5_CK>;
78*4882a593Smuzhiyun		};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun		lptimer1: timer@40002400 {
81*4882a593Smuzhiyun			#address-cells = <1>;
82*4882a593Smuzhiyun			#size-cells = <0>;
83*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
84*4882a593Smuzhiyun			reg = <0x40002400 0x400>;
85*4882a593Smuzhiyun			clocks = <&rcc LPTIM1_CK>;
86*4882a593Smuzhiyun			clock-names = "mux";
87*4882a593Smuzhiyun			status = "disabled";
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun			pwm {
90*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
91*4882a593Smuzhiyun				#pwm-cells = <3>;
92*4882a593Smuzhiyun				status = "disabled";
93*4882a593Smuzhiyun			};
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun			trigger@0 {
96*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-trigger";
97*4882a593Smuzhiyun				reg = <0>;
98*4882a593Smuzhiyun				status = "disabled";
99*4882a593Smuzhiyun			};
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun			counter {
102*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-counter";
103*4882a593Smuzhiyun				status = "disabled";
104*4882a593Smuzhiyun			};
105*4882a593Smuzhiyun		};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun		spi2: spi@40003800 {
108*4882a593Smuzhiyun			#address-cells = <1>;
109*4882a593Smuzhiyun			#size-cells = <0>;
110*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
111*4882a593Smuzhiyun			reg = <0x40003800 0x400>;
112*4882a593Smuzhiyun			interrupts = <36>;
113*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB1L_RESET(SPI2)>;
114*4882a593Smuzhiyun			clocks = <&rcc SPI2_CK>;
115*4882a593Smuzhiyun			status = "disabled";
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun		};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun		spi3: spi@40003c00 {
120*4882a593Smuzhiyun			#address-cells = <1>;
121*4882a593Smuzhiyun			#size-cells = <0>;
122*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
123*4882a593Smuzhiyun			reg = <0x40003c00 0x400>;
124*4882a593Smuzhiyun			interrupts = <51>;
125*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB1L_RESET(SPI3)>;
126*4882a593Smuzhiyun			clocks = <&rcc SPI3_CK>;
127*4882a593Smuzhiyun			status = "disabled";
128*4882a593Smuzhiyun		};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun		usart2: serial@40004400 {
131*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
132*4882a593Smuzhiyun			reg = <0x40004400 0x400>;
133*4882a593Smuzhiyun			interrupts = <38>;
134*4882a593Smuzhiyun			status = "disabled";
135*4882a593Smuzhiyun			clocks = <&rcc USART2_CK>;
136*4882a593Smuzhiyun		};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		i2c1: i2c@40005400 {
139*4882a593Smuzhiyun			compatible = "st,stm32f7-i2c";
140*4882a593Smuzhiyun			#address-cells = <1>;
141*4882a593Smuzhiyun			#size-cells = <0>;
142*4882a593Smuzhiyun			reg = <0x40005400 0x400>;
143*4882a593Smuzhiyun			interrupts = <31>,
144*4882a593Smuzhiyun				     <32>;
145*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB1L_RESET(I2C1)>;
146*4882a593Smuzhiyun			clocks = <&rcc I2C1_CK>;
147*4882a593Smuzhiyun			status = "disabled";
148*4882a593Smuzhiyun		};
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun		i2c2: i2c@40005800 {
151*4882a593Smuzhiyun			compatible = "st,stm32f7-i2c";
152*4882a593Smuzhiyun			#address-cells = <1>;
153*4882a593Smuzhiyun			#size-cells = <0>;
154*4882a593Smuzhiyun			reg = <0x40005800 0x400>;
155*4882a593Smuzhiyun			interrupts = <33>,
156*4882a593Smuzhiyun				     <34>;
157*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB1L_RESET(I2C2)>;
158*4882a593Smuzhiyun			clocks = <&rcc I2C2_CK>;
159*4882a593Smuzhiyun			status = "disabled";
160*4882a593Smuzhiyun		};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun		i2c3: i2c@40005C00 {
163*4882a593Smuzhiyun			compatible = "st,stm32f7-i2c";
164*4882a593Smuzhiyun			#address-cells = <1>;
165*4882a593Smuzhiyun			#size-cells = <0>;
166*4882a593Smuzhiyun			reg = <0x40005C00 0x400>;
167*4882a593Smuzhiyun			interrupts = <72>,
168*4882a593Smuzhiyun				     <73>;
169*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB1L_RESET(I2C3)>;
170*4882a593Smuzhiyun			clocks = <&rcc I2C3_CK>;
171*4882a593Smuzhiyun			status = "disabled";
172*4882a593Smuzhiyun		};
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun		dac: dac@40007400 {
175*4882a593Smuzhiyun			compatible = "st,stm32h7-dac-core";
176*4882a593Smuzhiyun			reg = <0x40007400 0x400>;
177*4882a593Smuzhiyun			clocks = <&rcc DAC12_CK>;
178*4882a593Smuzhiyun			clock-names = "pclk";
179*4882a593Smuzhiyun			#address-cells = <1>;
180*4882a593Smuzhiyun			#size-cells = <0>;
181*4882a593Smuzhiyun			status = "disabled";
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun			dac1: dac@1 {
184*4882a593Smuzhiyun				compatible = "st,stm32-dac";
185*4882a593Smuzhiyun				#io-channel-cells = <1>;
186*4882a593Smuzhiyun				reg = <1>;
187*4882a593Smuzhiyun				status = "disabled";
188*4882a593Smuzhiyun			};
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun			dac2: dac@2 {
191*4882a593Smuzhiyun				compatible = "st,stm32-dac";
192*4882a593Smuzhiyun				#io-channel-cells = <1>;
193*4882a593Smuzhiyun				reg = <2>;
194*4882a593Smuzhiyun				status = "disabled";
195*4882a593Smuzhiyun			};
196*4882a593Smuzhiyun		};
197*4882a593Smuzhiyun
198*4882a593Smuzhiyun		usart1: serial@40011000 {
199*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
200*4882a593Smuzhiyun			reg = <0x40011000 0x400>;
201*4882a593Smuzhiyun			interrupts = <37>;
202*4882a593Smuzhiyun			status = "disabled";
203*4882a593Smuzhiyun			clocks = <&rcc USART1_CK>;
204*4882a593Smuzhiyun		};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun		spi1: spi@40013000 {
207*4882a593Smuzhiyun			#address-cells = <1>;
208*4882a593Smuzhiyun			#size-cells = <0>;
209*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
210*4882a593Smuzhiyun			reg = <0x40013000 0x400>;
211*4882a593Smuzhiyun			interrupts = <35>;
212*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB2_RESET(SPI1)>;
213*4882a593Smuzhiyun			clocks = <&rcc SPI1_CK>;
214*4882a593Smuzhiyun			status = "disabled";
215*4882a593Smuzhiyun		};
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun		spi4: spi@40013400 {
218*4882a593Smuzhiyun			#address-cells = <1>;
219*4882a593Smuzhiyun			#size-cells = <0>;
220*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
221*4882a593Smuzhiyun			reg = <0x40013400 0x400>;
222*4882a593Smuzhiyun			interrupts = <84>;
223*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB2_RESET(SPI4)>;
224*4882a593Smuzhiyun			clocks = <&rcc SPI4_CK>;
225*4882a593Smuzhiyun			status = "disabled";
226*4882a593Smuzhiyun		};
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun		spi5: spi@40015000 {
229*4882a593Smuzhiyun			#address-cells = <1>;
230*4882a593Smuzhiyun			#size-cells = <0>;
231*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
232*4882a593Smuzhiyun			reg = <0x40015000 0x400>;
233*4882a593Smuzhiyun			interrupts = <85>;
234*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB2_RESET(SPI5)>;
235*4882a593Smuzhiyun			clocks = <&rcc SPI5_CK>;
236*4882a593Smuzhiyun			status = "disabled";
237*4882a593Smuzhiyun		};
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun		dma1: dma-controller@40020000 {
240*4882a593Smuzhiyun			compatible = "st,stm32-dma";
241*4882a593Smuzhiyun			reg = <0x40020000 0x400>;
242*4882a593Smuzhiyun			interrupts = <11>,
243*4882a593Smuzhiyun				     <12>,
244*4882a593Smuzhiyun				     <13>,
245*4882a593Smuzhiyun				     <14>,
246*4882a593Smuzhiyun				     <15>,
247*4882a593Smuzhiyun				     <16>,
248*4882a593Smuzhiyun				     <17>,
249*4882a593Smuzhiyun				     <47>;
250*4882a593Smuzhiyun			clocks = <&rcc DMA1_CK>;
251*4882a593Smuzhiyun			#dma-cells = <4>;
252*4882a593Smuzhiyun			st,mem2mem;
253*4882a593Smuzhiyun			dma-requests = <8>;
254*4882a593Smuzhiyun			status = "disabled";
255*4882a593Smuzhiyun		};
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun		dma2: dma-controller@40020400 {
258*4882a593Smuzhiyun			compatible = "st,stm32-dma";
259*4882a593Smuzhiyun			reg = <0x40020400 0x400>;
260*4882a593Smuzhiyun			interrupts = <56>,
261*4882a593Smuzhiyun				     <57>,
262*4882a593Smuzhiyun				     <58>,
263*4882a593Smuzhiyun				     <59>,
264*4882a593Smuzhiyun				     <60>,
265*4882a593Smuzhiyun				     <68>,
266*4882a593Smuzhiyun				     <69>,
267*4882a593Smuzhiyun				     <70>;
268*4882a593Smuzhiyun			clocks = <&rcc DMA2_CK>;
269*4882a593Smuzhiyun			#dma-cells = <4>;
270*4882a593Smuzhiyun			st,mem2mem;
271*4882a593Smuzhiyun			dma-requests = <8>;
272*4882a593Smuzhiyun			status = "disabled";
273*4882a593Smuzhiyun		};
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun		dmamux1: dma-router@40020800 {
276*4882a593Smuzhiyun			compatible = "st,stm32h7-dmamux";
277*4882a593Smuzhiyun			reg = <0x40020800 0x1c>;
278*4882a593Smuzhiyun			#dma-cells = <3>;
279*4882a593Smuzhiyun			dma-channels = <16>;
280*4882a593Smuzhiyun			dma-requests = <128>;
281*4882a593Smuzhiyun			dma-masters = <&dma1 &dma2>;
282*4882a593Smuzhiyun			clocks = <&rcc DMA1_CK>;
283*4882a593Smuzhiyun		};
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun		adc_12: adc@40022000 {
286*4882a593Smuzhiyun			compatible = "st,stm32h7-adc-core";
287*4882a593Smuzhiyun			reg = <0x40022000 0x400>;
288*4882a593Smuzhiyun			interrupts = <18>;
289*4882a593Smuzhiyun			clocks = <&rcc ADC12_CK>;
290*4882a593Smuzhiyun			clock-names = "bus";
291*4882a593Smuzhiyun			interrupt-controller;
292*4882a593Smuzhiyun			#interrupt-cells = <1>;
293*4882a593Smuzhiyun			#address-cells = <1>;
294*4882a593Smuzhiyun			#size-cells = <0>;
295*4882a593Smuzhiyun			status = "disabled";
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun			adc1: adc@0 {
298*4882a593Smuzhiyun				compatible = "st,stm32h7-adc";
299*4882a593Smuzhiyun				#io-channel-cells = <1>;
300*4882a593Smuzhiyun				reg = <0x0>;
301*4882a593Smuzhiyun				interrupt-parent = <&adc_12>;
302*4882a593Smuzhiyun				interrupts = <0>;
303*4882a593Smuzhiyun				status = "disabled";
304*4882a593Smuzhiyun			};
305*4882a593Smuzhiyun
306*4882a593Smuzhiyun			adc2: adc@100 {
307*4882a593Smuzhiyun				compatible = "st,stm32h7-adc";
308*4882a593Smuzhiyun				#io-channel-cells = <1>;
309*4882a593Smuzhiyun				reg = <0x100>;
310*4882a593Smuzhiyun				interrupt-parent = <&adc_12>;
311*4882a593Smuzhiyun				interrupts = <1>;
312*4882a593Smuzhiyun				status = "disabled";
313*4882a593Smuzhiyun			};
314*4882a593Smuzhiyun		};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun		usbotg_hs: usb@40040000 {
317*4882a593Smuzhiyun			compatible = "st,stm32f7-hsotg";
318*4882a593Smuzhiyun			reg = <0x40040000 0x40000>;
319*4882a593Smuzhiyun			interrupts = <77>;
320*4882a593Smuzhiyun			clocks = <&rcc USB1OTG_CK>;
321*4882a593Smuzhiyun			clock-names = "otg";
322*4882a593Smuzhiyun			g-rx-fifo-size = <256>;
323*4882a593Smuzhiyun			g-np-tx-fifo-size = <32>;
324*4882a593Smuzhiyun			g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
325*4882a593Smuzhiyun			status = "disabled";
326*4882a593Smuzhiyun		};
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun		usbotg_fs: usb@40080000 {
329*4882a593Smuzhiyun			compatible = "st,stm32f4x9-fsotg";
330*4882a593Smuzhiyun			reg = <0x40080000 0x40000>;
331*4882a593Smuzhiyun			interrupts = <101>;
332*4882a593Smuzhiyun			clocks = <&rcc USB2OTG_CK>;
333*4882a593Smuzhiyun			clock-names = "otg";
334*4882a593Smuzhiyun			status = "disabled";
335*4882a593Smuzhiyun		};
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun		ltdc: display-controller@50001000 {
338*4882a593Smuzhiyun			compatible = "st,stm32-ltdc";
339*4882a593Smuzhiyun			reg = <0x50001000 0x200>;
340*4882a593Smuzhiyun			interrupts = <88>, <89>;
341*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB3_RESET(LTDC)>;
342*4882a593Smuzhiyun			clocks = <&rcc LTDC_CK>;
343*4882a593Smuzhiyun			clock-names = "lcd";
344*4882a593Smuzhiyun			status = "disabled";
345*4882a593Smuzhiyun		};
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun		mdma1: dma-controller@52000000 {
348*4882a593Smuzhiyun			compatible = "st,stm32h7-mdma";
349*4882a593Smuzhiyun			reg = <0x52000000 0x1000>;
350*4882a593Smuzhiyun			interrupts = <122>;
351*4882a593Smuzhiyun			clocks = <&rcc MDMA_CK>;
352*4882a593Smuzhiyun			#dma-cells = <5>;
353*4882a593Smuzhiyun			dma-channels = <16>;
354*4882a593Smuzhiyun			dma-requests = <32>;
355*4882a593Smuzhiyun		};
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun		sdmmc1: sdmmc@52007000 {
358*4882a593Smuzhiyun			compatible = "arm,pl18x", "arm,primecell";
359*4882a593Smuzhiyun			arm,primecell-periphid = <0x10153180>;
360*4882a593Smuzhiyun			reg = <0x52007000 0x1000>;
361*4882a593Smuzhiyun			interrupts = <49>;
362*4882a593Smuzhiyun			interrupt-names	= "cmd_irq";
363*4882a593Smuzhiyun			clocks = <&rcc SDMMC1_CK>;
364*4882a593Smuzhiyun			clock-names = "apb_pclk";
365*4882a593Smuzhiyun			resets = <&rcc STM32H7_AHB3_RESET(SDMMC1)>;
366*4882a593Smuzhiyun			cap-sd-highspeed;
367*4882a593Smuzhiyun			cap-mmc-highspeed;
368*4882a593Smuzhiyun			max-frequency = <120000000>;
369*4882a593Smuzhiyun		};
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun		exti: interrupt-controller@58000000 {
372*4882a593Smuzhiyun			compatible = "st,stm32h7-exti";
373*4882a593Smuzhiyun			interrupt-controller;
374*4882a593Smuzhiyun			#interrupt-cells = <2>;
375*4882a593Smuzhiyun			reg = <0x58000000 0x400>;
376*4882a593Smuzhiyun			interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <62>, <76>;
377*4882a593Smuzhiyun		};
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun		syscfg: syscon@58000400 {
380*4882a593Smuzhiyun			compatible = "st,stm32-syscfg", "syscon";
381*4882a593Smuzhiyun			reg = <0x58000400 0x400>;
382*4882a593Smuzhiyun		};
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun		spi6: spi@58001400 {
385*4882a593Smuzhiyun			#address-cells = <1>;
386*4882a593Smuzhiyun			#size-cells = <0>;
387*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
388*4882a593Smuzhiyun			reg = <0x58001400 0x400>;
389*4882a593Smuzhiyun			interrupts = <86>;
390*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB4_RESET(SPI6)>;
391*4882a593Smuzhiyun			clocks = <&rcc SPI6_CK>;
392*4882a593Smuzhiyun			status = "disabled";
393*4882a593Smuzhiyun		};
394*4882a593Smuzhiyun
395*4882a593Smuzhiyun		i2c4: i2c@58001C00 {
396*4882a593Smuzhiyun			compatible = "st,stm32f7-i2c";
397*4882a593Smuzhiyun			#address-cells = <1>;
398*4882a593Smuzhiyun			#size-cells = <0>;
399*4882a593Smuzhiyun			reg = <0x58001C00 0x400>;
400*4882a593Smuzhiyun			interrupts = <95>,
401*4882a593Smuzhiyun				     <96>;
402*4882a593Smuzhiyun			resets = <&rcc STM32H7_APB4_RESET(I2C4)>;
403*4882a593Smuzhiyun			clocks = <&rcc I2C4_CK>;
404*4882a593Smuzhiyun			status = "disabled";
405*4882a593Smuzhiyun		};
406*4882a593Smuzhiyun
407*4882a593Smuzhiyun		lptimer2: timer@58002400 {
408*4882a593Smuzhiyun			#address-cells = <1>;
409*4882a593Smuzhiyun			#size-cells = <0>;
410*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
411*4882a593Smuzhiyun			reg = <0x58002400 0x400>;
412*4882a593Smuzhiyun			clocks = <&rcc LPTIM2_CK>;
413*4882a593Smuzhiyun			clock-names = "mux";
414*4882a593Smuzhiyun			status = "disabled";
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun			pwm {
417*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
418*4882a593Smuzhiyun				#pwm-cells = <3>;
419*4882a593Smuzhiyun				status = "disabled";
420*4882a593Smuzhiyun			};
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun			trigger@1 {
423*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-trigger";
424*4882a593Smuzhiyun				reg = <1>;
425*4882a593Smuzhiyun				status = "disabled";
426*4882a593Smuzhiyun			};
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun			counter {
429*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-counter";
430*4882a593Smuzhiyun				status = "disabled";
431*4882a593Smuzhiyun			};
432*4882a593Smuzhiyun		};
433*4882a593Smuzhiyun
434*4882a593Smuzhiyun		lptimer3: timer@58002800 {
435*4882a593Smuzhiyun			#address-cells = <1>;
436*4882a593Smuzhiyun			#size-cells = <0>;
437*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
438*4882a593Smuzhiyun			reg = <0x58002800 0x400>;
439*4882a593Smuzhiyun			clocks = <&rcc LPTIM3_CK>;
440*4882a593Smuzhiyun			clock-names = "mux";
441*4882a593Smuzhiyun			status = "disabled";
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun			pwm {
444*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
445*4882a593Smuzhiyun				#pwm-cells = <3>;
446*4882a593Smuzhiyun				status = "disabled";
447*4882a593Smuzhiyun			};
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun			trigger@2 {
450*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-trigger";
451*4882a593Smuzhiyun				reg = <2>;
452*4882a593Smuzhiyun				status = "disabled";
453*4882a593Smuzhiyun			};
454*4882a593Smuzhiyun		};
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun		lptimer4: timer@58002c00 {
457*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
458*4882a593Smuzhiyun			reg = <0x58002c00 0x400>;
459*4882a593Smuzhiyun			clocks = <&rcc LPTIM4_CK>;
460*4882a593Smuzhiyun			clock-names = "mux";
461*4882a593Smuzhiyun			status = "disabled";
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun			pwm {
464*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
465*4882a593Smuzhiyun				#pwm-cells = <3>;
466*4882a593Smuzhiyun				status = "disabled";
467*4882a593Smuzhiyun			};
468*4882a593Smuzhiyun		};
469*4882a593Smuzhiyun
470*4882a593Smuzhiyun		lptimer5: timer@58003000 {
471*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
472*4882a593Smuzhiyun			reg = <0x58003000 0x400>;
473*4882a593Smuzhiyun			clocks = <&rcc LPTIM5_CK>;
474*4882a593Smuzhiyun			clock-names = "mux";
475*4882a593Smuzhiyun			status = "disabled";
476*4882a593Smuzhiyun
477*4882a593Smuzhiyun			pwm {
478*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
479*4882a593Smuzhiyun				#pwm-cells = <3>;
480*4882a593Smuzhiyun				status = "disabled";
481*4882a593Smuzhiyun			};
482*4882a593Smuzhiyun		};
483*4882a593Smuzhiyun
484*4882a593Smuzhiyun		vrefbuf: regulator@58003c00 {
485*4882a593Smuzhiyun			compatible = "st,stm32-vrefbuf";
486*4882a593Smuzhiyun			reg = <0x58003C00 0x8>;
487*4882a593Smuzhiyun			clocks = <&rcc VREF_CK>;
488*4882a593Smuzhiyun			regulator-min-microvolt = <1500000>;
489*4882a593Smuzhiyun			regulator-max-microvolt = <2500000>;
490*4882a593Smuzhiyun			status = "disabled";
491*4882a593Smuzhiyun		};
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun		rtc: rtc@58004000 {
494*4882a593Smuzhiyun			compatible = "st,stm32h7-rtc";
495*4882a593Smuzhiyun			reg = <0x58004000 0x400>;
496*4882a593Smuzhiyun			clocks = <&rcc RTCAPB_CK>, <&rcc RTC_CK>;
497*4882a593Smuzhiyun			clock-names = "pclk", "rtc_ck";
498*4882a593Smuzhiyun			assigned-clocks = <&rcc RTC_CK>;
499*4882a593Smuzhiyun			assigned-clock-parents = <&rcc LSE_CK>;
500*4882a593Smuzhiyun			interrupt-parent = <&exti>;
501*4882a593Smuzhiyun			interrupts = <17 IRQ_TYPE_EDGE_RISING>;
502*4882a593Smuzhiyun			st,syscfg = <&pwrcfg 0x00 0x100>;
503*4882a593Smuzhiyun			status = "disabled";
504*4882a593Smuzhiyun		};
505*4882a593Smuzhiyun
506*4882a593Smuzhiyun		rcc: reset-clock-controller@58024400 {
507*4882a593Smuzhiyun			compatible = "st,stm32h743-rcc", "st,stm32-rcc";
508*4882a593Smuzhiyun			reg = <0x58024400 0x400>;
509*4882a593Smuzhiyun			#clock-cells = <1>;
510*4882a593Smuzhiyun			#reset-cells = <1>;
511*4882a593Smuzhiyun			clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s>;
512*4882a593Smuzhiyun			st,syscfg = <&pwrcfg>;
513*4882a593Smuzhiyun		};
514*4882a593Smuzhiyun
515*4882a593Smuzhiyun		pwrcfg: power-config@58024800 {
516*4882a593Smuzhiyun			compatible = "st,stm32-power-config", "syscon";
517*4882a593Smuzhiyun			reg = <0x58024800 0x400>;
518*4882a593Smuzhiyun		};
519*4882a593Smuzhiyun
520*4882a593Smuzhiyun		adc_3: adc@58026000 {
521*4882a593Smuzhiyun			compatible = "st,stm32h7-adc-core";
522*4882a593Smuzhiyun			reg = <0x58026000 0x400>;
523*4882a593Smuzhiyun			interrupts = <127>;
524*4882a593Smuzhiyun			clocks = <&rcc ADC3_CK>;
525*4882a593Smuzhiyun			clock-names = "bus";
526*4882a593Smuzhiyun			interrupt-controller;
527*4882a593Smuzhiyun			#interrupt-cells = <1>;
528*4882a593Smuzhiyun			#address-cells = <1>;
529*4882a593Smuzhiyun			#size-cells = <0>;
530*4882a593Smuzhiyun			status = "disabled";
531*4882a593Smuzhiyun
532*4882a593Smuzhiyun			adc3: adc@0 {
533*4882a593Smuzhiyun				compatible = "st,stm32h7-adc";
534*4882a593Smuzhiyun				#io-channel-cells = <1>;
535*4882a593Smuzhiyun				reg = <0x0>;
536*4882a593Smuzhiyun				interrupt-parent = <&adc_3>;
537*4882a593Smuzhiyun				interrupts = <0>;
538*4882a593Smuzhiyun				status = "disabled";
539*4882a593Smuzhiyun			};
540*4882a593Smuzhiyun		};
541*4882a593Smuzhiyun
542*4882a593Smuzhiyun		mac: ethernet@40028000 {
543*4882a593Smuzhiyun			compatible = "st,stm32-dwmac", "snps,dwmac-4.10a";
544*4882a593Smuzhiyun			reg = <0x40028000 0x8000>;
545*4882a593Smuzhiyun			reg-names = "stmmaceth";
546*4882a593Smuzhiyun			interrupts = <61>;
547*4882a593Smuzhiyun			interrupt-names = "macirq";
548*4882a593Smuzhiyun			clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
549*4882a593Smuzhiyun			clocks = <&rcc ETH1MAC_CK>, <&rcc ETH1TX_CK>, <&rcc ETH1RX_CK>;
550*4882a593Smuzhiyun			st,syscon = <&syscfg 0x4>;
551*4882a593Smuzhiyun			snps,pbl = <8>;
552*4882a593Smuzhiyun			status = "disabled";
553*4882a593Smuzhiyun		};
554*4882a593Smuzhiyun	};
555*4882a593Smuzhiyun};
556*4882a593Smuzhiyun
557*4882a593Smuzhiyun&systick {
558*4882a593Smuzhiyun	clock-frequency = <250000000>;
559*4882a593Smuzhiyun	status = "okay";
560*4882a593Smuzhiyun};
561