Skip to content

Commit 6ffd4d1

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 49494b6 commit 6ffd4d1

File tree

9 files changed

+319
-0
lines changed

9 files changed

+319
-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: 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+
board_runner_args(jlink "--device=R9A07G066M04")
5+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

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: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
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. It only needs to be written to flash once.
83+
84+
There are two options to write IPL:
85+
86+
1. (Recommended) Follow "4. Tutorial: Your First RZ MPU Project - Blinky" of `Getting Started with RZ/A Flexible Software Package`_
87+
to start writing a blinky sample with FSP. The IPL will be written to flash by default in debugging time.
88+
89+
2. Follow the `Initial Program Loader Application Note`_ to write the IPL separately. The minimal steps are described below.
90+
91+
a. Follow "5. IPL development environment construction procedure" to prepare the build environment.
92+
93+
b. Follow "6. IPL build environment construction procedure" to build Initial Program Loader.
94+
If the build is successful, Initial Program Loader file will be generated in /build/a3m/release/a3m_ek_nor_ipl.srec
95+
96+
c. Follow "7.1 Create Debug Configuration" to create a Debug configuration to run Initial Program Loader on the target board.
97+
98+
d. For the board setup and connections, follow "3.2 Board Setup" of `Getting Started with RZ/A Flexible Software Package`_.
99+
100+
e. Follow "7.4 Execution procedure of IPL" to write Initial Program Loader to the target board.
101+
102+
Applications for the ``rza3m_ek`` board can be built in the usual way as
103+
documented in :ref:`build_an_application`.
104+
105+
Console
106+
=======
107+
The UART port is accessed by USB Debug connector (J10).
108+
109+
Debugging
110+
=========
111+
112+
It is possible to load and execute a Zephyr application binary on this board on the Cortex-A55 System Core
113+
from the DDR SDRAM, using ``JLink`` debugger (:ref:`jlink-debug-host-tools`).
114+
115+
Here is an example for building and debugging with the :zephyr:code-sample:`hello_world` application.
116+
117+
.. zephyr-app-commands::
118+
:zephyr-app: samples/hello_world
119+
:board: rza3m_ek
120+
:goals: build debug
121+
122+
Flashing
123+
========
124+
125+
Zephyr application can be flashed to Quad-SPI storage and then loaded by Initial Program Loader.
126+
127+
.. zephyr-app-commands::
128+
:zephyr-app: samples/hello_world
129+
:board: rza3m_ek
130+
:goals: build flash
131+
132+
References
133+
**********
134+
135+
.. target-notes::
136+
137+
.. _RZ/A3M Group Website:
138+
https://www.renesas.com/en/products/microcontrollers-microprocessors/rz-mpus/rza3m-powerful-1ghz-mpus-built-ddr3l-sdram-high-definition-hmi
139+
140+
.. _EK-RZ/A3M Website:
141+
https://www.renesas.com/en/products/microcontrollers-microprocessors/rz-mpus/ek-rza3m-evaluation-kit-rza3m-mpu
142+
143+
.. _Initial Program Loader Application Note:
144+
https://github.com/renesas/rza-initial-program-loader/tree/main/application_note
145+
146+
.. _Getting Started with RZ/A Flexible Software Package:
147+
https://www.renesas.com/en/document/apn/rza-getting-started-flexible-software-package
Binary file not shown.
92 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

0 commit comments

Comments
 (0)