Skip to content

Commit f9f70a1

Browse files
committed
boards: renesas: Add minimal support for board RZ/A3M-EK
This adds minimal support for board RZ/A3M-EK Signed-off-by: Nhut Nguyen <[email protected]>
1 parent e3834f0 commit f9f70a1

File tree

10 files changed

+354
-0
lines changed

10 files changed

+354
-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 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_RZA3M_EK
5+
select SOC_R9A07G066M04GBG

boards/renesas/rza3m_ek/board.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=R9A07G066M04")
5+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
6+
7+
if(CONFIG_BUILD_WITH_RZA_IPL)
8+
set(RZA_PLAT a3m)
9+
set(RZA_BOARD a3m_ek_nor)
10+
endif()

boards/renesas/rza3m_ek/board.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: rza3m_ek
3+
full_name: RZ/A3M Evaluation Kit
4+
vendor: renesas
5+
socs:
6+
- name: r9a07g066m04gbg

boards/renesas/rza3m_ek/doc/index.rst

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
.. zephyr:board:: rza3m_ek
2+
3+
Overview
4+
********
5+
6+
The EK-RZ/A3M evaluation kit enables users to easily evaluate the features of the RZ/A3M MPU.
7+
This kit includes an EK-RZ/A3M board, 5-inch 720x1280 pixel LCD MIPI graphics expansion board, and
8+
USB cables, allowing the seamless evaluation of high-definition human machine interface (HMI), camera
9+
input through USB, and more features. Equipped with an on-board J-Link debugger, users can
10+
conveniently start debugging without additional debuggers.
11+
Additionally, it also has several expansion connectors such as SDIO, PMOD,and Arduino to connect
12+
sensors, Wi-Fi, and Bluetooth® Low Energy (LE), allowing users to add more features without
13+
expanding the board space.
14+
15+
* Special Feature Access
16+
17+
* MIPI DSI 4 lanes & parallel graphics expansion ports
18+
* 5-inch MIPI LCD panel (720x1280 pixels)
19+
* USB High-Speed Host & Device
20+
* 32MB External QSPI NOR Flash
21+
* 128MB External QSPI NAND Flash
22+
* External sound codec
23+
* External RTC
24+
25+
* MPU Native Pin Access
26+
27+
* R9A07G066M04GBG MPU
28+
* 1GHz, Arm Cortex®-A55 core w/NEON extension
29+
* Built-in 128MB DDR3L DRAM
30+
* 128KB SRAM w/ECC
31+
* 244 pins, BGA package
32+
* Native pin access
33+
* MPU & USB current measurement
34+
35+
* Ecosystem & System Control Access
36+
37+
* USB High-Speed Host & Device
38+
* 5V input through USB (Debug, HS, USB-PD) or external power supply
39+
* Debug on-board (Segger J-Link®)
40+
* Debug external (SWD & JTAG)
41+
* SCIF download (SWD)
42+
* 3 user LEDs & 2 user buttons
43+
* 2 SeeedGrove® system (I2C & analog)
44+
* 2 Digilent Pmod™ (I2C, SPI or UART selectable)
45+
* Arduino™ (Uno R3)
46+
* MikroElektronika™ mikroBUS
47+
* SparkFun® Qwiic® (I2C)
48+
* MPU boot configuration switch
49+
* Audio In/Out 4-pole
50+
* MicroSD card slot
51+
52+
* Kit Contents
53+
54+
* EK-RZ/A3M board
55+
* MIPI graphics expansion board
56+
* USB cable (USB C to USB C)
57+
* USB cable (USB A female to USB C)
58+
* USB cable (USB A male to USB C)
59+
* Screw and spacer for fixing the sub board
60+
61+
Hardware
62+
********
63+
The Renesas RZ/A3M MPU documentation can be found at `RZ/A3M Group Website`_
64+
65+
.. figure:: rza3m_block_diagram.webp
66+
:width: 600px
67+
:align: center
68+
:alt: RZ/A3M group feature
69+
70+
RZ/A3M block diagram (Credit: Renesas Electronics Corporation)
71+
72+
Detailed hardware features for the board can be found at `EK-RZ/A3M Website`_
73+
74+
Supported Features
75+
==================
76+
77+
.. zephyr:board-supported-hw::
78+
79+
Programming and Debugging
80+
*************************
81+
82+
EK-RZ/A3M uses Initial Program Loader (IPL) to perform initial settings and copy the Zephyr image from flash to DDR SRAM for execution.
83+
It only needs to be written to flash at lease once before running Zephyr.
84+
85+
1. For the board setup and connections, follow "3.2 Board Setup" of `Getting Started with RZ/A Flexible Software Package`_.
86+
87+
2. Enable the IPL build with ``-DCONFIG_BUILD_WITH_RZA_IPL=y``.
88+
The IPL image ``rza3m_ek_nor_ipl.bin`` is generated under zephyrproject/zephyr/build/rza_ipl/a3m/release
89+
90+
.. zephyr-app-commands::
91+
:zephyr-app: samples/hello_world
92+
:board: rza3m_ek
93+
:goals: build
94+
:gen-args: -DCONFIG_BUILD_WITH_RZA_IPL=y
95+
96+
.. note::
97+
Currently, the IPL source code can built on Linux environment only.
98+
For Windows, please follow `Initial Program Loader Application Note`_
99+
100+
3. Flash it onto the board at address 0x20000000 by Jlink command `Segger JLink Renesas R9A07G066`_
101+
102+
.. code-block:: console
103+
104+
$ JLinkExe
105+
J-Link> connect
106+
Device> R9A07G066M04
107+
TIF> s
108+
Speed> [Enter]
109+
J-Link> h
110+
J-Link> loadfile <ipl_bin_path> 0x20000000
111+
112+
Where ``<ipl_bin_path>`` is the path to the ``rza3m_ek_nor_ipl.bin`` in the output directory.
113+
114+
Applications for the ``rza3m_ek`` board can be built in the usual way as
115+
documented in :ref:`build_an_application`.
116+
117+
Console
118+
=======
119+
The UART port is accessed by USB Debug connector (J10).
120+
121+
Debugging
122+
=========
123+
124+
It is possible to load and execute a Zephyr application binary on this board on the Cortex-A55 System Core
125+
from the DDR SDRAM, using ``JLink`` debugger (:ref:`jlink-debug-host-tools`).
126+
127+
Here is an example for building and debugging with the :zephyr:code-sample:`hello_world` application.
128+
129+
.. zephyr-app-commands::
130+
:zephyr-app: samples/hello_world
131+
:board: rza3m_ek
132+
:goals: build debug
133+
134+
Flashing
135+
========
136+
137+
Zephyr application can be flashed to Quad-SPI storage and then loaded by Initial Program Loader.
138+
139+
.. zephyr-app-commands::
140+
:zephyr-app: samples/hello_world
141+
:board: rza3m_ek
142+
:goals: build flash
143+
144+
References
145+
**********
146+
147+
.. target-notes::
148+
149+
.. _RZ/A3M Group Website:
150+
https://www.renesas.com/en/products/microcontrollers-microprocessors/rz-mpus/rza3m-powerful-1ghz-mpus-built-ddr3l-sdram-high-definition-hmi
151+
152+
.. _EK-RZ/A3M Website:
153+
https://www.renesas.com/en/products/microcontrollers-microprocessors/rz-mpus/ek-rza3m-evaluation-kit-rza3m-mpu
154+
155+
.. _Initial Program Loader Application Note:
156+
https://github.com/renesas/rza-initial-program-loader/tree/main/application_note
157+
158+
.. _Getting Started with RZ/A Flexible Software Package:
159+
https://www.renesas.com/en/document/apn/rza-getting-started-flexible-software-package
160+
161+
.. _Segger JLink Renesas R9A07G066:
162+
https://kb.segger.com/Renesas_R9A07G066
Binary file not shown.
42.3 KB
Binary file not shown.

boards/renesas/rza3m_ek/rza3m_ek.dts

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h>
9+
#include <zephyr/dt-bindings/input/input-event-codes.h>
10+
#include <zephyr/dt-bindings/gpio/renesas-rz-gpio.h>
11+
#include <freq.h>
12+
#include <arm64/renesas/rz/rza/r9a07g066.dtsi>
13+
#include "rza3m_ek-pinctrl.dtsi"
14+
15+
/ {
16+
model = "Renesas RZ/A3M EK";
17+
compatible = "renesas,rza3m-ek";
18+
19+
chosen {
20+
zephyr,sram = &ddr;
21+
zephyr,flash = &spi_flash;
22+
zephyr,console = &scif0;
23+
zephyr,shell-uart = &scif0;
24+
zephyr,code-partition= &slot0_partition;
25+
};
26+
27+
ddr: memory@40200000 {
28+
compatible ="zephyr,memory-region", "mmio-sram";
29+
reg = <0x40200000 (DT_SIZE_M(128) - 0x200000)>;
30+
zephyr,memory-region = "DDR";
31+
};
32+
33+
sram: memory@1e000 {
34+
compatible ="zephyr,memory-region", "mmio-sram";
35+
reg = <0x1e000 DT_SIZE_K(72)>;
36+
zephyr,memory-region = "SRAM";
37+
};
38+
39+
spi_flash: memory@20020000 {
40+
compatible = "mmio-sram";
41+
reg = <0x20020000 (DT_SIZE_M(16) - 0x20000)>;
42+
43+
partitions {
44+
compatible = "fixed-partitions";
45+
#address-cells = <1>;
46+
#size-cells = <1>;
47+
48+
header: partition@0 {
49+
label = "header";
50+
reg = <0x00000000 0x200>;
51+
read-only;
52+
};
53+
54+
slot0_partition: partition@200 {
55+
label = "image-0";
56+
reg = <0x00000200 (DT_SIZE_M(16) - 0x20200)>;
57+
read-only;
58+
};
59+
};
60+
};
61+
62+
aliases {
63+
led0 = &led1;
64+
sw0 = &sw1;
65+
};
66+
67+
leds {
68+
compatible = "gpio-leds";
69+
70+
led1: led1 {
71+
gpios = <&gpio10 1 GPIO_ACTIVE_HIGH>;
72+
label = "led1";
73+
};
74+
75+
led2: led2 {
76+
gpios = <&gpio20 3 GPIO_ACTIVE_HIGH>;
77+
label = "led2";
78+
};
79+
80+
led3: led3 {
81+
gpios = <&gpio20 4 GPIO_ACTIVE_HIGH>;
82+
label = "led3";
83+
};
84+
};
85+
86+
gpio_keys {
87+
compatible = "gpio-keys";
88+
89+
sw1: sw1 {
90+
label = "sw1";
91+
gpios = <&gpio10 3 GPIO_ACTIVE_HIGH>;
92+
zephyr,code = <INPUT_KEY_0>;
93+
};
94+
95+
sw2: sw2 {
96+
label = "sw2";
97+
gpios = <&gpio11 1 GPIO_ACTIVE_HIGH>;
98+
zephyr,code = <INPUT_KEY_1>;
99+
};
100+
};
101+
};
102+
103+
&scif0 {
104+
current-speed = <115200>;
105+
pinctrl-0 = <&scif0_pins>;
106+
pinctrl-names = "default";
107+
status = "okay";
108+
};
109+
110+
&gpio {
111+
status = "okay";
112+
};
113+
114+
&gpio10 {
115+
status = "okay";
116+
};
117+
118+
&gpio11 {
119+
status = "okay";
120+
};
121+
122+
&gpio20 {
123+
status = "okay";
124+
};

boards/renesas/rza3m_ek/rza3m_ek.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
identifier: rza3m_ek
2+
name: Renesas RZ/A3M Evaluation Kit
3+
type: mcu
4+
arch: arm64
5+
toolchain:
6+
- zephyr
7+
- cross-compile
8+
supported:
9+
- uart
10+
- gpio
11+
testing:
12+
ignore_tags:
13+
- bluetooth
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
CONFIG_XIP=n
5+
6+
# MMU Options
7+
CONFIG_MAX_XLAT_TABLES=24
8+
9+
# Cache Options
10+
CONFIG_CACHE_MANAGEMENT=y
11+
CONFIG_DCACHE_LINE_SIZE_DETECT=y
12+
CONFIG_ICACHE_LINE_SIZE_DETECT=y
13+
14+
# Enable UART driver
15+
CONFIG_SERIAL=y
16+
17+
# Enable console
18+
CONFIG_CONSOLE=y
19+
CONFIG_UART_CONSOLE=y

modules/Kconfig.renesas

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,21 @@ config USE_RZ_FSP_SCI_UART
265265
help
266266
Enable RZ FSP SCI UART driver
267267

268+
menuconfig BUILD_WITH_RZA_IPL
269+
bool "Build with RZ/A Initial Program Loader (IPL)"
270+
help
271+
When enabled, this option instructs the Zephyr build process to
272+
additionally generate IPL image for Renesas RZ/A series.
273+
274+
if BUILD_WITH_RZA_IPL
275+
276+
config RZA_IPL_BUILD_DEBUG
277+
bool "Debug build"
278+
help
279+
When enabled, the build type of IPL would be debug.
280+
281+
endif # BUILD_WITH_RZA_IPL
282+
268283
endif
269284

270285
config HAS_RENESAS_RX_RDP

0 commit comments

Comments
 (0)