Skip to content

Commit 3d0cb01

Browse files
committed
boards: ruiside: art-pi2: add minimum support
- introduced a new vendor ruiside, updated `dts/bindings/vendor-prefixes.txt` - add art-pi2 board basic support - `SMPS` macro should be defined in `stm32cube/stm32h7rsxx/soc/stm32h7r7xx.h`in hal_stm32 to enable `CONFIG_POWER_SUPPLY_DIRECT_SMPS` option Signed-off-by: Shan Pen <[email protected]>
1 parent f289e47 commit 3d0cb01

File tree

11 files changed

+484
-0
lines changed

11 files changed

+484
-0
lines changed
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Shan Pen <[email protected]>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_ART_PI2
5+
select SOC_STM32H7R7XX

boards/ruiside/art_pi2/art_pi2.dts

+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
/*
2+
* Copyright (c) 2025 Shan Pen <[email protected]>
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
#include <st/h7rs/stm32h7r7X8.dtsi>
9+
#include <st/h7/stm32h7r7l8hxh-pinctrl.dtsi>
10+
#include <zephyr/dt-bindings/input/input-event-codes.h>
11+
12+
/ {
13+
model = "Ruiside Electronic ART-Pi2 board";
14+
compatible = "Ruiside,art-pi2";
15+
16+
chosen {
17+
zephyr,console = &uart4;
18+
zephyr,shell-uart = &uart4;
19+
zephyr,sram = &sram0;
20+
zephyr,flash = &flash0;
21+
};
22+
23+
leds: leds {
24+
compatible = "gpio-leds";
25+
26+
red_led: led_1 {
27+
gpios = <&gpioo 1 GPIO_ACTIVE_HIGH>;
28+
label = "User LED1";
29+
};
30+
blue_led: led_2 {
31+
gpios = <&gpioo 5 GPIO_ACTIVE_LOW>;
32+
label = "User LED2";
33+
};
34+
};
35+
36+
gpio_keys {
37+
compatible = "gpio-keys";
38+
39+
user_button: button_0 {
40+
label = "User";
41+
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
42+
zephyr,code = <INPUT_KEY_0>;
43+
};
44+
};
45+
46+
aliases {
47+
led0 = &red_led;
48+
led1 = &blue_led;
49+
sw0 = &user_button;
50+
watchdog0 = &iwdg;
51+
die-temp0 = &die_temp;
52+
volt-sensor0 = &vref;
53+
volt-sensor1 = &vbat;
54+
};
55+
};
56+
57+
&dtcm {
58+
reg = <0x20000000 DT_SIZE_K(64)>;
59+
};
60+
61+
&clk_hsi48 {
62+
status = "okay";
63+
};
64+
65+
&clk_hse {
66+
clock-frequency = <DT_FREQ_M(24)>;
67+
status = "okay";
68+
};
69+
70+
&pll {
71+
div-m = <12>;
72+
mul-n = <250>;
73+
div-p = <2>;
74+
div-q = <2>;
75+
div-r = <2>;
76+
div-s = <2>;
77+
div-t = <2>;
78+
clocks = <&clk_hse>;
79+
status = "okay";
80+
};
81+
82+
&rcc {
83+
clocks = <&pll>;
84+
clock-frequency = <DT_FREQ_M(250)>;
85+
dcpre = <1>;
86+
hpre = <1>;
87+
ppre1 = <2>;
88+
ppre2 = <2>;
89+
ppre4 = <2>;
90+
ppre5 = <2>;
91+
};
92+
93+
&uart4 {
94+
pinctrl-0 = <&uart4_tx_pd1 &uart4_rx_pd0>;
95+
pinctrl-names = "default";
96+
current-speed = <115200>;
97+
status = "okay";
98+
};
99+
100+
&rng {
101+
status = "okay";
102+
};
103+
104+
&iwdg {
105+
status = "okay";
106+
};
107+
108+
&wwdg {
109+
status = "okay";
110+
};
111+
112+
&die_temp {
113+
status = "okay";
114+
};
115+
116+
&vref {
117+
status = "okay";
118+
};
119+
120+
&vbat {
121+
status = "okay";
122+
};

boards/ruiside/art_pi2/art_pi2.yaml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
identifier: art_pi2
2+
name: art pi2
3+
type: mcu
4+
arch: arm
5+
toolchain:
6+
- zephyr
7+
ram: 640
8+
flash: 64
9+
supported:
10+
- gpio
11+
- uart
12+
- watchdog
13+
- adc
14+
- entropy
15+
vendor: Ruiside
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright (c) 2025 Shan Pen <[email protected]>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# Enable SMPS
5+
CONFIG_POWER_SUPPLY_DIRECT_SMPS=y
6+
7+
# Enable MPU
8+
CONFIG_ARM_MPU=y
9+
10+
# Enable HW stack protection
11+
CONFIG_HW_STACK_PROTECTION=y
12+
13+
# enable uart driver
14+
CONFIG_SERIAL=y
15+
# enable console
16+
CONFIG_CONSOLE=y
17+
CONFIG_UART_CONSOLE=y
18+
19+
# enable GPIO
20+
CONFIG_GPIO=y

boards/ruiside/art_pi2/board.cmake

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
# keep first
4+
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
5+
board_runner_args(pyocd "--target=stm32h7r7l8hxh")
6+
board_runner_args(openocd --target-handle=_CHIPNAME.cpu0)
7+
8+
# keep first
9+
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
10+
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
11+
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)

boards/ruiside/art_pi2/board.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: art_pi2
3+
full_name: ART-Pi2
4+
vendor: Ruiside
5+
socs:
6+
- name: stm32h7r7xx
70.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)