Skip to content

Commit d64d5b5

Browse files
duynguyenxaquytranpzz
authored andcommitted
board: renesas: Add initial support for RA6E1 SoC
Initial commit to support FPB-RA6E1 SoC Signed-off-by: Duy Phuong Hoang. Nguyen <[email protected]> Signed-off-by: Quy Tran <[email protected]>
1 parent bc29fb4 commit d64d5b5

File tree

11 files changed

+315
-0
lines changed

11 files changed

+315
-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_FPB_RA6E1
5+
select SOC_R7FA6E10F2CFP
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=R7FA6E10F")
5+
6+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/renesas/fpb_ra6e1/board.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
board:
2+
name: fpb_ra6e1
3+
vendor: renesas
4+
socs:
5+
- name: r7fa6e10f2cfp
81.8 KB
Loading
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
.. _fpb_ra6e1:
2+
3+
RA6E1 Fast Prototyping Board
4+
############################
5+
6+
Overview
7+
********
8+
9+
The Renesas RA6E1 group uses the high-performance Arm® Cortex®-M33 core with
10+
TrustZone®. The RA6E1 is suitable for entry IoT applications requiring streamlined
11+
feature and connectivity integration including Ethernet, and unprecedented performance
12+
with 790.75 CoreMark, which are 3.95CoreMark / Mhz.
13+
14+
The key features of the FPB-RA6E1 board are categorized in three groups as follow:
15+
16+
**MCU Native Pin Access**
17+
18+
- 200MHz Arm Cortex-M33 based RA6E1 MCU in 100 pins, LQFP package
19+
- Native pin access through 2 x 50-pin male headers (not fitted)
20+
- MCU current measurement point for precision current consumption measurement
21+
- Multiple clock sources - Low-precision (~1%) clocks are available internal to
22+
the RA MCU. RA MCU oscillator and sub-clock oscillator crystals, providing
23+
precision 24.000 MHz (not fitted) and 32,768 Hz reference clocks are also available
24+
25+
**System Control and Ecosystem Access**
26+
27+
- Two 5V input sources
28+
29+
- USB (Debug, Full Speed, High Speed)
30+
- External power supply (using 2-pin header) (not fitted)
31+
32+
- Built-in SEGGER J-Link Emulator On-Board programmer/debugger (SWD)
33+
34+
- User LEDs and buttons
35+
36+
- Two User LEDs (green)
37+
- Power LED (green) (not fitted) indicating availability of regulated power
38+
- Debug/power LED (yellow) indicating power and the debug connection
39+
- One User button
40+
- One Reset button
41+
42+
- Two popular ecosystems expansions
43+
44+
- Two Digilent PmodTM (SPI, UART) connectors (not fitted)
45+
- Arduino (Uno R3) connector
46+
47+
- MCU boot configuration jumper
48+
49+
.. figure:: fpb-ra6e1-board.webp
50+
:align: center
51+
:alt: RA6E1 Evaluation Kit
52+
53+
FPB-RA6E1 Board Functional Area Definitions (Credit: Renesas Electronics Corporation)
54+
55+
Hardware
56+
********
57+
Detailed hardware feature for the RA6E1 MCU group can be found at `RA6E1 Group User's Manual Hardware`_
58+
59+
.. figure:: ra6e1-block-diagram.webp
60+
:width: 442px
61+
:align: center
62+
:alt: RA6E1 MCU group feature
63+
64+
RA6E1 Block diagram (Credit: Renesas Electronics Corporation)
65+
66+
Detailed hardware feature for the FPB-RA6E1 MCU can be found at `FPB-RA6E1 - User's Manual`_
67+
68+
Supported Features
69+
==================
70+
71+
The below features are currently supported on Zephyr OS for FPB-RA6E1 board:
72+
73+
+-----------+------------+----------------------+
74+
| Interface | Controller | Driver/Component |
75+
+===========+============+======================+
76+
| GPIO | on-chip | gpio |
77+
+-----------+------------+----------------------+
78+
| MPU | on-chip | arch/arm |
79+
+-----------+------------+----------------------+
80+
| NVIC | on-chip | arch/arm |
81+
+-----------+------------+----------------------+
82+
| UART | on-chip | serial |
83+
+-----------+------------+----------------------+
84+
| FLASH | on-chip | flash |
85+
+-----------+------------+----------------------+
86+
87+
Other hardware features are currently not supported by the port.
88+
89+
Programming and Debugging
90+
*************************
91+
92+
Applications for the ``fpb_ra6e1`` board target configuration can be
93+
built, flashed, and debugged in the usual way. See
94+
:ref:`build_an_application` and :ref:`application_run` for more details on
95+
building and running.
96+
97+
Flashing
98+
========
99+
100+
Program can be flashed to FPB-RA6E1 via the on-board SEGGER J-Link debugger.
101+
SEGGER J-link's drivers are avaialbe at https://www.segger.com/downloads/jlink/
102+
103+
To flash the program to board
104+
105+
1. Connect to J-Link OB via USB port to host PC
106+
107+
2. Make sure J-Link OB jumper is in default configuration as describe in `FPB-RA6E1 - User's Manual`_
108+
109+
3. Execute west command
110+
111+
.. code-block:: console
112+
113+
west flash -r jlink
114+
115+
Debugging
116+
=========
117+
118+
You can use Segger Ozone (`Segger Ozone Download`_) for a visual debug interface
119+
120+
Once downloaded and installed, open Segger Ozone and configure the debug project
121+
like so:
122+
123+
* Target Device: R7FA6E10F
124+
* Target Interface: SWD
125+
* Target Interface Speed: 4 MHz
126+
* Host Interface: USB
127+
* Program File: <path/to/your/build/zephyr.elf>
128+
129+
**Note:** It's verified that we can debug OK on Segger Ozone v3.30d so please use this or later
130+
version of Segger Ozone
131+
132+
References
133+
**********
134+
- `FPB-RA6E1 Website`_
135+
- `RA6E1 MCU group Website`_
136+
137+
.. _FPB-RA6E1 Website:
138+
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/fpb-ra6e1-fast-prototyping-board-ra6e1-mcu-group#overview
139+
140+
.. _RA6E1 MCU group Website:
141+
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra6e1-200mhz-arm-cortex-m33-entry-line-high-performance-streamlined-connectivity
142+
143+
.. _FPB-RA6E1 - User's Manual:
144+
https://www.renesas.com/us/en/document/mat/fpb-ra6e1-users-manual
145+
146+
.. _RA6E1 Group User's Manual Hardware:
147+
https://www.renesas.com/us/en/document/mah/ra6e1-group-users-manual-hardware
148+
149+
.. _Segger Ozone Download:
150+
https://www.segger.com/downloads/jlink#Ozone
43.6 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+
sci0_default: sci0_default {
8+
group1 {
9+
/* tx rx */
10+
psels = <RA_PSEL(RA_PSEL_SCI_0, 1, 1)>,
11+
<RA_PSEL(RA_PSEL_SCI_0, 1, 0)>;
12+
};
13+
};
14+
};
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
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/r7fa6e10f2cfp.dtsi>
9+
#include <dt-bindings/gpio/gpio.h>
10+
11+
#include "fpb_ra6e1-pinctrl.dtsi"
12+
13+
/ {
14+
model = "Renesas FPB-RA6E1";
15+
compatible = "renesas,ra6e1", "renesas,ra";
16+
17+
chosen {
18+
zephyr,sram = &sram0;
19+
zephyr,flash = &flash0;
20+
zephyr,console = &uart0;
21+
zephyr,shell-uart = &uart0;
22+
};
23+
24+
leds {
25+
compatible = "gpio-leds";
26+
led1: led1 {
27+
gpios = <&ioport4 7 GPIO_ACTIVE_HIGH>;
28+
label = "LED1";
29+
};
30+
led2: led2 {
31+
gpios = <&ioport4 8 GPIO_ACTIVE_HIGH>;
32+
label = "LED2";
33+
};
34+
};
35+
36+
aliases {
37+
led0 = &led1;
38+
};
39+
};
40+
41+
&sci0 {
42+
pinctrl-0 = <&sci0_default>;
43+
pinctrl-names = "default";
44+
status = "okay";
45+
uart0: uart {
46+
current-speed = <115200>;
47+
status = "okay";
48+
};
49+
};
50+
51+
&ioport4 {
52+
status = "okay";
53+
};
54+
55+
&subclk {
56+
status = "okay";
57+
};
58+
59+
&pll {
60+
source = <RA_PLL_SOURCE_HOCO>;
61+
div = <RA_PLL_DIV_2>;
62+
mul = <20 0>;
63+
freq = <DT_FREQ_M(200)>;
64+
status = "okay";
65+
};
66+
67+
&flash0 {
68+
partitions {
69+
compatible = "fixed-partitions";
70+
#address-cells = <1>;
71+
#size-cells = <1>;
72+
73+
boot_partition: partition@0 {
74+
label = "application";
75+
reg = <0x00000000 DT_SIZE_K(512)>;
76+
};
77+
78+
storage_partition: partition@80000 {
79+
label = "storage";
80+
reg = <0x80000 DT_SIZE_K(512)>;
81+
};
82+
};
83+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
identifier: fpb_ra6e1
2+
name: Renesas FPB-RA6E1
3+
type: mcu
4+
arch: arm
5+
ram: 256
6+
flash: 1024
7+
toolchain:
8+
- zephyr
9+
- gnuarmemb
10+
supported:
11+
- gpio
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=200000000
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_INTERRUPT_DRIVEN=y
16+
CONFIG_UART_CONSOLE=y
17+
CONFIG_CONSOLE=y

0 commit comments

Comments
 (0)