Skip to content

Commit dcf94aa

Browse files
amitchonebrillpowerkartben
authored andcommitted
dts: arm: st: h7: Add support for STM32H742
Adds base Devicetree files for H742Xi/g variants Signed-off-by: Adam Mitchell <[email protected]>
1 parent 3172f85 commit dcf94aa

File tree

7 files changed

+175
-89
lines changed

7 files changed

+175
-89
lines changed

dts/arm/st/h7/stm32h742.dtsi

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
/*
2+
* Copyright (c) 2025 Brill Power
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <st/h7/stm32h7.dtsi>
8+
#include <zephyr/dt-bindings/display/panel.h>
9+
10+
/ {
11+
soc {
12+
compatible = "st,stm32h742", "st,stm32h7", "simple-bus";
13+
14+
flash-controller@52002000 {
15+
flash0: flash@8000000 {
16+
compatible = "st,stm32-nv-flash", "soc-nv-flash";
17+
write-block-size = <32>;
18+
erase-block-size = <DT_SIZE_K(128)>;
19+
/* maximum erase time for a 128K sector */
20+
max-erase-time = <4000>;
21+
};
22+
};
23+
24+
dmamux1: dmamux@40020800 {
25+
dma-requests= <107>;
26+
};
27+
28+
dmamux2: dmamux@58025800 {
29+
dma-requests= <12>;
30+
};
31+
32+
usbotg_fs: usb@40080000 {
33+
compatible = "st,stm32-otgfs";
34+
reg = <0x40080000 0x40000>;
35+
interrupts = <101 0>, <98 0>, <99 0>;
36+
interrupt-names = "otgfs", "ep1_out", "ep1_in";
37+
num-bidir-endpoints = <9>;
38+
ram-size = <4096>;
39+
maximum-speed = "full-speed";
40+
clocks = <&rcc STM32_CLOCK(AHB1, 27)>,
41+
<&rcc STM32_SRC_HSI48 USB_SEL(3)>;
42+
phys = <&otghs_fs_phy>;
43+
status = "disabled";
44+
};
45+
46+
ltdc: display-controller@50001000 {
47+
compatible = "st,stm32-ltdc";
48+
reg = <0x50001000 0x200>;
49+
interrupts = <88 0>, <89 0>;
50+
interrupt-names = "ltdc", "ltdc_er";
51+
clocks = <&rcc STM32_CLOCK(APB3, 3)>;
52+
resets = <&rctl STM32_RESET(APB3, 3)>;
53+
status = "disabled";
54+
};
55+
56+
rtc@58004000 {
57+
bbram: backup_regs {
58+
compatible = "st,stm32-bbram";
59+
st,backup-regs = <32>;
60+
status = "disabled";
61+
};
62+
};
63+
};
64+
65+
/* System data RAM accessible over AXI bus: AXI SRAM in D1 domain */
66+
sram0: memory@24000000 {
67+
compatible = "mmio-sram";
68+
reg = <0x24000000 DT_SIZE_K(384)>;
69+
};
70+
71+
/* System data RAM accessible over AHB bus: SRAM1 in D2 domain */
72+
sram1: memory@30000000 {
73+
compatible = "zephyr,memory-region", "mmio-sram";
74+
reg = <0x30000000 DT_SIZE_K(32)>;
75+
zephyr,memory-region = "SRAM1";
76+
};
77+
78+
/* System data RAM accessible over AHB bus: SRAM2 in D2 domain */
79+
sram2: memory@30020000 {
80+
compatible = "zephyr,memory-region", "mmio-sram";
81+
reg = <0x30020000 DT_SIZE_K(16)>;
82+
zephyr,memory-region = "SRAM2";
83+
};
84+
85+
/* System data RAM accessible over AHB bus: SRAM4 in D3 domain */
86+
sram4: memory@38000000 {
87+
compatible = "zephyr,memory-region", "mmio-sram";
88+
reg = <0x38000000 DT_SIZE_K(64)>;
89+
zephyr,memory-region = "SRAM4";
90+
};
91+
92+
dtcm: memory@20000000 {
93+
compatible = "zephyr,memory-region", "arm,dtcm";
94+
reg = <0x20000000 DT_SIZE_K(128)>;
95+
zephyr,memory-region = "DTCM";
96+
};
97+
98+
itcm: memory@0 {
99+
compatible = "zephyr,memory-region", "arm,itcm";
100+
reg = <0x00000000 DT_SIZE_K(64)>;
101+
zephyr,memory-region = "ITCM";
102+
};
103+
104+
otghs_fs_phy: otghs_fs_phy {
105+
compatible = "usb-nop-xceiv";
106+
#phy-cells = <0>;
107+
};
108+
109+
vref: vref {
110+
io-channels = <&adc3 19>;
111+
};
112+
113+
vbat: vbat {
114+
io-channels = <&adc3 17>;
115+
};
116+
};

dts/arm/st/h7/stm32h742Xg.dtsi

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* Copyright (c) 2025 Brill Power
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <mem.h>
8+
#include <st/h7/stm32h742.dtsi>
9+
10+
/ {
11+
soc {
12+
flash-controller@52002000 {
13+
flash0: flash@8000000 {
14+
reg = <0x08000000 DT_SIZE_K(1024)>;
15+
};
16+
};
17+
};
18+
};

dts/arm/st/h7/stm32h742Xi.dtsi

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* Copyright (c) 2025 Brill Power
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <mem.h>
8+
#include <st/h7/stm32h742.dtsi>
9+
10+
/ {
11+
soc {
12+
flash-controller@52002000 {
13+
flash0: flash@8000000 {
14+
reg = <0x08000000 DT_SIZE_K(2048)>;
15+
};
16+
};
17+
};
18+
};

dts/arm/st/h7/stm32h743.dtsi

Lines changed: 2 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,30 @@
11
/*
22
* Copyright (c) 2020 Teslabs Engineering S.L.
3+
* Copyright (c) 2025 Brill Power
34
*
45
* SPDX-License-Identifier: Apache-2.0
56
*/
67

7-
#include <st/h7/stm32h7.dtsi>
8-
#include <zephyr/dt-bindings/display/panel.h>
8+
#include <st/h7/stm32h742.dtsi>
99

1010
/ {
1111
soc {
1212
compatible = "st,stm32h743", "st,stm32h7", "simple-bus";
13-
14-
flash-controller@52002000 {
15-
flash0: flash@8000000 {
16-
compatible = "st,stm32-nv-flash", "soc-nv-flash";
17-
write-block-size = <32>;
18-
erase-block-size = <DT_SIZE_K(128)>;
19-
/* maximum erase time for a 128K sector */
20-
max-erase-time = <4000>;
21-
};
22-
};
23-
24-
dmamux1: dmamux@40020800 {
25-
dma-requests= <107>;
26-
};
27-
28-
dmamux2: dmamux@58025800 {
29-
dma-requests= <12>;
30-
};
31-
32-
usbotg_fs: usb@40080000 {
33-
compatible = "st,stm32-otgfs";
34-
reg = <0x40080000 0x40000>;
35-
interrupts = <98 0>, <99 0>, <100 0>, <101 0>;
36-
interrupt-names = "ep1_out", "ep1_in", "wkup", "otgfs";
37-
num-bidir-endpoints = <9>;
38-
ram-size = <4096>;
39-
maximum-speed = "full-speed";
40-
clocks = <&rcc STM32_CLOCK(AHB1, 27U)>,
41-
<&rcc STM32_SRC_HSI48 USB_SEL(3)>;
42-
phys = <&otghs_fs_phy>;
43-
status = "disabled";
44-
};
45-
46-
ltdc: display-controller@50001000 {
47-
compatible = "st,stm32-ltdc";
48-
reg = <0x50001000 0x200>;
49-
interrupts = <88 0>, <89 0>;
50-
interrupt-names = "ltdc", "ltdc_er";
51-
clocks = <&rcc STM32_CLOCK(APB3, 3U)>;
52-
resets = <&rctl STM32_RESET(APB3, 3U)>;
53-
status = "disabled";
54-
};
55-
56-
rtc@58004000 {
57-
bbram: backup_regs {
58-
compatible = "st,stm32-bbram";
59-
st,backup-regs = <32>;
60-
status = "disabled";
61-
};
62-
};
6313
};
6414

6515
/* System data RAM accessible over AXI bus: AXI SRAM in D1 domain */
6616
sram0: memory@24000000 {
6717
reg = <0x24000000 DT_SIZE_K(512)>;
68-
compatible = "mmio-sram";
6918
};
7019

7120
/* System data RAM accessible over AHB bus: SRAM1 in D2 domain */
7221
sram1: memory@30000000 {
7322
reg = <0x30000000 DT_SIZE_K(128)>;
74-
compatible = "zephyr,memory-region", "mmio-sram";
75-
zephyr,memory-region = "SRAM1";
7623
};
7724

7825
/* System data RAM accessible over AHB bus: SRAM2 in D2 domain */
7926
sram2: memory@30020000 {
80-
compatible = "zephyr,memory-region", "mmio-sram";
8127
reg = <0x30020000 DT_SIZE_K(128)>;
82-
zephyr,memory-region = "SRAM2";
8328
};
8429

8530
/* System data RAM accessible over AHB bus: SRAM3 in D2 domain */
@@ -88,36 +33,4 @@
8833
reg = <0x30040000 DT_SIZE_K(32)>;
8934
zephyr,memory-region = "SRAM3";
9035
};
91-
92-
/* System data RAM accessible over AHB bus: SRAM4 in D3 domain */
93-
sram4: memory@38000000 {
94-
reg = <0x38000000 DT_SIZE_K(64)>;
95-
compatible = "zephyr,memory-region", "mmio-sram";
96-
zephyr,memory-region = "SRAM4";
97-
};
98-
99-
dtcm: memory@20000000 {
100-
compatible = "zephyr,memory-region", "arm,dtcm";
101-
reg = <0x20000000 DT_SIZE_K(128)>;
102-
zephyr,memory-region = "DTCM";
103-
};
104-
105-
itcm: memory@0 {
106-
compatible = "zephyr,memory-region", "arm,itcm";
107-
reg = <0x00000000 DT_SIZE_K(64)>;
108-
zephyr,memory-region = "ITCM";
109-
};
110-
111-
otghs_fs_phy: otghs_fs_phy {
112-
compatible = "usb-nop-xceiv";
113-
#phy-cells = <0>;
114-
};
115-
116-
vref: vref {
117-
io-channels = <&adc3 19>;
118-
};
119-
120-
vbat: vbat {
121-
io-channels = <&adc3 17>;
122-
};
12336
};

soc/st/stm32/stm32h7x/Kconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# ST Microelectronics STM32H7 MCU series
22

33
# Copyright (c) 2019 Linaro Limited
4+
# Copyright (c) 2025 Brill Power
45
# SPDX-License-Identifier: Apache-2.0
56

67
config SOC_SERIES_STM32H7X
@@ -32,6 +33,9 @@ config SOC_STM32H730XXQ
3233
config SOC_STM32H735XX
3334
select CPU_CORTEX_M7
3435

36+
config SOC_STM32H742XX
37+
select CPU_CORTEX_M7
38+
3539
config SOC_STM32H743XX
3640
select CPU_CORTEX_M7
3741

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# ST STM32H742X MCU configuration options
2+
3+
# Copyright (c) 2025 Brill Power
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if SOC_STM32H742XX
7+
8+
config NUM_IRQS
9+
default 150
10+
11+
endif # SOC_STM32H742XX

soc/st/stm32/stm32h7x/Kconfig.soc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# Copyright (c) 2019 Linaro Limited
44
# Copyright (c) 2020 Teslabs Engineering S.L.
55
# Copyright (c) 2021 Electrolance Solutions
6+
# Copyright (c) 2025 Brill Power
67
# SPDX-License-Identifier: Apache-2.0
78

89
config SOC_SERIES_STM32H7X
@@ -32,6 +33,10 @@ config SOC_STM32H735XX
3233
bool
3334
select SOC_SERIES_STM32H7X
3435

36+
config SOC_STM32H742XX
37+
bool
38+
select SOC_SERIES_STM32H7X
39+
3540
config SOC_STM32H743XX
3641
bool
3742
select SOC_SERIES_STM32H7X
@@ -112,6 +117,7 @@ config SOC
112117
default "stm32h730xx" if SOC_STM32H730XX
113118
default "stm32h730xxq" if SOC_STM32H730XXQ
114119
default "stm32h735xx" if SOC_STM32H735XX
120+
default "stm32h742xx" if SOC_STM32H742XX
115121
default "stm32h743xx" if SOC_STM32H743XX
116122
default "stm32h745xx" if SOC_STM32H745XX_M7 || SOC_STM32H745XX_M4
117123
default "stm32h747xx" if SOC_STM32H747XX_M7 || SOC_STM32H747XX_M4

0 commit comments

Comments
 (0)