Skip to content

Commit 3e5bb62

Browse files
str4t0mcfriedt
authored andcommitted
dts: arm: st: stm32c0: add stm32c09x support
Add dts support for the STM32C091 and STM32C092 SoCs, that are part of the STM32C0 series. Signed-off-by: Thomas Stranger <[email protected]>
1 parent 0a27353 commit 3e5bb62

File tree

6 files changed

+187
-0
lines changed

6 files changed

+187
-0
lines changed

dts/arm/st/c0/stm32c091.dtsi

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/*
2+
* Copyright (c) 2025 Thomas Stranger
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <st/c0/stm32c071.dtsi>
8+
9+
/* STM32C091 is a superset of the C071 with the exception of USB support.
10+
* Since C071 provides the same set of peripheral as the C051,
11+
* along with the addition of USB, once the C051 is introduced,
12+
* it can be included instead, and the delete-node can be removed.
13+
*/
14+
/delete-node/ &usb;
15+
/delete-node/ &usb_fs_phy;
16+
17+
/ {
18+
soc {
19+
compatible = "st,stm32c091", "st,stm32c0", "simple-bus";
20+
21+
timers15: timers@40014000 {
22+
compatible = "st,stm32-timers";
23+
reg = <0x40014000 0x400>;
24+
clocks = <&rcc STM32_CLOCK(APB1_2, 16)>;
25+
resets = <&rctl STM32_RESET(APB1H, 16)>;
26+
interrupts = <20 0>;
27+
interrupt-names = "global";
28+
st,prescaler = <0>;
29+
status = "disabled";
30+
31+
pwm {
32+
compatible = "st,stm32-pwm";
33+
status = "disabled";
34+
#pwm-cells = <3>;
35+
};
36+
37+
counter {
38+
compatible = "st,stm32-counter";
39+
status = "disabled";
40+
};
41+
};
42+
43+
usart3: serial@40004800 {
44+
compatible = "st,stm32-usart", "st,stm32-uart";
45+
reg = <0x40004800 0x400>;
46+
clocks = <&rcc STM32_CLOCK(APB1, 18)>;
47+
resets = <&rctl STM32_RESET(APB1L, 18)>;
48+
interrupts = <29 0>;
49+
status = "disabled";
50+
};
51+
52+
usart4: serial@40004c00 {
53+
compatible = "st,stm32-usart", "st,stm32-uart";
54+
reg = <0x40004c00 0x400>;
55+
clocks = <&rcc STM32_CLOCK(APB1, 19)>;
56+
resets = <&rctl STM32_RESET(APB1L, 19)>;
57+
interrupts = <29 0>;
58+
status = "disabled";
59+
};
60+
61+
dma1: dma@40020000 {
62+
interrupts = <9 0 10 0 10 0 11 0 11 0 11 0 11 0>;
63+
dma-requests = <7>;
64+
};
65+
66+
dmamux1: dmamux@40020800 {
67+
dma-channels = <7>;
68+
dma-requests = <53>;
69+
};
70+
};
71+
};

dts/arm/st/c0/stm32c091Xb.dtsi

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright (c) 2024 STMicroelectronics
3+
* Copyright (c) 2025 Thomas Stranger
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <mem.h>
9+
#include <st/c0/stm32c091.dtsi>
10+
11+
/ {
12+
sram0: memory@20000000 {
13+
reg = <0x20000000 DT_SIZE_K(36)>;
14+
};
15+
16+
soc {
17+
flash-controller@40022000 {
18+
flash0: flash@8000000 {
19+
reg = <0x08000000 DT_SIZE_K(128)>;
20+
};
21+
};
22+
};
23+
};

dts/arm/st/c0/stm32c091Xc.dtsi

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright (c) 2024 STMicroelectronics
3+
* Copyright (c) 2025 Thomas Stranger
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <mem.h>
9+
#include <st/c0/stm32c091.dtsi>
10+
11+
/ {
12+
sram0: memory@20000000 {
13+
reg = <0x20000000 DT_SIZE_K(36)>;
14+
};
15+
16+
soc {
17+
flash-controller@40022000 {
18+
flash0: flash@8000000 {
19+
reg = <0x08000000 DT_SIZE_K(256)>;
20+
};
21+
};
22+
};
23+
};

dts/arm/st/c0/stm32c092.dtsi

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright (c) 2025 Thomas Stranger
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <st/c0/stm32c091.dtsi>
8+
9+
/ {
10+
soc {
11+
compatible = "st,stm32c092", "st,stm32c0", "simple-bus";
12+
13+
fdcan1: can@40006400 {
14+
compatible = "st,stm32-fdcan";
15+
reg = <0x40006400 0x400>, <0x4000b400 0x350>;
16+
reg-names = "m_can", "message_ram";
17+
interrupts = <30 0>, <31 0>;
18+
interrupt-names = "int0", "int1";
19+
clocks = <&rcc STM32_CLOCK(APB1, 12)>;
20+
bosch,mram-cfg = <0x0 28 8 3 3 0 3 3>;
21+
status = "disabled";
22+
};
23+
};
24+
};

dts/arm/st/c0/stm32c092Xb.dtsi

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright (c) 2024 STMicroelectronics
3+
* Copyright (c) 2025 Thomas Stranger
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <mem.h>
9+
#include <st/c0/stm32c092.dtsi>
10+
11+
/ {
12+
sram0: memory@20000000 {
13+
reg = <0x20000000 DT_SIZE_K(30)>;
14+
};
15+
16+
soc {
17+
flash-controller@40022000 {
18+
flash0: flash@8000000 {
19+
reg = <0x08000000 DT_SIZE_K(128)>;
20+
};
21+
};
22+
};
23+
};

dts/arm/st/c0/stm32c092Xc.dtsi

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright (c) 2024 STMicroelectronics
3+
* Copyright (c) 2025 Thomas Stranger
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <mem.h>
9+
#include <st/c0/stm32c092.dtsi>
10+
11+
/ {
12+
sram0: memory@20000000 {
13+
reg = <0x20000000 DT_SIZE_K(30)>;
14+
};
15+
16+
soc {
17+
flash-controller@40022000 {
18+
flash0: flash@8000000 {
19+
reg = <0x08000000 DT_SIZE_K(256)>;
20+
};
21+
};
22+
};
23+
};

0 commit comments

Comments
 (0)