Skip to content

Commit 7e4b2df

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 df9ed40 commit 7e4b2df

File tree

9 files changed

+314
-0
lines changed

9 files changed

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

0 commit comments

Comments
 (0)