Skip to content

Commit 5167948

Browse files
quytranpzznashif
authored andcommitted
boards: renesas: Add initial support for FPB-RA6E2 board
Add initial support for Renesas FPB-RA6E2 board Signed-off-by: Quy Tran <[email protected]>
1 parent f80e5dc commit 5167948

File tree

11 files changed

+323
-0
lines changed

11 files changed

+323
-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_RA6E2
5+
select SOC_R7FA6E2BB3CFM
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=R7FA6E2BB")
5+
6+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

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

0 commit comments

Comments
 (0)