Commit | Line | Data |
---|---|---|
500cdb23 AT |
1 | /* |
2 | * Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com> | |
3 | * | |
4 | * This file is dual-licensed: you can use it either under the terms | |
5 | * of the GPL or the X11 license, at your option. Note that this dual | |
6 | * licensing only applies to this file, and not this project as a | |
7 | * whole. | |
8 | * | |
9 | * a) This file is free software; you can redistribute it and/or | |
10 | * modify it under the terms of the GNU General Public License as | |
11 | * published by the Free Software Foundation; either version 2 of the | |
12 | * License, or (at your option) any later version. | |
13 | * | |
14 | * This file is distributed in the hope that it will be useful, | |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | * GNU General Public License for more details. | |
18 | * | |
19 | * Or, alternatively, | |
20 | * | |
21 | * b) Permission is hereby granted, free of charge, to any person | |
22 | * obtaining a copy of this software and associated documentation | |
23 | * files (the "Software"), to deal in the Software without | |
24 | * restriction, including without limitation the rights to use, | |
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | |
26 | * sell copies of the Software, and to permit persons to whom the | |
27 | * Software is furnished to do so, subject to the following | |
28 | * conditions: | |
29 | * | |
30 | * The above copyright notice and this permission notice shall be | |
31 | * included in all copies or substantial portions of the Software. | |
32 | * | |
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
40 | * OTHER DEALINGS IN THE SOFTWARE. | |
41 | */ | |
42 | ||
43 | #include "skeleton.dtsi" | |
44 | #include "armv7-m.dtsi" | |
6d3b3745 GF |
45 | #include <dt-bindings/clock/stm32h7-clks.h> |
46 | #include <dt-bindings/mfd/stm32h7-rcc.h> | |
500cdb23 AT |
47 | |
48 | / { | |
49 | clocks { | |
50 | clk_hse: clk-hse { | |
51 | #clock-cells = <0>; | |
52 | compatible = "fixed-clock"; | |
53 | clock-frequency = <0>; | |
54 | }; | |
55 | ||
6d3b3745 | 56 | clk_lse: clk-lse { |
500cdb23 AT |
57 | #clock-cells = <0>; |
58 | compatible = "fixed-clock"; | |
6d3b3745 GF |
59 | clock-frequency = <32768>; |
60 | }; | |
61 | ||
62 | clk_i2s: i2s_ckin { | |
63 | #clock-cells = <0>; | |
64 | compatible = "fixed-clock"; | |
65 | clock-frequency = <0>; | |
500cdb23 AT |
66 | }; |
67 | }; | |
68 | ||
69 | soc { | |
978edf15 AT |
70 | timer5: timer@40000c00 { |
71 | compatible = "st,stm32-timer"; | |
72 | reg = <0x40000c00 0x400>; | |
73 | interrupts = <50>; | |
6d3b3745 | 74 | clocks = <&rcc TIM5_CK>; |
500cdb23 AT |
75 | }; |
76 | ||
74f4c322 FG |
77 | lptimer1: timer@40002400 { |
78 | #address-cells = <1>; | |
79 | #size-cells = <0>; | |
80 | compatible = "st,stm32-lptimer"; | |
81 | reg = <0x40002400 0x400>; | |
6d3b3745 | 82 | clocks = <&rcc LPTIM1_CK>; |
74f4c322 FG |
83 | clock-names = "mux"; |
84 | status = "disabled"; | |
85 | ||
86 | pwm { | |
87 | compatible = "st,stm32-pwm-lp"; | |
88 | status = "disabled"; | |
89 | }; | |
90 | ||
91 | trigger@0 { | |
92 | compatible = "st,stm32-lptimer-trigger"; | |
93 | reg = <0>; | |
94 | status = "disabled"; | |
95 | }; | |
96 | ||
97 | counter { | |
98 | compatible = "st,stm32-lptimer-counter"; | |
99 | status = "disabled"; | |
100 | }; | |
500cdb23 AT |
101 | }; |
102 | ||
a56678cd | 103 | usart2: serial@40004400 { |
6c7b8412 | 104 | compatible = "st,stm32f7-uart"; |
a56678cd PC |
105 | reg = <0x40004400 0x400>; |
106 | interrupts = <38>; | |
107 | status = "disabled"; | |
6d3b3745 | 108 | clocks = <&rcc USART2_CK>; |
a56678cd PC |
109 | }; |
110 | ||
1536dec4 FG |
111 | dac: dac@40007400 { |
112 | compatible = "st,stm32h7-dac-core"; | |
113 | reg = <0x40007400 0x400>; | |
6d3b3745 | 114 | clocks = <&rcc DAC12_CK>; |
1536dec4 FG |
115 | clock-names = "pclk"; |
116 | #address-cells = <1>; | |
117 | #size-cells = <0>; | |
118 | status = "disabled"; | |
119 | ||
120 | dac1: dac@1 { | |
121 | compatible = "st,stm32-dac"; | |
122 | #io-channels-cells = <1>; | |
123 | reg = <1>; | |
124 | status = "disabled"; | |
125 | }; | |
126 | ||
127 | dac2: dac@2 { | |
128 | compatible = "st,stm32-dac"; | |
129 | #io-channels-cells = <1>; | |
130 | reg = <2>; | |
131 | status = "disabled"; | |
132 | }; | |
133 | }; | |
134 | ||
978edf15 | 135 | usart1: serial@40011000 { |
6c7b8412 | 136 | compatible = "st,stm32f7-uart"; |
978edf15 AT |
137 | reg = <0x40011000 0x400>; |
138 | interrupts = <37>; | |
139 | status = "disabled"; | |
6d3b3745 | 140 | clocks = <&rcc USART1_CK>; |
500cdb23 | 141 | }; |
079af0c4 | 142 | |
01d281b6 PYM |
143 | dma1: dma@40020000 { |
144 | compatible = "st,stm32-dma"; | |
145 | reg = <0x40020000 0x400>; | |
146 | interrupts = <11>, | |
147 | <12>, | |
148 | <13>, | |
149 | <14>, | |
150 | <15>, | |
151 | <16>, | |
152 | <17>, | |
153 | <47>; | |
6d3b3745 | 154 | clocks = <&rcc DMA1_CK>; |
01d281b6 PYM |
155 | #dma-cells = <4>; |
156 | st,mem2mem; | |
e40992cb | 157 | dma-requests = <8>; |
01d281b6 PYM |
158 | status = "disabled"; |
159 | }; | |
160 | ||
161 | dma2: dma@40020400 { | |
162 | compatible = "st,stm32-dma"; | |
163 | reg = <0x40020400 0x400>; | |
164 | interrupts = <56>, | |
165 | <57>, | |
166 | <58>, | |
167 | <59>, | |
168 | <60>, | |
169 | <68>, | |
170 | <69>, | |
171 | <70>; | |
6d3b3745 | 172 | clocks = <&rcc DMA2_CK>; |
01d281b6 PYM |
173 | #dma-cells = <4>; |
174 | st,mem2mem; | |
e40992cb | 175 | dma-requests = <8>; |
01d281b6 PYM |
176 | status = "disabled"; |
177 | }; | |
178 | ||
e40992cb PYM |
179 | dmamux1: dma-router@40020800 { |
180 | compatible = "st,stm32h7-dmamux"; | |
181 | reg = <0x40020800 0x1c>; | |
182 | #dma-cells = <3>; | |
183 | dma-channels = <16>; | |
184 | dma-requests = <128>; | |
185 | dma-masters = <&dma1 &dma2>; | |
6d3b3745 | 186 | clocks = <&rcc DMA1_CK>; |
e40992cb PYM |
187 | }; |
188 | ||
079af0c4 FG |
189 | adc_12: adc@40022000 { |
190 | compatible = "st,stm32h7-adc-core"; | |
191 | reg = <0x40022000 0x400>; | |
192 | interrupts = <18>; | |
6d3b3745 | 193 | clocks = <&rcc ADC12_CK>; |
079af0c4 FG |
194 | clock-names = "bus"; |
195 | interrupt-controller; | |
196 | #interrupt-cells = <1>; | |
197 | #address-cells = <1>; | |
198 | #size-cells = <0>; | |
199 | status = "disabled"; | |
200 | ||
201 | adc1: adc@0 { | |
202 | compatible = "st,stm32h7-adc"; | |
203 | #io-channel-cells = <1>; | |
204 | reg = <0x0>; | |
205 | interrupt-parent = <&adc_12>; | |
206 | interrupts = <0>; | |
207 | status = "disabled"; | |
208 | }; | |
209 | ||
210 | adc2: adc@100 { | |
211 | compatible = "st,stm32h7-adc"; | |
212 | #io-channel-cells = <1>; | |
213 | reg = <0x100>; | |
214 | interrupt-parent = <&adc_12>; | |
215 | interrupts = <1>; | |
216 | status = "disabled"; | |
217 | }; | |
218 | }; | |
219 | ||
4bd93eb3 PYM |
220 | mdma1: dma@52000000 { |
221 | compatible = "st,stm32h7-mdma"; | |
222 | reg = <0x52000000 0x1000>; | |
223 | interrupts = <122>; | |
224 | clocks = <&rcc MDMA_CK>; | |
225 | #dma-cells = <5>; | |
226 | dma-channels = <16>; | |
227 | dma-requests = <32>; | |
228 | }; | |
229 | ||
74f4c322 FG |
230 | lptimer2: timer@58002400 { |
231 | #address-cells = <1>; | |
232 | #size-cells = <0>; | |
233 | compatible = "st,stm32-lptimer"; | |
234 | reg = <0x58002400 0x400>; | |
6d3b3745 | 235 | clocks = <&rcc LPTIM2_CK>; |
74f4c322 FG |
236 | clock-names = "mux"; |
237 | status = "disabled"; | |
238 | ||
239 | pwm { | |
240 | compatible = "st,stm32-pwm-lp"; | |
241 | status = "disabled"; | |
242 | }; | |
243 | ||
244 | trigger@1 { | |
245 | compatible = "st,stm32-lptimer-trigger"; | |
246 | reg = <1>; | |
247 | status = "disabled"; | |
248 | }; | |
249 | ||
250 | counter { | |
251 | compatible = "st,stm32-lptimer-counter"; | |
252 | status = "disabled"; | |
253 | }; | |
254 | }; | |
255 | ||
256 | lptimer3: timer@58002800 { | |
257 | #address-cells = <1>; | |
258 | #size-cells = <0>; | |
259 | compatible = "st,stm32-lptimer"; | |
260 | reg = <0x58002800 0x400>; | |
6d3b3745 | 261 | clocks = <&rcc LPTIM3_CK>; |
74f4c322 FG |
262 | clock-names = "mux"; |
263 | status = "disabled"; | |
264 | ||
265 | pwm { | |
266 | compatible = "st,stm32-pwm-lp"; | |
267 | status = "disabled"; | |
268 | }; | |
269 | ||
270 | trigger@2 { | |
271 | compatible = "st,stm32-lptimer-trigger"; | |
272 | reg = <2>; | |
273 | status = "disabled"; | |
274 | }; | |
275 | }; | |
276 | ||
277 | lptimer4: timer@58002c00 { | |
278 | #address-cells = <1>; | |
279 | #size-cells = <0>; | |
280 | compatible = "st,stm32-lptimer"; | |
281 | reg = <0x58002c00 0x400>; | |
6d3b3745 | 282 | clocks = <&rcc LPTIM4_CK>; |
74f4c322 FG |
283 | clock-names = "mux"; |
284 | status = "disabled"; | |
285 | ||
286 | pwm { | |
287 | compatible = "st,stm32-pwm-lp"; | |
288 | status = "disabled"; | |
289 | }; | |
290 | }; | |
291 | ||
292 | lptimer5: timer@58003000 { | |
293 | #address-cells = <1>; | |
294 | #size-cells = <0>; | |
295 | compatible = "st,stm32-lptimer"; | |
296 | reg = <0x58003000 0x400>; | |
6d3b3745 | 297 | clocks = <&rcc LPTIM5_CK>; |
74f4c322 FG |
298 | clock-names = "mux"; |
299 | status = "disabled"; | |
300 | ||
301 | pwm { | |
302 | compatible = "st,stm32-pwm-lp"; | |
303 | status = "disabled"; | |
304 | }; | |
305 | }; | |
306 | ||
846f2f1c FG |
307 | vrefbuf: regulator@58003C00 { |
308 | compatible = "st,stm32-vrefbuf"; | |
309 | reg = <0x58003C00 0x8>; | |
6d3b3745 | 310 | clocks = <&rcc VREF_CK>; |
846f2f1c FG |
311 | regulator-min-microvolt = <1500000>; |
312 | regulator-max-microvolt = <2500000>; | |
313 | status = "disabled"; | |
314 | }; | |
315 | ||
6d3b3745 GF |
316 | rcc: reset-clock-controller@58024400 { |
317 | compatible = "st,stm32h743-rcc", "st,stm32-rcc"; | |
318 | reg = <0x58024400 0x400>; | |
319 | #clock-cells = <1>; | |
320 | #reset-cells = <1>; | |
321 | clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s>; | |
322 | st,syscfg = <&pwrcfg>; | |
323 | }; | |
324 | ||
325 | pwrcfg: power-config@58024800 { | |
326 | compatible = "syscon"; | |
327 | reg = <0x58024800 0x400>; | |
328 | }; | |
329 | ||
079af0c4 FG |
330 | adc_3: adc@58026000 { |
331 | compatible = "st,stm32h7-adc-core"; | |
332 | reg = <0x58026000 0x400>; | |
333 | interrupts = <127>; | |
6d3b3745 | 334 | clocks = <&rcc ADC3_CK>; |
079af0c4 FG |
335 | clock-names = "bus"; |
336 | interrupt-controller; | |
337 | #interrupt-cells = <1>; | |
338 | #address-cells = <1>; | |
339 | #size-cells = <0>; | |
340 | status = "disabled"; | |
341 | ||
342 | adc3: adc@0 { | |
343 | compatible = "st,stm32h7-adc"; | |
344 | #io-channel-cells = <1>; | |
345 | reg = <0x0>; | |
346 | interrupt-parent = <&adc_3>; | |
347 | interrupts = <0>; | |
348 | status = "disabled"; | |
349 | }; | |
350 | }; | |
500cdb23 AT |
351 | }; |
352 | }; | |
353 | ||
354 | &systick { | |
355 | clock-frequency = <250000000>; | |
356 | status = "okay"; | |
357 | }; |