boards: renesas: Add initial support for EK-RA4M2
Initial commit to support Renesas EK-RA4M2 board Signed-off-by: Quy Tran <quy.tran.pz@renesas.com> Signed-off-by: Duy Phuong Hoang. Nguyen <duy.nguyen.xa@renesas.com>
This commit is contained in:
parent
73848437b3
commit
7638952f03
11 changed files with 321 additions and 0 deletions
5
boards/renesas/ek_ra4m2/Kconfig.ek_ra4m2
Normal file
5
boards/renesas/ek_ra4m2/Kconfig.ek_ra4m2
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_EK_RA4M2
|
||||||
|
select SOC_R7FA4M2AD3CFP
|
6
boards/renesas/ek_ra4m2/board.cmake
Normal file
6
boards/renesas/ek_ra4m2/board.cmake
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
board_runner_args(jlink "--device=R7FA4M2AD")
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
5
boards/renesas/ek_ra4m2/board.yml
Normal file
5
boards/renesas/ek_ra4m2/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
board:
|
||||||
|
name: ek_ra4m2
|
||||||
|
vendor: renesas
|
||||||
|
socs:
|
||||||
|
- name: r7fa4m2ad3cfp
|
BIN
boards/renesas/ek_ra4m2/doc/ek-ra4m2-board.webp
Normal file
BIN
boards/renesas/ek_ra4m2/doc/ek-ra4m2-board.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
163
boards/renesas/ek_ra4m2/doc/index.rst
Normal file
163
boards/renesas/ek_ra4m2/doc/index.rst
Normal file
|
@ -0,0 +1,163 @@
|
||||||
|
.. _ek_ra4m2:
|
||||||
|
|
||||||
|
RA4M2 Evaluation Kit
|
||||||
|
####################
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The Renesas RA4M2 group of 32-bit microcontrollers (MCUs) uses the high-performance Arm
|
||||||
|
Cortex®-M33 core. In concert with the secure crypto engine, it offers secure element
|
||||||
|
functionality. The RA4M2 is built on a highly efficient 40nm process, built on FreeRTOS—and
|
||||||
|
is expandable to use other RTOSes and middleware. The RA4M2 is suitable for IoT applications
|
||||||
|
requiring vast communication options, future proof security, large embedded RAM, and low
|
||||||
|
active power consumption down to 81µA/MHz running the CoreMark® algorithm from Flash.
|
||||||
|
|
||||||
|
The MCU in this series incorporates a high-performance Arm Cortex®-M33 core running up to
|
||||||
|
100 MHz with the following features:
|
||||||
|
|
||||||
|
**Renesas RA4M2 Microcontroller Group**
|
||||||
|
- R7FA4M2AD3CFP
|
||||||
|
- 100-pin LQFP package
|
||||||
|
- 100 MHz Arm® Cortex®-M33 core
|
||||||
|
- 512 kB Code Flash, 128 KB SRAM
|
||||||
|
- Native pin access through 4 x 28-pin male headers
|
||||||
|
- MCU current measurement points for precision current consumption measurement
|
||||||
|
- Multiple clock sources - RA MCU oscillator and sub-clock oscillator crystals, providing
|
||||||
|
precision 24.000 MHz and 32,768 Hz reference clock. Additional low-precision clocks are
|
||||||
|
available internal to the RA MCU
|
||||||
|
|
||||||
|
**System Control and Ecosystem Access**
|
||||||
|
- USB Full Speed Host and Device (micro AB connector)
|
||||||
|
- Three 5 V input sources
|
||||||
|
|
||||||
|
- USB (Debug, Full Speed)
|
||||||
|
- External power supply (using surface mount clamp test points and power input vias)
|
||||||
|
|
||||||
|
- Three Debug modes
|
||||||
|
|
||||||
|
- Debug on-board (SWD)
|
||||||
|
- Debug in (ETM, SWD, and JTAG)
|
||||||
|
- Debug out (SWD)
|
||||||
|
|
||||||
|
- User LEDs and buttons
|
||||||
|
|
||||||
|
- Three User LEDs (red, blue, green)
|
||||||
|
- Power LED (white) indicating availability of regulated power
|
||||||
|
- Debug LED (yellow) indicating the debug connection
|
||||||
|
- Two User buttons
|
||||||
|
- One Reset button
|
||||||
|
|
||||||
|
- Five most popular ecosystems expansions
|
||||||
|
|
||||||
|
- 2 Seeed Grove® system (I2C/Analog) connectors
|
||||||
|
- SparkFun® Qwiic® connector
|
||||||
|
- 2 Digilent PmodTM (SPI and UART) connectors
|
||||||
|
- ArduinoTM (Uno R3) connector
|
||||||
|
- MikroElektronikaTM mikroBUS connector
|
||||||
|
|
||||||
|
- MCU boot configuration jumper
|
||||||
|
|
||||||
|
**Special Feature Access**
|
||||||
|
- 32 MB (256 Mb) External Quad-SPI Flash
|
||||||
|
|
||||||
|
.. figure:: ek-ra4m2-board.webp
|
||||||
|
:align: center
|
||||||
|
:alt: RA4M2 Evaluation Kit
|
||||||
|
|
||||||
|
EK-RA4M2 Board Functional Area Definitions (Credit: Renesas Electronics Corporation)
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
********
|
||||||
|
Detail Hardware feature for the RA4M2 MCU group can be found at `RA4M2 Group User's Manual Hardware`_
|
||||||
|
|
||||||
|
.. figure:: ra4m2-block-diagram.webp
|
||||||
|
:width: 442px
|
||||||
|
:align: center
|
||||||
|
:alt: RA4M2 MCU group feature
|
||||||
|
|
||||||
|
RA4M2 Block diagram (Credit: Renesas Electronics Corporation)
|
||||||
|
|
||||||
|
Detail Hardware feature for the EK-RA4M2 MCU can be found at `EK-RA4M2 - User's Manual`_
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
The below features are currently supported on Zephyr OS for EK-RA4M2 board:
|
||||||
|
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| Interface | Controller | Driver/Component |
|
||||||
|
+===========+============+======================+
|
||||||
|
| GPIO | on-chip | gpio |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| MPU | on-chip | arch/arm |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| NVIC | on-chip | arch/arm |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| UART | on-chip | serial |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
|
||||||
|
Other hardware features are currently not supported by the port.
|
||||||
|
|
||||||
|
Programming and Debugging
|
||||||
|
*************************
|
||||||
|
|
||||||
|
Applications for the ``ek_ra4m2`` board target configuration can be
|
||||||
|
built, flashed, and debugged in the usual way. See
|
||||||
|
:ref:`build_an_application` and :ref:`application_run` for more details on
|
||||||
|
building and running.
|
||||||
|
|
||||||
|
Flashing
|
||||||
|
========
|
||||||
|
|
||||||
|
Program can be flashed to EK-RA4M2 via the on-board SEGGER J-Link debugger.
|
||||||
|
SEGGER J-link's drivers are avaialbe at https://www.segger.com/downloads/jlink/
|
||||||
|
|
||||||
|
To flash the program to board
|
||||||
|
|
||||||
|
1. Connect to J-Link OB via USB port to host PC
|
||||||
|
|
||||||
|
2. Make sure J-Link OB jumper is in default configuration as describe in `EK-RA4M2 - User's Manual`_
|
||||||
|
|
||||||
|
3. Execute west command
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
west flash -r jlink
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
=========
|
||||||
|
|
||||||
|
You can use Segger Ozone (`Segger Ozone Download`_) for a visual debug interface
|
||||||
|
|
||||||
|
Once downloaded and installed, open Segger Ozone and configure the debug project
|
||||||
|
like so:
|
||||||
|
|
||||||
|
* Target Device: R7FA4M2AD
|
||||||
|
* Target Interface: SWD
|
||||||
|
* Target Interface Speed: 4 MHz
|
||||||
|
* Host Interface: USB
|
||||||
|
* Program File: <path/to/your/build/zephyr.elf>
|
||||||
|
|
||||||
|
**Note:** It's verified that we can debug OK on Segger Ozone v3.30d so please use this or later
|
||||||
|
version of Segger Ozone
|
||||||
|
|
||||||
|
References
|
||||||
|
**********
|
||||||
|
- `EK-RA4M2 Website`_
|
||||||
|
- `RA4M2 MCU group Website`_
|
||||||
|
|
||||||
|
.. _EK-RA4M2 Website:
|
||||||
|
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra4m2-evaluation-kit-ra4m2-mcu-group
|
||||||
|
|
||||||
|
.. _RA4M2 MCU group Website:
|
||||||
|
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra4m2-100mhz-arm-cortex-m33-trustzone-high-integration-lowest-active-power-consumption
|
||||||
|
|
||||||
|
.. _EK-RA4M2 - User's Manual:
|
||||||
|
https://www.renesas.com/us/en/document/mat/ek-ra4m2-v1-users-manual
|
||||||
|
|
||||||
|
.. _RA4M2 Group User's Manual Hardware:
|
||||||
|
https://www.renesas.com/us/en/document/man/ra4m2-group-users-manual-hardware
|
||||||
|
|
||||||
|
.. _Segger Ozone Download:
|
||||||
|
https://www.segger.com/downloads/jlink#Ozone
|
BIN
boards/renesas/ek_ra4m2/doc/ra4m2-block-diagram.webp
Normal file
BIN
boards/renesas/ek_ra4m2/doc/ra4m2-block-diagram.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
14
boards/renesas/ek_ra4m2/ek_ra4m2-pinctrl.dtsi
Normal file
14
boards/renesas/ek_ra4m2/ek_ra4m2-pinctrl.dtsi
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
sci0_default: sci0_default {
|
||||||
|
group1 {
|
||||||
|
/* tx rx */
|
||||||
|
psels = <RA_PSEL(RA_PSEL_SCI_0, 4, 11)>,
|
||||||
|
<RA_PSEL(RA_PSEL_SCI_0, 4, 10)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
75
boards/renesas/ek_ra4m2/ek_ra4m2.dts
Normal file
75
boards/renesas/ek_ra4m2/ek_ra4m2.dts
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <renesas/ra/ra4/r7fa4m2ad3cfp.dtsi>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include "ek_ra4m2-pinctrl.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Renesas EK-RA4M2";
|
||||||
|
compatible = "renesas,ra4m2", "renesas,ra";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &uart0;
|
||||||
|
zephyr,shell-uart = &uart0;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
led1: led1 {
|
||||||
|
gpios = <&ioport4 15 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LED1";
|
||||||
|
};
|
||||||
|
led2: led2 {
|
||||||
|
gpios = <&ioport4 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LED2";
|
||||||
|
};
|
||||||
|
led3: led3 {
|
||||||
|
gpios = <&ioport4 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LED3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led0 = &led1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&xtal {
|
||||||
|
clock-frequency = <DT_FREQ_M(24)>;
|
||||||
|
mosel = <0>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&subclk {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pll {
|
||||||
|
source = <RA_PLL_SOURCE_MAIN_OSC>;
|
||||||
|
div = <RA_PLL_DIV_3>;
|
||||||
|
mul = <25 0>;
|
||||||
|
freq = <DT_FREQ_M(200)>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sci0 {
|
||||||
|
pinctrl-0 = <&sci0_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
uart0: uart {
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ioport4 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
12
boards/renesas/ek_ra4m2/ek_ra4m2.yaml
Normal file
12
boards/renesas/ek_ra4m2/ek_ra4m2.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
identifier: ek_ra4m2
|
||||||
|
name: Renesas EK-RA4M2
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
ram: 128
|
||||||
|
flash: 512
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
supported:
|
||||||
|
- gpio
|
||||||
|
- uart
|
17
boards/renesas/ek_ra4m2/ek_ra4m2_defconfig
Normal file
17
boards/renesas/ek_ra4m2/ek_ra4m2_defconfig
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=100000000
|
||||||
|
|
||||||
|
# Enable GPIO
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
CONFIG_PINCTRL=y
|
||||||
|
|
||||||
|
# Enable Console
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
|
||||||
|
CONFIG_BUILD_OUTPUT_HEX=y
|
||||||
|
CONFIG_BUILD_NO_GAP_FILL=y
|
24
tests/drivers/uart/uart_async_api/boards/ek_ra4m2.overlay
Normal file
24
tests/drivers/uart/uart_async_api/boards/ek_ra4m2.overlay
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
sci2_default: sci2_default {
|
||||||
|
group1 {
|
||||||
|
/* tx rx */
|
||||||
|
psels = <RA_PSEL(RA_PSEL_SCI_2, 1, 12)>,
|
||||||
|
<RA_PSEL(RA_PSEL_SCI_2, 1, 13)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&sci2 {
|
||||||
|
pinctrl-0 = <&sci2_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
dut: uart {
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue