Skip to content

Commit a427284

Browse files
Hau Hoquytranpzz
authored andcommitted
boards: renesas: Initial support for MCB-RX26T board
Initial commit to support for MCB-RX26T board Signed-off-by: Hau Ho <[email protected]>
1 parent bf5bc95 commit a427284

File tree

9 files changed

+308
-0
lines changed

9 files changed

+308
-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_MCB_RX26T
5+
select SOC_R5F526TFDDFP

boards/renesas/mcb_rx26t/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=R5F526TF" "--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/rfp.board.cmake)
9+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/renesas/mcb_rx26t/board.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
board:
2+
name: mcb_rx26t
3+
vendor: renesas
4+
socs:
5+
- name: r5f526tfddfp
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
.. zephyr:board:: mcb_rx26t
2+
3+
Overview
4+
********
5+
6+
MCB-RX26T Type B is a CPU board for motor control evaluation. By using this product in combination with
7+
an inverter board, motor control using RX26T can be easily performed.
8+
9+
**MCU Native Pin Access**
10+
11+
The MCB-RX26T Type B includes:
12+
13+
- CPU maximum operating frequency 120MHz, 32-bit RXv3 Core
14+
- Package/Pin count: LFQFP/100 pin
15+
- ROM/RAM: 512KB/48KB
16+
- MCU input clock: 10MHz (Generate with external crystal oscillator)
17+
18+
**System Control and Debugging**
19+
20+
- Power supply: DC 5V,3.3V (selectable with jumper switch) Select one way automatically from the below
21+
22+
- USB-powered (debug port)
23+
- External power supply via standard input
24+
25+
- Debugging support:
26+
27+
- Via E2lite debugger with E2OB (Onboard debugger circuit)
28+
29+
- Connector:
30+
31+
- Inverter board connector
32+
- USB connector for E2 OB
33+
- SCI connector for Renesas Motor Workbench communication
34+
- Through hole for CAN communication
35+
- Through hole for SPI communication
36+
- PMOD connectors
37+
38+
- User LEDs and buttons:
39+
40+
- Four User LEDs
41+
- Power LED indicating availability of regulated power
42+
- One Reset button
43+
44+
Hardware
45+
********
46+
Detailed hardware features can be found at:
47+
48+
- RX26T MCU: `RX26T Group User's Manual Hardware`_
49+
- MCB-RX26T Type B: `MCB-RX26T Type B - User's Manual`_
50+
51+
Note:
52+
The CPU used in the RX26T is based on the RXv3 core. However, the current version of the Zephyr kernel
53+
only supports the RXv1 core. Since the RXv3 core is backward-compatible with RXv1, it works with this version.
54+
But the following limitations apply:
55+
56+
- FPU context saving is not supported. Do not use the FPU.
57+
- Register bank save function is not supported. Do not use instructions for register bank save function.
58+
- Accumulator register saving is not supported. Do not use DSP instructions or any libraries that include DSP instructions.
59+
60+
Supported Features
61+
==================
62+
63+
.. zephyr:board-supported-hw::
64+
65+
Programming and Debugging
66+
*************************
67+
68+
.. zephyr:board-supported-runners::
69+
70+
Applications for the ``mcb_rx26t`` board target configuration can be
71+
built, flashed, and debugged as below.
72+
73+
Currently, the Zephyr SDK hasn't added support for RX builds yet, so the GCC for RX toolchain is required and build system
74+
need to be set to use "cross-compile".
75+
76+
- Download and install GCC for RX v8.3.0.202405 toolchain:
77+
78+
https://llvm-gcc-renesas.com/rx-download-toolchains/
79+
80+
- Set env variable:
81+
82+
.. code-block:: console
83+
84+
export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile
85+
export CROSS_COMPILE=<Path to your toolchain>/bin/rx-elf-
86+
87+
- Build the Blinky Sample for MCB-RX26T Type B:
88+
89+
.. code-block:: console
90+
91+
cd ~/zephyrproject/zephyr
92+
west build -p always -b mcb_rx26t samples/basic/blinky
93+
94+
Flashing
95+
========
96+
97+
Program can be flashed to MCB-RX26T via e2lite E2OB (Onboard debugger circuit).
98+
99+
To flash the program to board
100+
101+
1. Connect from board's debug connector port to host PC using USB connector for E2 OB.
102+
103+
2. Execute west command
104+
105+
.. code-block:: console
106+
107+
west flash
108+
109+
Debugging
110+
=========
111+
112+
You can use `Renesas Debug extension`_ on Visual Studio code for a visual debug interface.
113+
The configuration for launch.json is as below.
114+
115+
.. code-block:: json
116+
117+
{
118+
"version": "0.2.0",
119+
"configurations": [
120+
{
121+
"type": "renesas-hardware",
122+
"request": "launch",
123+
"name": "Renesas GDB Hardware Debugging",
124+
"target": {
125+
"deviceFamily": "RX",
126+
"device": "R5F526TF",
127+
"debuggerType": "E2LITE",
128+
"serverParameters": [
129+
"-uUseFine=", "1",
130+
"-w=", "1",
131+
],
132+
}
133+
}
134+
]
135+
}
136+
137+
138+
References
139+
**********
140+
141+
- `MCB-RX26T Type B Website`_
142+
- `RX26T MCU group Website`_
143+
144+
.. _MCB-RX26T Type B Website:
145+
https://www.renesas.com/en/design-resources/boards-kits/mcb-rx26t-type-b
146+
147+
.. _RX26T MCU group Website:
148+
https://www.renesas.com/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx26t-32-bit-microcontroller-optimized-dual-motor-and-pfc-control
149+
.. _MCB-RX26T Type B - User's Manual:
150+
https://www.renesas.com/en/document/mat/mcb-rx26t-type-b-users-manual
151+
152+
.. _RX26T Group User's Manual Hardware:
153+
https://www.renesas.com/en/document/mah/rx26t-group-users-manual-hardware
154+
155+
.. _Renesas Debug extension:
156+
https://marketplace.visualstudio.com/items?itemName=RenesasElectronicsCorporation.renesas-debug
92.3 KB
Binary file not shown.
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+
sci12_default: sci12_default {
9+
group1 {
10+
psels = <RX_PSEL(0x0C, 11, 5)>, /* TX - PB5 */
11+
<RX_PSEL(0x0C, 11, 6)>; /* RX - PB6 */
12+
};
13+
};
14+
};
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
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/r5f526tfddfp.dtsi>
10+
#include <dt-bindings/gpio/gpio.h>
11+
#include "mcb_rx26t-pinctrl.dtsi"
12+
13+
/ {
14+
model = "Renesas MCB-RX26T KIT";
15+
compatible = "renesas,mcb_rx26t","renesas,rxv3";
16+
17+
chosen {
18+
zephyr,sram = &sram0;
19+
zephyr,flash = &code_flash;
20+
zephyr,console = &uart12;
21+
zephyr,shell-uart = &uart12;
22+
};
23+
24+
leds {
25+
compatible = "gpio-leds";
26+
27+
led1: led1 {
28+
gpios = <&ioport2 1 GPIO_ACTIVE_LOW>;
29+
label = "LED1";
30+
};
31+
32+
led2: led2 {
33+
gpios = <&ioport2 0 GPIO_ACTIVE_LOW>;
34+
label = "LED2";
35+
};
36+
37+
led3: led3 {
38+
gpios = <&ioport6 5 GPIO_ACTIVE_LOW>;
39+
label = "LED3";
40+
};
41+
42+
led4: led4 {
43+
gpios = <&ioport6 4 GPIO_ACTIVE_LOW>;
44+
label = "LED3";
45+
};
46+
};
47+
48+
aliases {
49+
led0 = &led1;
50+
led1 = &led2;
51+
led2 = &led3;
52+
led3 = &led4;
53+
};
54+
};
55+
56+
&xtal {
57+
clock-frequency = <DT_FREQ_M(10)>;
58+
mosel = <0>;
59+
#clock-cells = <0>;
60+
status = "okay";
61+
};
62+
63+
&pll {
64+
div = <1>;
65+
mul = <RX_PLL_MUL_24>;
66+
status = "okay";
67+
};
68+
69+
&cmt {
70+
clock-frequency = <60000000>;
71+
status = "okay";
72+
};
73+
74+
&ioport2 {
75+
status = "okay";
76+
};
77+
78+
&ioport6 {
79+
status = "okay";
80+
};
81+
82+
&sci12 {
83+
pinctrl-0 = <&sci12_default>;
84+
pinctrl-names = "default";
85+
status = "okay";
86+
87+
uart12: uart {
88+
current-speed = <115200>;
89+
status = "okay";
90+
};
91+
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: mcb_rx26t
5+
name: Renesas MCB-RX26T
6+
type: mcu
7+
arch: rx
8+
toolchain:
9+
- rxgcc
10+
supported:
11+
- gpio
12+
- serial
13+
- timer
14+
ram: 64
15+
flash: 512
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)