Skip to content

Commit b630941

Browse files
Hau Hojhedberg
authored andcommitted
boards: renesas: rx: Initial support for EK-RX261 board
Initial support for EK-RX261 board using RX261 SOC Singed-off-by: Quy Tran <[email protected]> Signed-off-by: Hau Ho <[email protected]>
1 parent 5afa17c commit b630941

File tree

9 files changed

+338
-0
lines changed

9 files changed

+338
-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_EK_RX261
5+
select SOC_R5F52618BGFP

boards/renesas/ek_rx261/board.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# options after "--tool-opt=" are directly passed to the tool. So instead of "--iface=JTAG" you could also write "--tool-opt=-if JTAG"
5+
board_runner_args(jlink "--device=R5F52618" "--iface=FINE" "--speed=1000" "--tool-opt=-jtagconf -1,-1 -autoconnect 1" )
6+
board_runner_args(rfp "--device=RX200" "--tool=e2l" "--interface=fine" "--erase")
7+
8+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
9+
include(${ZEPHYR_BASE}/boards/common/rfp.board.cmake)

boards/renesas/ek_rx261/board.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: ek_rx261
3+
full_name: RX261 Evaluation Kit
4+
vendor: renesas
5+
socs:
6+
- name: r5f52618bgfp
74.3 KB
Binary file not shown.

boards/renesas/ek_rx261/doc/index.rst

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
.. zephyr:board:: ek_rx261
2+
3+
Overview
4+
********
5+
6+
The EK-RX261 is an Evaluation Kit for the Renesas RX261 MCU Group, designed to evaluate features
7+
of the RX261 family and accelerate embedded system development. The board includes rich
8+
interfaces, peripheral connectors, and expansion support for popular ecosystem modules.
9+
10+
The key features of the EK-RX261 board are categorized in three groups:
11+
12+
**MCU Native Pin Access**
13+
14+
- RX261 MCU (R5F52618BGFP), 32-bit RXv3 core at 64MHz
15+
- 512KB Code Flash, 8KB Data Flash, 128KB RAM
16+
- Native pin access through 6 x 2-pin and 14 x 2-pin x 3-piece male headers
17+
- MCU current measurement points for current consumption measurement
18+
- Precision 8.000MHz main oscillator and 32.768kHz sub-clock
19+
20+
**System Control and Ecosystem Access**
21+
22+
- Four 5V input sources:
23+
24+
- USB (USB DEBUG1, USB FULL SPEED, USB SERIAL)
25+
- External power supply (via TP5, TP6)
26+
27+
- Two Debug Modes:
28+
- Debug on-board via E2 Emulator OB (FINE interface)
29+
- Debug in via 14-pin external header (FINE interface)
30+
31+
- User LEDs:
32+
- 3 User LEDs (Red, Green, Blue)
33+
- 1 Power LED (White)
34+
- 1 Debug LED (Yellow)
35+
36+
- User Buttons:
37+
- 2 User Switches
38+
- 1 Reset Switch
39+
40+
- Popular ecosystem expansion connectors:
41+
42+
- 2x Grove connectors (I2C / Analog)
43+
- 1x SparkFun Qwiic connector (I2C)
44+
- 2x Digilent Pmod connectors (UART/SPI/I2C)
45+
- Arduino Uno R3-compatible header
46+
- mikroBUS connector
47+
48+
- USB Full Speed Host and Device (micro-B connector)
49+
- USB to Serial communication via FT234XD
50+
51+
**Special Feature Access**
52+
53+
- CAN FD transceiver with 3-pin header
54+
- Touch interface (2 buttons)
55+
56+
Hardware
57+
********
58+
59+
Detailed hardware features can be found at:
60+
- RX261 MCU: `RX261 Group User's Manual Hardware`_.
61+
- EK-RX261 board: `EK-RX261 - User's Manual`_.
62+
63+
Supported Features
64+
==================
65+
66+
.. zephyr:board-supported-hw::
67+
68+
Programming and Debugging
69+
*************************
70+
71+
.. zephyr:board-supported-runners::
72+
73+
Applications for the ``ek_rx261`` board can be built, flashed, and debugged using standard
74+
Zephyr workflows. Refer to :ref:`build_an_application` and :ref:`application_run` for more details.
75+
76+
**Note:** Currently, the RX261 is built and programmed using the Renesas GCC RX toolchain.
77+
Please follow the steps below to program it onto the board:
78+
79+
- Download and install GCC for RX toolchain:
80+
81+
https://llvm-gcc-renesas.com/rx-download-toolchains/
82+
83+
- Set env variable:
84+
85+
.. code-block:: console
86+
87+
export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile
88+
export CROSS_COMPILE=<Path/to/your/toolchain>/bin/rx-elf-
89+
90+
- Build the Blinky Sample for EK-RX261
91+
92+
.. code-block:: console
93+
94+
cd ~/zephyrproject/zephyr
95+
west build -p always -b ek_rx261 samples/basic/blinky
96+
97+
Flashing
98+
========
99+
100+
Program can be flashed to EK-RX261 via either the on-board **E2 Emulator OB** or
101+
an external **SEGGER J-Link** debugger (using the FINE interface).
102+
103+
- **Renesas Flash Programmer (RFP)** can be used with the on-board E2 Emulator OB.
104+
RFP is available at: https://www.renesas.com/software-tool/renesas-flash-programmer-programming-gui
105+
106+
- **SEGGER J-Link** can be used with the 14-pin FINE connector (J27) for external flashing.
107+
J-Link drivers are available at: https://www.segger.com/downloads/jlink/
108+
109+
1. **Connect to the debugger:**
110+
111+
- For E2 Emulator OB: connect **USB DEBUG1 (J26)**
112+
- For J-Link: connect to **14-pin FINE header (J27)**
113+
114+
2. **Set jumper configuration according to the selected flash mode:**
115+
116+
- **E2 Emulator OB (on-board):**
117+
118+
- J22: Open
119+
- J23: Jumper on pins **2-3**
120+
- J24: Open
121+
- J25: Open
122+
123+
- **J-Link (external debugger):**
124+
125+
- J22: Open
126+
- J23: Jumper on pins **1-2** or **2-3**
127+
- J24: **Closed**
128+
- J25: Open
129+
130+
3. **Run flashing command:**
131+
132+
.. code-block:: console
133+
134+
west flash # For E2 Emulator OB
135+
west flash -r jlink # For J-Link (external debugger)
136+
137+
Debugging
138+
=========
139+
140+
The EK-RX261 supports debugging through:
141+
142+
- **On-board E2 Emulator OB (via USB DEBUG1)**
143+
- **External debugger** using the 14-pin FINE header (J27)
144+
145+
To use on-board E2 Emulator:
146+
147+
- J22: Open
148+
- J23: Jumper on pins **2-3**
149+
- J24: Open
150+
- J25: Open
151+
152+
To use external debugger:
153+
154+
- J24: Closed
155+
- J22: Open
156+
- J23: Jumper on pins 1-2 or 2-3 (depending on desired pull-up/down)
157+
- J25: Open
158+
159+
**Note:** External debugger (e.g., E2 Lite) cannot power the board. Supply external 5V via USB or TP5/TP6.
160+
161+
References
162+
**********
163+
- `EK-RX261 Website`_
164+
- `RX261 MCU group Website`_
165+
166+
.. _EK-RX261 Website:
167+
https://www.renesas.com/en/design-resources/boards-kits/ek-rx261
168+
169+
.. _RX261 MCU group Website:
170+
https://www.renesas.com/en/products/rx261
171+
172+
.. _EK-RX261 - User's Manual:
173+
https://www.renesas.com/en/document/mat/ek-rx261-v1-users-manual
174+
175+
.. _RX261 Group User's Manual Hardware:
176+
https://www.renesas.com/en/document/mah/rx260-group-rx261-group-users-manual-hardware
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
&pinctrl {
8+
sci6_default: sci6_default {
9+
group1 {
10+
psels = <RX_PSEL(RX_PSEL_SCI_6, 11, 1)>, /* TX */
11+
<RX_PSEL(RX_PSEL_SCI_6, 11, 0)>; /* RX */
12+
};
13+
};
14+
};

boards/renesas/ek_rx261/ek_rx261.dts

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <renesas/r5f52618bgfp.dtsi>
10+
#include <dt-bindings/gpio/gpio.h>
11+
#include "ek_rx261-pinctrl.dtsi"
12+
13+
/ {
14+
model = "Renesas EK-RX261 KIT";
15+
compatible = "renesas,ek_rx261";
16+
17+
chosen {
18+
zephyr,sram = &sram0;
19+
zephyr,flash = &code_flash;
20+
zephyr,console = &uart6;
21+
zephyr,shell-uart = &uart6;
22+
};
23+
24+
leds {
25+
compatible = "gpio-leds";
26+
27+
led1: led1 {
28+
gpios = <&ioportj 1 GPIO_ACTIVE_LOW>;
29+
label = "LED1";
30+
};
31+
32+
led2: led2 {
33+
gpios = <&ioportc 5 GPIO_ACTIVE_LOW>;
34+
label = "LED2";
35+
};
36+
37+
led3: led3 {
38+
gpios = <&ioporta 3 GPIO_ACTIVE_LOW>;
39+
label = "LED3";
40+
};
41+
42+
};
43+
44+
aliases {
45+
led0 = &led1;
46+
led1 = &led2;
47+
led2 = &led3;
48+
};
49+
};
50+
51+
&xtal {
52+
clock-frequency = <DT_FREQ_M(8)>;
53+
mosel = <0>;
54+
#clock-cells = <0>;
55+
status = "okay";
56+
};
57+
58+
&pll {
59+
div = <1>;
60+
mul = <RX_PLL_MUL_8>;
61+
status = "okay";
62+
};
63+
64+
&cmt {
65+
clock-frequency = <DT_FREQ_M(4)>;
66+
status = "okay";
67+
};
68+
69+
&ioport3 {
70+
status = "okay";
71+
};
72+
73+
&ioporta {
74+
status = "okay";
75+
};
76+
77+
&ioportc {
78+
status = "okay";
79+
};
80+
81+
&ioportd {
82+
status = "okay";
83+
};
84+
85+
&ioportj {
86+
status = "okay";
87+
};
88+
89+
&sci6 {
90+
pinctrl-0 = <&sci6_default>;
91+
pinctrl-names = "default";
92+
status = "okay";
93+
94+
uart6: uart {
95+
current-speed = <115200>;
96+
status = "okay";
97+
};
98+
};

boards/renesas/ek_rx261/ek_rx261.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: ek_rx261
5+
name: Renesas EK-RX261
6+
type: mcu
7+
arch: rx
8+
toolchain:
9+
- cross-compile
10+
supported:
11+
- gpio
12+
- serial
13+
- timer
14+
ram: 128
15+
flash: 512
16+
testing:
17+
timeout_multiplier: 5
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# Enable GPIO
5+
CONFIG_GPIO=y
6+
7+
# Enable UART driver
8+
CONFIG_SERIAL=y
9+
CONFIG_UART_INTERRUPT_DRIVEN=y
10+
11+
# Enable console
12+
CONFIG_CONSOLE=y
13+
CONFIG_UART_CONSOLE=y

0 commit comments

Comments
 (0)