Skip to content

Commit 9091d24

Browse files
committed
boards: ruiside: RA8D1 Vision Board: add support
this is another board from ruiside, tested uart, button, led, sdram, sd card Signed-off-by: Shan Pen <bricle031@gmail.com>
1 parent 14b4e30 commit 9091d24

File tree

11 files changed

+499
-1
lines changed

11 files changed

+499
-1
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Copyright (c) 2025 Shan Pen <bricle031@gmail.com>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_RA8D1_VISION_BOARD
5+
6+
if DISK_DRIVER_SDMMC
7+
8+
config SD_CMD_TIMEOUT
9+
default 1000
10+
11+
endif # DISK_DRIVER_SDMMC
12+
13+
endif # BOARD_RA8D1_VISION_BOARD
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Shan Pen <bricle031@gmail.com>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_RA8D1_VISION_BOARD
5+
select SOC_R7FA8D1BHECBD
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
# keep first
4+
board_runner_args(pyocd "--target=R7FA8D1BH")
5+
6+
# keep first
7+
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: ra8d1_vision_board
3+
full_name: RA8D1 Vision Board
4+
vendor: ruiside
5+
socs:
6+
- name: r7fa8d1bhecbd
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
.. zephyr:board:: ra8d1_vision_board
2+
3+
Overview
4+
********
5+
6+
The RA8D1-VISION-BOARD, based on the Renesas Cortex-M85 architecture RA8D1 chip, offers
7+
engineers a flexible and comprehensive development platform, empowering them to explore the realm of
8+
machine vision more deeply.
9+
10+
Key Features
11+
12+
- Arm Cortex-M85
13+
- 480MHz frequency, on-chip 2Mb Flash, 1Mb SRAM
14+
- 32Mb-SDRAM; 8Mb-QSPI Flash
15+
- MIPI-DSI; RGB666; 8bit Camera
16+
- On-board DAP-LINK debugger with CMSIS-DAP
17+
- Raspberry Pi Interface
18+
19+
More information about the board can be found at the `RA8D1-VISION-BOARD website`_.
20+
21+
Hardware
22+
********
23+
Detailed Hardware features for the RA8D1 MCU group can be found at `RA8D1 Group User's Manual Hardware`_
24+
25+
Supported Features
26+
==================
27+
28+
.. zephyr:board-supported-hw::
29+
30+
Default Zephyr Peripheral Mapping:
31+
----------------------------------
32+
33+
The RA8D1-VISION-BOARD board features a On-board CMSIS-DAP debugger/programmer. Board is configured as follows:
34+
35+
- UART9 TX/RX : P209/P208 (CMSIS-DAP Virtual Port Com)
36+
- LED0 : P102
37+
- LED1 : P106
38+
- LED2 : PA07
39+
- USER BUTTON : P907
40+
41+
Programming and Debugging
42+
*************************
43+
44+
.. zephyr:board-supported-runners::
45+
46+
Applications for the ``ra8d1_vision_board`` board can be
47+
built, flashed, and debugged in the usual way. See
48+
:ref:`build_an_application` and :ref:`application_run` for more details on
49+
building and running.
50+
51+
**Note:** Only support from SDK v0.16.6 in which GCC for Cortex Arm-M85 was available.
52+
To build for RA8D1-VISION-BOARD user need to get and install GNU Arm Embedded toolchain from https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.16.6
53+
54+
Flashing
55+
========
56+
57+
Program can be flashed to RA8D1-VISION-BOARD via the on-board DAP-LINK debugger.
58+
59+
Linux users: to fix the permission issue, simply add the following udev rule for the
60+
CMSIS-DAP interface:
61+
62+
.. code-block:: console
63+
64+
$ echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0416", ATTR{idProduct}=="7687", MODE:="666"' > /etc/udev/rules.d/50-cmsis-dap.rules
65+
66+
To flash the program to board
67+
68+
1. Connect to DAP-LINK via USB port to host PC
69+
70+
2. Execute west command
71+
72+
.. code-block:: console
73+
74+
west flash
75+
76+
Debugging
77+
=========
78+
79+
You can debug an application in the usual way. Here is an example for the
80+
:zephyr:code-sample:`hello_world` application.
81+
82+
.. zephyr-app-commands::
83+
:zephyr-app: samples/hello_world
84+
:board: ra8d1_vision_board
85+
:maybe-skip-config:
86+
:goals: debug
87+
88+
References
89+
**********
90+
.. target-notes::
91+
92+
.. _RA8D1-VISION-BOARD Website:
93+
https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board
94+
95+
.. _RA8D1 Group User's Manual Hardware:
96+
https://www.renesas.com/us/en/document/mah/ra8d1-group-users-manual-hardware
Binary file not shown.
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
/*
2+
* Copyright (c) 2025 Shan Pen <bricle031@gmail.com>
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
&pinctrl {
7+
sci9_default: sci9_default {
8+
group1 {
9+
/* tx */
10+
psels = <RA_PSEL(RA_PSEL_SCI_9, 2, 9)>;
11+
drive-strength = "medium";
12+
};
13+
14+
group2 {
15+
/* rx */
16+
psels = <RA_PSEL(RA_PSEL_SCI_9, 2, 8)>;
17+
};
18+
};
19+
20+
sdram_default: sdram_default {
21+
group1 {
22+
/* SDRAM_DQM1 */
23+
psels = <RA_PSEL(RA_PSEL_BUS, 1, 12)>,
24+
/* SDRAM_CKE */
25+
<RA_PSEL(RA_PSEL_BUS, 1, 13)>,
26+
/* SDRAM_WE */
27+
<RA_PSEL(RA_PSEL_BUS, 1, 14)>,
28+
/* SDRAM_CS */
29+
<RA_PSEL(RA_PSEL_BUS, 1, 15)>,
30+
/* SDRAM_A0 */
31+
<RA_PSEL(RA_PSEL_BUS, 3, 0)>,
32+
/* SDRAM_A1 */
33+
<RA_PSEL(RA_PSEL_BUS, 3, 1)>,
34+
/* SDRAM_A2 */
35+
<RA_PSEL(RA_PSEL_BUS, 3, 2)>,
36+
/* SDRAM_A3 */
37+
<RA_PSEL(RA_PSEL_BUS, 3, 3)>,
38+
/* SDRAM_A4 */
39+
<RA_PSEL(RA_PSEL_BUS, 3, 4)>,
40+
/* SDRAM_A5 */
41+
<RA_PSEL(RA_PSEL_BUS, 3, 5)>,
42+
/* SDRAM_A6 */
43+
<RA_PSEL(RA_PSEL_BUS, 3, 6)>,
44+
/* SDRAM_A7 */
45+
<RA_PSEL(RA_PSEL_BUS, 3, 7)>,
46+
/* SDRAM_A8 */
47+
<RA_PSEL(RA_PSEL_BUS, 3, 8)>,
48+
/* SDRAM_A9 */
49+
<RA_PSEL(RA_PSEL_BUS, 3, 9)>,
50+
/* SDRAM_A10 */
51+
<RA_PSEL(RA_PSEL_BUS, 3, 10)>,
52+
/* SDRAM_A11 */
53+
<RA_PSEL(RA_PSEL_BUS, 3, 11)>,
54+
/* SDRAM_A12 */
55+
<RA_PSEL(RA_PSEL_BUS, 3, 12)>,
56+
/* SDRAM_A13 */
57+
<RA_PSEL(RA_PSEL_BUS, 3, 12)>,
58+
/* SDRAM_A14 */
59+
<RA_PSEL(RA_PSEL_BUS, 9, 5)>,
60+
/* SDRAM_A15 */
61+
<RA_PSEL(RA_PSEL_BUS, 9, 6)>,
62+
/* SDRAM_D0 */
63+
<RA_PSEL(RA_PSEL_BUS, 6, 1)>,
64+
/* SDRAM_D1 */
65+
<RA_PSEL(RA_PSEL_BUS, 6, 2)>,
66+
/* SDRAM_D2 */
67+
<RA_PSEL(RA_PSEL_BUS, 6, 3)>,
68+
/* SDRAM_D3 */
69+
<RA_PSEL(RA_PSEL_BUS, 6, 4)>,
70+
/* SDRAM_D4 */
71+
<RA_PSEL(RA_PSEL_BUS, 6, 5)>,
72+
/* SDRAM_D5 */
73+
<RA_PSEL(RA_PSEL_BUS, 6, 6)>,
74+
/* SDRAM_D6 */
75+
<RA_PSEL(RA_PSEL_BUS, 6, 7)>,
76+
/* SDRAM_D8 */
77+
<RA_PSEL(RA_PSEL_BUS, 6, 9)>,
78+
/* SDRAM_D9 */
79+
<RA_PSEL(RA_PSEL_BUS, 6, 10)>,
80+
/* SDRAM_D10 */
81+
<RA_PSEL(RA_PSEL_BUS, 6, 11)>,
82+
/* SDRAM_D11 */
83+
<RA_PSEL(RA_PSEL_BUS, 6, 12)>,
84+
/* SDRAM_D12 */
85+
<RA_PSEL(RA_PSEL_BUS, 6, 13)>,
86+
/* SDRAM_D13 */
87+
<RA_PSEL(RA_PSEL_BUS, 6, 14)>,
88+
/* SDRAM_D14 */
89+
<RA_PSEL(RA_PSEL_BUS, 6, 15)>,
90+
/* SDRAM_RAS */
91+
<RA_PSEL(RA_PSEL_BUS, 9, 8)>,
92+
/* SDRAM_CAS */
93+
<RA_PSEL(RA_PSEL_BUS, 9, 9)>;
94+
drive-strength = "high";
95+
};
96+
97+
group2 {
98+
/* SDRAM_SDCLK */
99+
psels = <RA_PSEL(RA_PSEL_BUS, 10, 9)>;
100+
drive-strength = "highspeed-high";
101+
};
102+
103+
group3 {
104+
/* SDRAM_D7 */
105+
psels = <RA_PSEL(RA_PSEL_BUS, 10, 0)>,
106+
/* SDRAM_D15 */
107+
<RA_PSEL(RA_PSEL_BUS, 10, 8)>,
108+
/* SDRAM_DQM0 */
109+
<RA_PSEL(RA_PSEL_BUS, 10, 10)>;
110+
drive-strength = "high";
111+
};
112+
};
113+
114+
sdhc1_default: sdhc1_default {
115+
group1 {
116+
psels = <RA_PSEL(RA_PSEL_SDHI, 5, 3)>, /* SDCD */
117+
<RA_PSEL(RA_PSEL_SDHI, 8, 11)>, /* SDCMD */
118+
<RA_PSEL(RA_PSEL_SDHI, 8, 12)>, /* SDDATA0 */
119+
<RA_PSEL(RA_PSEL_SDHI, 5, 0)>, /* SDDATA1 */
120+
<RA_PSEL(RA_PSEL_SDHI, 5, 1)>, /* SDDATA2 */
121+
<RA_PSEL(RA_PSEL_SDHI, 5, 2)>; /* SDDATA3 */
122+
drive-strength = "high";
123+
};
124+
125+
group2 {
126+
psels = <RA_PSEL(RA_PSEL_SDHI, 8, 10)>; /* SDCLK */
127+
drive-strength = "highspeed-high";
128+
};
129+
};
130+
};

0 commit comments

Comments
 (0)