Skip to content

Commit 4a91cc6

Browse files
duynguyenxaquytranpzz
authored andcommitted
boards: renesas: Initial support Renesas EK-RA6M1 board
- Initial commit to support EK-RA6M1 board Signed-off-by: Duy Phuong Hoang. Nguyen <[email protected]>
1 parent 1426019 commit 4a91cc6

File tree

11 files changed

+434
-0
lines changed

11 files changed

+434
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2024 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_EK_RA6M1
5+
select SOC_R7FA6M1AD3CFP
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright (c) 2024 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=R7FA6M1AD")
5+
6+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/renesas/ek_ra6m1/board.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
board:
2+
name: ek_ra6m1
3+
vendor: renesas
4+
socs:
5+
- name: r7fa6m1ad3cfp
70.8 KB
Loading
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
.. _ek_ra6m1:
2+
3+
RA6M1 Evaluation Kit
4+
####################
5+
6+
Overview
7+
********
8+
9+
The Renesas RA6M1 microcontroller is the entry point to the Renesas RA6 product
10+
series for applications that require a high-performance Arm® Cortex®-M4 core at
11+
a very attractive price point. The RA6M1 is built on a highly efficient 40nm process
12+
and is supported by an open and flexible ecosystem concept—the Flexible Software
13+
Package (FSP), built on FreeRTOS—and is expandable to use other RTOSes and middleware.
14+
The RA6M1 is suitable for IoT applications requiring security, large embedded RAM and
15+
low power consumption.
16+
17+
The key features of the EK-RA6M1 board are categorized in three groups as follow:
18+
19+
**MCU Native Pin Access**
20+
- R7FA6M1AD3CFP
21+
- 100-pin LQFP package
22+
- 120 MHz Arm® Cortex®-M4 core with Floating Point Unit (FPU)
23+
- 256 KB SRAM
24+
- 512 KB code flash memory
25+
- 8 KB data flash memory
26+
27+
**Connectivity**
28+
- A Device USB connector for the Main MCU
29+
- S124 MCU-based SEGGER J-Link® On-Board interface for debugging and programming of the
30+
RA6M1 MCU. A 10-pin JTAG/SWD interface is also provided for connecting optional external
31+
debuggers and programmers.
32+
- Two PMOD connectors, allowing use of appropriate PMOD compliant peripheral plug-in modules for
33+
rapid prototyping
34+
- Pin headers for access to power and signals for the Main MCU
35+
36+
**Multiple clock sources**
37+
- Main MCU oscillator crystals, providing precision 12.000 MHz and 32,768 Hz external reference
38+
clocks
39+
- Additional low-precision clocks are available internal to the Main MCU
40+
41+
**General purpose I/O ports**
42+
- One jumper to allow measuring of Main MCU current
43+
- Copper jumpers on PCB bottom side for configuration and access to selected MCU signals
44+
**Operating voltage**
45+
- External 5 V input through the Debug USB connector supplies the on-board power regulator to power
46+
logic and interfaces on the board. External 5 V or 3.3 V may be also supplied through alternate
47+
locations on the board.
48+
- A two-color board status LED indicating availability of regulated power and connection status of the J-Link
49+
interface.
50+
- A red User LED, controlled by the Main MCU firmware
51+
- A User Push-Button switch, User Capacitive Touch Button sensor, and an optional User Potentiometer,
52+
all of which are controlled by the Main MCU firmware
53+
- MCU reset push-button switch
54+
- MCU boot configuration jumper
55+
56+
**Special Feature Access**
57+
58+
- USB Full Speed Debug and Device (micro-AB connector)
59+
60+
.. figure:: ek-ra6m1-board.webp
61+
:align: center
62+
:alt: RA6M1 Evaluation Kit
63+
64+
EK-RA6M1 Board Functional Area Definitions (Credit: Renesas Electronics Corporation)
65+
66+
Hardware
67+
********
68+
Detailed hardware feature for the RA6M1 MCU group can be found at `RA6M1 Group User's Manual Hardware`_
69+
70+
.. figure:: ra6m1-block-diagram.webp
71+
:width: 442px
72+
:align: center
73+
:alt: RA6M1 MCU group feature
74+
75+
RA6M1 Block diagram (Credit: Renesas Electronics Corporation)
76+
77+
Detailed hardware feature for the EK-RA6M1 MCU can be found at `EK-RA6M1 - User's Manual`_
78+
79+
Supported Features
80+
==================
81+
82+
The below features are currently supported on Zephyr OS for EK-RA6M1 board:
83+
84+
+-----------+------------+----------------------+
85+
| Interface | Controller | Driver/Component |
86+
+===========+============+======================+
87+
| GPIO | on-chip | gpio |
88+
+-----------+------------+----------------------+
89+
| MPU | on-chip | arch/arm |
90+
+-----------+------------+----------------------+
91+
| NVIC | on-chip | arch/arm |
92+
+-----------+------------+----------------------+
93+
| UART | on-chip | serial |
94+
+-----------+------------+----------------------+
95+
96+
Other hardware features are currently not supported by the port.
97+
98+
Programming and Debugging
99+
*************************
100+
101+
Applications for the ``ek_ra6m1`` board target configuration can be
102+
built, flashed, and debugged in the usual way. See
103+
:ref:`build_an_application` and :ref:`application_run` for more details on
104+
building and running.
105+
106+
Flashing
107+
========
108+
109+
Program can be flashed to EK-RA6M1 via the on-board SEGGER J-Link debugger.
110+
SEGGER J-link's drivers are avaialbe at https://www.segger.com/downloads/jlink/
111+
112+
To flash the program to board
113+
114+
1. Connect to J-Link OB via USB port to host PC
115+
116+
2. Make sure J-Link OB jumper is in default configuration as describe in `EK-RA6M1 - User's Manual`_
117+
118+
3. Execute west command
119+
120+
.. code-block:: console
121+
122+
west flash -r jlink
123+
124+
Debugging
125+
=========
126+
127+
You can use Segger Ozone (`Segger Ozone Download`_) for a visual debug interface
128+
129+
Once downloaded and installed, open Segger Ozone and configure the debug project
130+
like so:
131+
132+
* Target Device: R7FA6M1AD
133+
* Target Interface: SWD
134+
* Target Interface Speed: 4 MHz
135+
* Host Interface: USB
136+
* Program File: <path/to/your/build/zephyr.elf>
137+
138+
**Note:** It's verified that we can debug OK on Segger Ozone v3.30d so please use this or later
139+
version of Segger Ozone
140+
141+
References
142+
**********
143+
- `EK-RA6M1 Website`_
144+
- `RA6M1 MCU group Website`_
145+
146+
.. _EK-RA6M1 Website:
147+
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra6m1-evaluation-kit-ra6m1-mcu-group
148+
149+
.. _RA6M1 MCU group Website:
150+
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra6m1-32-bit-microcontrollers-120mhz-optimized-entry-point-ra6-series
151+
152+
.. _EK-RA6M1 - User's Manual:
153+
https://www.renesas.com/us/en/document/mat/ek-ra6m1-v1-users-manual
154+
155+
.. _RA6M1 Group User's Manual Hardware:
156+
https://www.renesas.com/us/en/document/mah/renesas-ra6m1-group-users-manual-hardware?r=1054156
157+
158+
.. _Segger Ozone Download:
159+
https://www.segger.com/downloads/jlink#Ozone
87.9 KB
Loading
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
* Copyright (c) 2024 Renesas Electronics Corporation
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
&pinctrl {
7+
sci8_default: sci8_default {
8+
group1 {
9+
/* tx rx */
10+
psels = <RA_PSEL(RA_PSEL_SCI_8, 1, 5)>,
11+
<RA_PSEL(RA_PSEL_SCI_8, 1, 4)>;
12+
};
13+
};
14+
};
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/*
2+
* Copyright (c) 2024 Renesas Electronics Corporation
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include <renesas/ra/ra6/r7fa6m1ad3cfp.dtsi>
9+
#include <dt-bindings/gpio/gpio.h>
10+
11+
#include "ek_ra6m1-pinctrl.dtsi"
12+
13+
/ {
14+
model = "Renesas EK-RA6M1";
15+
compatible = "renesas,ra6m1", "renesas,ra";
16+
17+
chosen {
18+
zephyr,sram = &sram0;
19+
zephyr,flash = &flash0;
20+
zephyr,console = &uart8;
21+
zephyr,shell-uart = &uart8;
22+
};
23+
24+
leds {
25+
compatible = "gpio-leds";
26+
led1: led1 {
27+
gpios = <&ioport1 12 GPIO_ACTIVE_HIGH>;
28+
label = "LED1";
29+
};
30+
};
31+
32+
aliases {
33+
led0 = &led1;
34+
};
35+
};
36+
37+
&sci8 {
38+
pinctrl-0 = <&sci8_default>;
39+
pinctrl-names = "default";
40+
status = "okay";
41+
uart8: uart {
42+
current-speed = <115200>;
43+
status = "okay";
44+
};
45+
};
46+
47+
&ioport1 {
48+
status = "okay";
49+
};
50+
51+
&xtal {
52+
clock-frequency = <DT_FREQ_M(20)>;
53+
mosel = <0>;
54+
#clock-cells = <0>;
55+
status = "okay";
56+
};
57+
58+
&subclk {
59+
status = "okay";
60+
};
61+
62+
&pll {
63+
source = <RA_PLL_SOURCE_MAIN_OSC>;
64+
div = <RA_PLL_DIV_1>;
65+
mul = <20 0>;
66+
status = "okay";
67+
};
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
identifier: ek_ra6m1
2+
name: Renesas EK-RA6M1
3+
type: mcu
4+
arch: arm
5+
ram: 256
6+
flash: 512
7+
toolchain:
8+
- zephyr
9+
- gnuarmemb
10+
supported:
11+
- gpio
12+
- uart
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2024 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=120000000
5+
6+
# Enable GPIO
7+
CONFIG_GPIO=y
8+
CONFIG_PINCTRL=y
9+
10+
CONFIG_BUILD_OUTPUT_HEX=y
11+
CONFIG_BUILD_NO_GAP_FILL=y
12+
13+
# Enable Console
14+
CONFIG_SERIAL=y
15+
CONFIG_UART_CONSOLE=y
16+
CONFIG_UART_INTERRUPT_DRIVEN=y
17+
CONFIG_CONSOLE=y

0 commit comments

Comments
 (0)