Skip to content

Commit f07713c

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 f07713c

File tree

11 files changed

+485
-0
lines changed

11 files changed

+485
-0
lines changed
Lines changed: 5 additions & 0 deletions
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

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
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+
31+
blue_led: led_2 {
32+
gpios = <&gpioo 5 GPIO_ACTIVE_LOW>;
33+
label = "User LED2";
34+
};
35+
};
36+
37+
gpio_keys {
38+
compatible = "gpio-keys";
39+
40+
user_button: button_0 {
41+
label = "User";
42+
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
43+
zephyr,code = <INPUT_KEY_0>;
44+
};
45+
};
46+
47+
aliases {
48+
led0 = &red_led;
49+
led1 = &blue_led;
50+
sw0 = &user_button;
51+
watchdog0 = &iwdg;
52+
die-temp0 = &die_temp;
53+
volt-sensor0 = &vref;
54+
volt-sensor1 = &vbat;
55+
};
56+
};
57+
58+
&dtcm {
59+
reg = <0x20000000 DT_SIZE_K(64)>;
60+
};
61+
62+
&clk_hsi48 {
63+
status = "okay";
64+
};
65+
66+
&clk_hse {
67+
clock-frequency = <DT_FREQ_M(24)>;
68+
status = "okay";
69+
};
70+
71+
&pll {
72+
div-m = <12>;
73+
mul-n = <250>;
74+
div-p = <2>;
75+
div-q = <2>;
76+
div-r = <2>;
77+
div-s = <2>;
78+
div-t = <2>;
79+
clocks = <&clk_hse>;
80+
status = "okay";
81+
};
82+
83+
&rcc {
84+
clocks = <&pll>;
85+
clock-frequency = <DT_FREQ_M(250)>;
86+
dcpre = <1>;
87+
hpre = <1>;
88+
ppre1 = <2>;
89+
ppre2 = <2>;
90+
ppre4 = <2>;
91+
ppre5 = <2>;
92+
};
93+
94+
&uart4 {
95+
pinctrl-0 = <&uart4_tx_pd1 &uart4_rx_pd0>;
96+
pinctrl-names = "default";
97+
current-speed = <115200>;
98+
status = "okay";
99+
};
100+
101+
&rng {
102+
status = "okay";
103+
};
104+
105+
&iwdg {
106+
status = "okay";
107+
};
108+
109+
&wwdg {
110+
status = "okay";
111+
};
112+
113+
&die_temp {
114+
status = "okay";
115+
};
116+
117+
&vref {
118+
status = "okay";
119+
};
120+
121+
&vbat {
122+
status = "okay";
123+
};
Lines changed: 15 additions & 0 deletions
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
Lines changed: 20 additions & 0 deletions
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

Lines changed: 11 additions & 0 deletions
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

Lines changed: 6 additions & 0 deletions
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
Loading

0 commit comments

Comments
 (0)