Skip to content

Commit fb59aee

Browse files
gautierg-stkartben
authored andcommitted
dts: arm: st: n6: add dtsi for stm32n6 series
Add dtsi files for STM32N6 series Signed-off-by: Guillaume Gautier <[email protected]>
1 parent 671431f commit fb59aee

File tree

3 files changed

+408
-0
lines changed

3 files changed

+408
-0
lines changed

dts/arm/st/n6/stm32n6.dtsi

Lines changed: 377 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,377 @@
1+
/*
2+
* Copyright (c) 2024 STMicroelectronics
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <arm/armv8.1-m.dtsi>
8+
#include <zephyr/dt-bindings/clock/stm32n6_clock.h>
9+
#include <zephyr/dt-bindings/reset/stm32n6_reset.h>
10+
#include <zephyr/dt-bindings/memory-controller/stm32-fmc-nor-psram.h>
11+
#include <zephyr/dt-bindings/gpio/gpio.h>
12+
#include <freq.h>
13+
14+
/ {
15+
cpus {
16+
#address-cells = <1>;
17+
#size-cells = <0>;
18+
19+
cpu0: cpu@0 {
20+
device_type = "cpu";
21+
compatible = "arm,cortex-m55";
22+
reg = <0>;
23+
#address-cells = <1>;
24+
#size-cells = <1>;
25+
26+
mpu: mpu@e000ed90 {
27+
compatible = "arm,armv8.1m-mpu";
28+
reg = <0xe000ed90 0x40>;
29+
};
30+
};
31+
};
32+
33+
axisram1: memory@34000000 {
34+
compatible = "mmio-sram";
35+
};
36+
37+
axisram2: memory@34180400 {
38+
compatible = "mmio-sram";
39+
};
40+
41+
clocks {
42+
clk_hse: clk-hse {
43+
#clock-cells = <0>;
44+
compatible = "st,stm32n6-hse-clock";
45+
status = "disabled";
46+
};
47+
48+
clk_hsi: clk-hsi {
49+
#clock-cells = <0>;
50+
compatible = "st,stm32h7-hsi-clock";
51+
clock-frequency = <DT_FREQ_M(64)>;
52+
status = "disabled";
53+
};
54+
55+
clk_lse: clk-lse {
56+
#clock-cells = <0>;
57+
compatible = "st,stm32-lse-clock";
58+
clock-frequency = <32768>;
59+
driving-capability = <2>;
60+
status = "disabled";
61+
};
62+
63+
clk_lsi: clk-lsi {
64+
#clock-cells = <0>;
65+
compatible = "fixed-clock";
66+
clock-frequency = <DT_FREQ_K(32)>;
67+
status = "disabled";
68+
};
69+
70+
pll1: pll: pll {
71+
#clock-cells = <0>;
72+
compatible = "st,stm32n6-pll-clock";
73+
status = "disabled";
74+
};
75+
76+
pll2: pll2 {
77+
#clock-cells = <0>;
78+
compatible = "st,stm32n6-pll-clock";
79+
status = "disabled";
80+
};
81+
82+
pll3: pll3 {
83+
#clock-cells = <0>;
84+
compatible = "st,stm32n6-pll-clock";
85+
status = "disabled";
86+
};
87+
88+
pll4: pll4 {
89+
#clock-cells = <0>;
90+
compatible = "st,stm32n6-pll-clock";
91+
status = "disabled";
92+
};
93+
94+
cpusw: cpusw {
95+
#clock-cells = <0>;
96+
compatible = "st,stm32n6-cpu-clock-mux", "st,stm32-clock-mux";
97+
status = "disabled";
98+
};
99+
100+
perck: perck {
101+
#clock-cells = <0>;
102+
compatible = "st,stm32-clock-mux";
103+
status = "disabled";
104+
};
105+
106+
ic1: ic1 {
107+
#clock-cells = <0>;
108+
compatible = "st,stm32n6-ic-clock-mux";
109+
status = "disabled";
110+
};
111+
112+
ic2: ic2 {
113+
#clock-cells = <0>;
114+
compatible = "st,stm32n6-ic-clock-mux";
115+
status = "disabled";
116+
};
117+
118+
ic3: ic3 {
119+
#clock-cells = <0>;
120+
compatible = "st,stm32n6-ic-clock-mux";
121+
status = "disabled";
122+
};
123+
124+
ic4: ic4 {
125+
#clock-cells = <0>;
126+
compatible = "st,stm32n6-ic-clock-mux";
127+
status = "disabled";
128+
};
129+
130+
ic5: ic5 {
131+
#clock-cells = <0>;
132+
compatible = "st,stm32n6-ic-clock-mux";
133+
status = "disabled";
134+
};
135+
136+
ic6: ic6 {
137+
#clock-cells = <0>;
138+
compatible = "st,stm32n6-ic-clock-mux";
139+
status = "disabled";
140+
};
141+
142+
ic7: ic7 {
143+
#clock-cells = <0>;
144+
compatible = "st,stm32n6-ic-clock-mux";
145+
status = "disabled";
146+
};
147+
148+
ic8: ic8 {
149+
#clock-cells = <0>;
150+
compatible = "st,stm32n6-ic-clock-mux";
151+
status = "disabled";
152+
};
153+
154+
ic9: ic9 {
155+
#clock-cells = <0>;
156+
compatible = "st,stm32n6-ic-clock-mux";
157+
status = "disabled";
158+
};
159+
160+
ic10: ic10 {
161+
#clock-cells = <0>;
162+
compatible = "st,stm32n6-ic-clock-mux";
163+
status = "disabled";
164+
};
165+
166+
ic11: ic11 {
167+
#clock-cells = <0>;
168+
compatible = "st,stm32n6-ic-clock-mux";
169+
status = "disabled";
170+
};
171+
172+
ic12: ic12 {
173+
#clock-cells = <0>;
174+
compatible = "st,stm32n6-ic-clock-mux";
175+
status = "disabled";
176+
};
177+
178+
ic13: ic13 {
179+
#clock-cells = <0>;
180+
compatible = "st,stm32n6-ic-clock-mux";
181+
status = "disabled";
182+
};
183+
184+
ic14: ic14 {
185+
#clock-cells = <0>;
186+
compatible = "st,stm32n6-ic-clock-mux";
187+
status = "disabled";
188+
};
189+
190+
ic15: ic15 {
191+
#clock-cells = <0>;
192+
compatible = "st,stm32n6-ic-clock-mux";
193+
status = "disabled";
194+
};
195+
196+
ic16: ic16 {
197+
#clock-cells = <0>;
198+
compatible = "st,stm32n6-ic-clock-mux";
199+
status = "disabled";
200+
};
201+
202+
ic17: ic17 {
203+
#clock-cells = <0>;
204+
compatible = "st,stm32n6-ic-clock-mux";
205+
status = "disabled";
206+
};
207+
208+
ic18: ic18 {
209+
#clock-cells = <0>;
210+
compatible = "st,stm32n6-ic-clock-mux";
211+
status = "disabled";
212+
};
213+
214+
ic19: ic19 {
215+
#clock-cells = <0>;
216+
compatible = "st,stm32n6-ic-clock-mux";
217+
status = "disabled";
218+
};
219+
220+
ic20: ic20 {
221+
#clock-cells = <0>;
222+
compatible = "st,stm32n6-ic-clock-mux";
223+
status = "disabled";
224+
};
225+
};
226+
227+
soc {
228+
rcc: rcc@56028000 {
229+
compatible = "st,stm32n6-rcc";
230+
clocks-controller;
231+
#clock-cells = <2>;
232+
reg = <0x56028000 0x2000>;
233+
234+
rctl: reset-controller {
235+
compatible = "st,stm32-rcc-rctl";
236+
#reset-cells = <1>;
237+
};
238+
};
239+
240+
exti: interrupt-controller@56025000 {
241+
compatible = "st,stm32g0-exti", "st,stm32-exti";
242+
interrupt-controller;
243+
#interrupt-cells = <1>;
244+
#address-cells = <1>;
245+
reg = <0x56025000 0x400>;
246+
num-lines = <16>;
247+
interrupts = <20 0>, <21 0>, <22 0>, <23 0>,
248+
<24 0>, <25 0>, <26 0>, <27 0>,
249+
<28 0>, <29 0>, <30 0>, <31 0>,
250+
<32 0>, <33 0>, <34 0>, <35 0>;
251+
interrupt-names = "line0", "line1", "line2", "line3",
252+
"line4", "line5", "line6", "line7",
253+
"line8", "line9", "line10", "line11",
254+
"line12", "line13", "line14", "line15";
255+
line-ranges = <0 1>, <1 1>, <2 1>, <3 1>,
256+
<4 1>, <5 1>, <6 1>, <7 1>,
257+
<8 1>, <9 1>, <10 1>, <11 1>,
258+
<12 1>, <13 1>, <14 1>, <15 1>;
259+
};
260+
261+
pinctrl: pin-controller@56020000 {
262+
compatible = "st,stm32-pinctrl";
263+
#address-cells = <1>;
264+
#size-cells = <1>;
265+
reg = <0x56020000 0x2000>;
266+
267+
gpioa: gpio@56020000 {
268+
compatible = "st,stm32-gpio";
269+
gpio-controller;
270+
#gpio-cells = <2>;
271+
reg = <0x56020000 0x400>;
272+
clocks = <&rcc STM32_CLOCK(AHB4, 0)>;
273+
};
274+
275+
gpiob: gpio@56020400 {
276+
compatible = "st,stm32-gpio";
277+
gpio-controller;
278+
#gpio-cells = <2>;
279+
reg = <0x56020400 0x400>;
280+
clocks = <&rcc STM32_CLOCK(AHB4, 1)>;
281+
};
282+
283+
gpioc: gpio@56020800 {
284+
compatible = "st,stm32-gpio";
285+
gpio-controller;
286+
#gpio-cells = <2>;
287+
reg = <0x56020800 0x400>;
288+
clocks = <&rcc STM32_CLOCK(AHB4, 2)>;
289+
};
290+
291+
gpiod: gpio@56020c00 {
292+
compatible = "st,stm32-gpio";
293+
gpio-controller;
294+
#gpio-cells = <2>;
295+
reg = <0x56020c00 0x400>;
296+
clocks = <&rcc STM32_CLOCK(AHB4, 3)>;
297+
};
298+
299+
gpioe: gpio@56021000 {
300+
compatible = "st,stm32-gpio";
301+
gpio-controller;
302+
#gpio-cells = <2>;
303+
reg = <0x56021000 0x400>;
304+
clocks = <&rcc STM32_CLOCK(AHB4, 4)>;
305+
};
306+
307+
gpiof: gpio@56021400 {
308+
compatible = "st,stm32-gpio";
309+
gpio-controller;
310+
#gpio-cells = <2>;
311+
reg = <0x56021400 0x400>;
312+
clocks = <&rcc STM32_CLOCK(AHB4, 5)>;
313+
};
314+
315+
gpiog: gpio@56021800 {
316+
compatible = "st,stm32-gpio";
317+
gpio-controller;
318+
#gpio-cells = <2>;
319+
reg = <0x56021800 0x400>;
320+
clocks = <&rcc STM32_CLOCK(AHB4, 6)>;
321+
};
322+
323+
gpioh: gpio@56021c00 {
324+
compatible = "st,stm32-gpio";
325+
gpio-controller;
326+
#gpio-cells = <2>;
327+
reg = <0x56021c00 0x400>;
328+
clocks = <&rcc STM32_CLOCK(AHB4, 7)>;
329+
};
330+
331+
gpion: gpio@56023400 {
332+
compatible = "st,stm32-gpio";
333+
gpio-controller;
334+
#gpio-cells = <2>;
335+
reg = <0x56023400 0x400>;
336+
clocks = <&rcc STM32_CLOCK(AHB4, 13)>;
337+
};
338+
339+
gpioo: gpio@56023800 {
340+
compatible = "st,stm32-gpio";
341+
gpio-controller;
342+
#gpio-cells = <2>;
343+
reg = <0x56023800 0x400>;
344+
clocks = <&rcc STM32_CLOCK(AHB4, 14)>;
345+
};
346+
347+
gpiop: gpio@56023c00 {
348+
compatible = "st,stm32-gpio";
349+
gpio-controller;
350+
#gpio-cells = <2>;
351+
reg = <0x56023C00 0x400>;
352+
clocks = <&rcc STM32_CLOCK(AHB4, 15)>;
353+
};
354+
355+
gpioq: gpio@56024000 {
356+
compatible = "st,stm32-gpio";
357+
gpio-controller;
358+
#gpio-cells = <2>;
359+
reg = <0x56024000 0x400>;
360+
clocks = <&rcc STM32_CLOCK(AHB4, 16)>;
361+
};
362+
};
363+
364+
usart1: serial@52001000 {
365+
compatible = "st,stm32-usart", "st,stm32-uart";
366+
reg = <0x52001000 0x400>;
367+
clocks = <&rcc STM32_CLOCK(APB2, 4)>;
368+
resets = <&rctl STM32_RESET(APB2, 4)>;
369+
interrupts = <159 0>;
370+
status = "disabled";
371+
};
372+
};
373+
};
374+
375+
&nvic {
376+
arm,num-irq-priority-bits = <4>;
377+
};

dts/arm/st/n6/stm32n657.dtsi

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
* Copyright (c) 2024 STMicroelectronics
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <st/n6/stm32n6.dtsi>
8+
9+
10+
/ {
11+
soc {
12+
compatible = "st,stm32n657", "st,stm32n6", "simple-bus";
13+
};
14+
};

0 commit comments

Comments
 (0)