Skip to content

Commit d8e1ed0

Browse files
khoatranyjkartben
authored andcommitted
boards: renesas: Add support Renesas mck_ra8t2 board
Add support Renesas mck_ra8t2 board Signed-off-by: Khoa Tran <[email protected]>
1 parent 71a6ea6 commit d8e1ed0

10 files changed

+510
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_MCK_RA8T2
5+
select SOC_R7KA8T2LFECAC_CM85 if BOARD_MCK_RA8T2_R7KA8T2LFECAC_CM85
6+
select SOC_R7KA8T2LFECAC_CM33 if BOARD_MCK_RA8T2_R7KA8T2LFECAC_CM33
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+
if(CONFIG_SOC_R7KA8T2LFECAC_CM85)
5+
board_runner_args(jlink "--device=R7KA8T2LF_CPU0" "--reset-after-load")
6+
endif()
7+
8+
board_runner_args(pyocd "--target=R7KA8T2LF")
9+
10+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/renesas/mck_ra8t2/board.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: mck_ra8t2
3+
full_name: RA8T2 Motor Control Kit
4+
vendor: renesas
5+
socs:
6+
- name: r7ka8t2lfecac
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
.. zephyr:board:: mck_ra8t2
2+
3+
Overview
4+
********
5+
6+
The MCK-RA8T2 is an Motor Control Kit for Renesas RA8T2 MCU Group which integrates multiple series of software-compatible
7+
Arm®-based 32-bit cores that share a common set of Renesas peripherals to facilitate design scalability and efficient
8+
platform-based product development.
9+
10+
The MCU in this series incorporates a high-performance Arm® Cortex®-M85 core running up to 1 GHz and Arm®
11+
Cortex®-M33 core running up to 250 MHz with the following features:
12+
13+
- Up to 1 MB MRAM
14+
- 2 MB SRAM (256 KB of CM85 TCM RAM, 128 KB CM33 TCM RAM, 1664 KB of user SRAM)
15+
- Octal Serial Peripheral Interface (OSPI)
16+
- Layer 3 Ethernet Switch Module (ESWM), USBFS, SD/MMC Host Interface
17+
- Analog peripherals
18+
- Security and safety features
19+
20+
MCK-RA8T2 kit includes the items below:
21+
22+
- RA8T2 CPU board (`MCB-RA8T2`_)
23+
- Inverter board (`MCI-LV-1`_)
24+
- Communication board (`MC-COM`_)
25+
- Permanent magnet synchronous motors
26+
- Accessories (cables, standoffs, etc.)
27+
28+
The specifications of the CPU board are shown below:
29+
30+
**MCU specifications**
31+
32+
- A high-performance RA8T2 MCU featuring an Arm® Cortex®-M85 core running up to 1 GHz and an Arm® Cortex®-M33 core
33+
running up to 250 MHz, offered in a 289-pin BGA package.
34+
- MRAM/SRAM size: 1MB/2MB
35+
- MCU input clock: 24MHz (Generate with external crystal oscillator)
36+
- Power supply: DC 5V, select one way automatically from the below:
37+
38+
- Power is supplied from compatible inverter board
39+
- Power is supplied from USB connector
40+
41+
**Connector**
42+
43+
- Inverter board connector (2 pair)
44+
- USB connector for J-Link On-Board
45+
- USB connector for RA8T2
46+
- SCI connector for Renesas Motor Workbench communication
47+
- Through hole for CAN communication
48+
- 20 pin through hole for Arm debugger
49+
- Pmod connectors (Type2A + Type3A/6A)
50+
- User-controllable LED x6, Power LED x1,Ether CAT LED x8
51+
- MCU reset switch
52+
- Ether CAT connector
53+
- MicroSD slot
54+
- DSMIF
55+
56+
**Onboard debugger**
57+
58+
This product has the onboard debugger circuit, J-Link On-Board (hereinafter called “J-Link-OB”). When you write a
59+
program, open the JP3 and connect the USB connector(CN13) on CPU board to PC with USB cable. J-Link-OB operates as debugger equivalent to J-Link.
60+
If connecting from flash programing tool (e.g. J-Flash Lite by SEGGER), set the type of debugger (tool) to “J-Link”
61+
62+
Hardware
63+
********
64+
Detailed Hardware features for the RA8T2 MCU group can be found at:
65+
- The RA8T2 MCU group: `RA8T2 Group User's Manual Hardware`_
66+
- The MCB-RA8T2 board: `MCB-RA8T2 - User's Manual`_
67+
68+
Supported Features
69+
==================
70+
71+
.. zephyr:board-supported-hw::
72+
73+
.. note::
74+
75+
For using SDHC module on MCK-RA8T2, Connect microSD Card to microSD Socket (CN17)
76+
77+
Programming and Debugging
78+
*************************
79+
80+
.. zephyr:board-supported-runners::
81+
82+
Applications for the ``mck_ra8t2`` board configuration can be
83+
built, flashed, and debugged in the usual way. See
84+
:ref:`build_an_application` and :ref:`application_run` for more details on
85+
building and running.
86+
87+
Here is an example for the :zephyr:code-sample:`hello_world` application on CM85 core.
88+
89+
.. zephyr-app-commands::
90+
:zephyr-app: samples/hello_world
91+
:board: mck_ra8t2/r7ka8t2lfecac/cm85
92+
:goals: flash
93+
94+
Open a serial terminal, reset the board (push the reset switch S1), and you should
95+
see the following message in the terminal:
96+
97+
.. code-block:: console
98+
99+
***** Booting Zephyr OS v4.2.0-xxx-xxxxxxxxxxxxx *****
100+
Hello World! mck_ra8t2/r7ka8t2lfecac/cm85
101+
102+
Flashing
103+
========
104+
105+
Program can be flashed to MCB-RA8T2 via the on-board SEGGER J-Link debugger.
106+
SEGGER J-link's drivers are available at https://www.segger.com/downloads/jlink/
107+
108+
To flash the program to board
109+
110+
1. Connect to J-Link OB via USB port to host PC
111+
112+
2. Make sure J-Link OB jumper is in default configuration as describe in `MCB-RA8T2 - User's Manual`_
113+
114+
3. Execute west command
115+
116+
.. code-block:: console
117+
118+
west flash -r jlink
119+
120+
References
121+
**********
122+
- `MCK-RA8T2 Website`_
123+
- `RA8T2 MCU group Website`_
124+
125+
.. _MCK-RA8T2 Website:
126+
https://www.renesas.com/en/design-resources/boards-kits/mck-ra8t2
127+
128+
.. _RA8T2 MCU group Website:
129+
https://www.renesas.com/en/products/ra8t2
130+
131+
.. _MCB-RA8T2 - User's Manual:
132+
https://www.renesas.com/en/document/mat/mcb-ra8t2-users-manual?r=25576094
133+
134+
.. _RA8T2 Group User's Manual Hardware:
135+
https://www.renesas.com/en/document/mah/ra8t2-group-users-manual-hardware?r=25575951
136+
137+
.. _MCB-RA8T2:
138+
https://www.renesas.com/en/design-resources/boards-kits/mcb-ra8t2
139+
140+
.. _MCI-LV-1:
141+
https://www.renesas.com/en/design-resources/boards-kits/mci-lv-1
142+
143+
.. _MC-COM:
144+
https://www.renesas.com/en/design-resources/boards-kits/mc-com
55 KB
Loading
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
&pinctrl {
7+
sci9_default: sci9_default {
8+
group1 {
9+
/* tx */
10+
psels = <RA_PSEL(RA_PSEL_SCI_9, 10, 14)>;
11+
drive-strength = "medium";
12+
};
13+
14+
group2 {
15+
/* rx */
16+
psels = <RA_PSEL(RA_PSEL_SCI_9, 10, 12)>;
17+
};
18+
};
19+
20+
sci4_default: sci4_default {
21+
group1 {
22+
/* tx */
23+
psels = <RA_PSEL(RA_PSEL_SCI_4, 4, 15)>;
24+
drive-strength = "medium";
25+
};
26+
27+
group2 {
28+
/* rx */
29+
psels = <RA_PSEL(RA_PSEL_SCI_4, 4, 14)>;
30+
};
31+
};
32+
33+
spi0_default: spi0_default {
34+
group1 {
35+
/* MISO MOSI RSPCK SSL */
36+
psels = <RA_PSEL(RA_PSEL_SPI, 6, 9)>,
37+
<RA_PSEL(RA_PSEL_SPI, 1, 15)>,
38+
<RA_PSEL(RA_PSEL_SPI, 6, 10)>,
39+
<RA_PSEL(RA_PSEL_SPI, 1, 13)>;
40+
};
41+
};
42+
43+
sdhc0_default: sdhc0_default {
44+
group1 {
45+
psels = <RA_PSEL(RA_PSEL_SDHI, 13, 7)>, /* SDCD */
46+
<RA_PSEL(RA_PSEL_SDHI, 13, 4)>, /* SDCMD */
47+
<RA_PSEL(RA_PSEL_SDHI, 13, 3)>, /* SDDATA0 */
48+
<RA_PSEL(RA_PSEL_SDHI, 13, 2)>, /* SDDATA1 */
49+
<RA_PSEL(RA_PSEL_SDHI, 13, 1)>, /* SDDATA2 */
50+
<RA_PSEL(RA_PSEL_SDHI, 1, 11)>, /* SDDATA3 */
51+
<RA_PSEL(RA_PSEL_SDHI, 13, 6)>; /* SDWP */
52+
drive-strength = "high";
53+
};
54+
55+
group2 {
56+
psels = <RA_PSEL(RA_PSEL_SDHI, 13, 5)>; /* SDCLK */
57+
drive-strength = "highspeed-high";
58+
};
59+
};
60+
61+
/omit-if-no-ref/ acmphs_ivref0: acmphs_ivref0 {
62+
group1 {
63+
/* IVREF0 */
64+
psels = <RA_PSEL(RA_PSEL_ACMPHS, 0, 8)>;
65+
renesas,analog-enable;
66+
};
67+
};
68+
69+
/omit-if-no-ref/ acmphs_ivref1: acmphs_ivref1 {
70+
group1 {
71+
/* IVREF1 */
72+
psels = <RA_PSEL(RA_PSEL_ACMPHS, 0, 9)>;
73+
renesas,analog-enable;
74+
};
75+
};
76+
77+
/omit-if-no-ref/ acmphs0_ivcmp0: acmphs0_ivcmp0 {
78+
group1 {
79+
/* CH0 IVCMP0 */
80+
psels = <RA_PSEL(RA_PSEL_ACMPHS, 8, 5)>;
81+
renesas,analog-enable;
82+
};
83+
};
84+
85+
/omit-if-no-ref/ acmphs0_ivcmp2: acmphs0_ivcmp2 {
86+
group1 {
87+
/* CH0 IVCMP2 */
88+
psels = <RA_PSEL(RA_PSEL_ACMPHS, 0, 0)>;
89+
renesas,analog-enable;
90+
};
91+
};
92+
93+
/omit-if-no-ref/ acmphs0_ivcmp3: acmphs0_ivcmp3 {
94+
group1 {
95+
/* CH0 IVCMP3 */
96+
psels = <RA_PSEL(RA_PSEL_ACMPHS, 0, 1)>;
97+
renesas,analog-enable;
98+
};
99+
};
100+
101+
/omit-if-no-ref/ acmphs_vcout: acmphs_vcout {
102+
group1 {
103+
/* VCOUT */
104+
psels = <RA_PSEL(RA_PSEL_ACMPHS_VCOUT, 2, 8)>;
105+
};
106+
};
107+
};
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include <dt-bindings/gpio/gpio.h>
7+
#include <dt-bindings/input/input-event-codes.h>
8+
#include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h>
9+
#include "mck_ra8t2-pinctrl.dtsi"
10+
11+
/ {
12+
13+
leds {
14+
compatible = "gpio-leds";
15+
16+
led1: led1 {
17+
gpios = <&ioport6 14 GPIO_ACTIVE_LOW>;
18+
label = "LED1";
19+
};
20+
21+
led2: led2 {
22+
gpios = <&ioporta 15 GPIO_ACTIVE_LOW>;
23+
label = "LED2";
24+
};
25+
26+
led3: led3 {
27+
gpios = <&ioporta 4 GPIO_ACTIVE_LOW>;
28+
label = "LED3";
29+
};
30+
31+
led4: led4 {
32+
gpios = <&ioport9 0 GPIO_ACTIVE_LOW>;
33+
label = "LED4";
34+
};
35+
36+
led5: led5 {
37+
gpios = <&ioport5 9 GPIO_ACTIVE_LOW>;
38+
label = "LED5";
39+
};
40+
41+
led6: led6 {
42+
gpios = <&ioport5 10 GPIO_ACTIVE_LOW>;
43+
label = "LED6";
44+
};
45+
};
46+
};
47+
48+
&xtal {
49+
clock-frequency = <DT_FREQ_M(24)>;
50+
mosel = <0>;
51+
#clock-cells = <0>;
52+
status = "okay";
53+
};
54+
55+
&subclk {
56+
status = "okay";
57+
};
58+
59+
&pll {
60+
status = "okay";
61+
62+
pllp: pllp {
63+
status = "okay";
64+
};
65+
66+
pllq: pllq {
67+
status = "okay";
68+
};
69+
70+
pllr: pllr {
71+
status = "okay";
72+
};
73+
};
74+
75+
&pll2 {
76+
status = "okay";
77+
78+
pll2p {
79+
status = "okay";
80+
};
81+
82+
pll2q {
83+
status = "okay";
84+
};
85+
86+
pll2r {
87+
status = "okay";
88+
};
89+
};
90+
91+
&flash {
92+
flash0: flash@2000000 {
93+
compatible = "soc-nv-flash";
94+
reg = <0x2000000 DT_SIZE_K(1024)>;
95+
};
96+
};
97+
98+
&sciclk {
99+
status = "okay";
100+
};
101+
102+
&ioport5 {
103+
status = "okay";
104+
};
105+
106+
&ioport6 {
107+
status = "okay";
108+
};
109+
110+
&ioport9 {
111+
status = "okay";
112+
};
113+
114+
&ioporta {
115+
status = "okay";
116+
};
117+
118+
&ioportb {
119+
status = "okay";
120+
};

0 commit comments

Comments
 (0)