boards: renesas: Initial support Renesas EK-RA6M4 board
- Initial support for EK-RA6M4 board Signed-off-by: Duy Phuong Hoang. Nguyen <duy.nguyen.xa@renesas.com>
This commit is contained in:
parent
5f4b9bb0d9
commit
f80e5dc0fd
11 changed files with 330 additions and 0 deletions
5
boards/renesas/ek_ra6m4/Kconfig.ek_ra6m4
Normal file
5
boards/renesas/ek_ra6m4/Kconfig.ek_ra6m4
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Copyright (c) 2024 Renesas Electronics Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_EK_RA6M4
|
||||
select SOC_R7FA6M4AF3CFB
|
6
boards/renesas/ek_ra6m4/board.cmake
Normal file
6
boards/renesas/ek_ra6m4/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=R7FA6M4AF")
|
||||
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
5
boards/renesas/ek_ra6m4/board.yml
Normal file
5
boards/renesas/ek_ra6m4/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
board:
|
||||
name: ek_ra6m4
|
||||
vendor: renesas
|
||||
socs:
|
||||
- name: r7fa6m4af3cfb
|
BIN
boards/renesas/ek_ra6m4/doc/ek-ra6m4-board.webp
Normal file
BIN
boards/renesas/ek_ra6m4/doc/ek-ra6m4-board.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
166
boards/renesas/ek_ra6m4/doc/index.rst
Normal file
166
boards/renesas/ek_ra6m4/doc/index.rst
Normal file
|
@ -0,0 +1,166 @@
|
|||
.. _ek_ra6m4:
|
||||
|
||||
RA6M4 Evaluation Kit
|
||||
####################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The Renesas RA6M4 group uses the high-performance Arm® Cortex®-M33
|
||||
core with TrustZone®. Secure element functionality providing better
|
||||
performance, unlimited secure key storage, key management, and lower
|
||||
BOM cost, as well as the integrated Ethernet MAC with individual DMA
|
||||
ensures high data throughput. The RA6M4 is suitable for IoT applications
|
||||
requiring Ethernet, future proof security, large embedded RAM, and low
|
||||
active power consumption down to 99uA/MHz running the CoreMark®
|
||||
algorithm from Flash.
|
||||
|
||||
The key features of the EK-RA6M4 board are categorized in three groups as follow:
|
||||
|
||||
**MCU Native Pin Access**
|
||||
|
||||
- 200MHz Arm Cortex-M33 based RA6M4 MCU in 144 pins, LQFP package
|
||||
- Native pin access through 4 x 40-pin male headers
|
||||
- MCU current measurement points for precision current consumption measurement
|
||||
- Multiple clock sources - RA6M4 MCU oscillator and sub-clock oscillator crystals,
|
||||
providing precision 24.000 MHz and 32,768 Hz reference clock.
|
||||
Additional low precision clocks are avaialbe internal to the RA6M4 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
|
||||
|
||||
- Two Seeed Grove system (I2C/Analog) connectors
|
||||
- One SparkFun Qwiic connector
|
||||
- Two Digilent Pmod (SPI and UART) connectors
|
||||
- Arduino (Uno R3) connector
|
||||
- MikroElektronika mikroBUS connector
|
||||
|
||||
- MCU boot configuration jumper
|
||||
|
||||
**Special Feature Access**
|
||||
|
||||
- Ethernet (RJ45 RMII interface)
|
||||
- 32 Mb (256 Mb) External Quad-SPI Flash
|
||||
- 64 Mb (512 Mb) External Octo-SPI Flash
|
||||
|
||||
.. figure:: ek-ra6m4-board.webp
|
||||
:align: center
|
||||
:alt: RA6M4 Evaluation Kit
|
||||
|
||||
EK-RA6M4 Board Functional Area Definitions (Credit: Renesas Electronics Corporation)
|
||||
|
||||
Hardware
|
||||
********
|
||||
Detailed hardware feature for the RA6M4 MCU group can be found at `RA6M4 Group User's Manual Hardware`_
|
||||
|
||||
.. figure:: ra6m4-block-diagram.webp
|
||||
:width: 442px
|
||||
:align: center
|
||||
:alt: RA6M4 MCU group feature
|
||||
|
||||
RA6M4 Block diagram (Credit: Renesas Electronics Corporation)
|
||||
|
||||
Detailed hardware feature for the EK-RA6M4 MCU can be found at `EK-RA6M4 - User's Manual`_
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
||||
The below features are currently supported on Zephyr OS for EK-RA6M4 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_ra6m4`` 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-RA6M4 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-RA6M4 - 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: R7FA6M4AF
|
||||
* 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-RA6M4 Website`_
|
||||
- `RA6M4 MCU group Website`_
|
||||
|
||||
.. _EK-RA6M4 Website:
|
||||
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra6m4-evaluation-kit-ra6m4-mcu-group
|
||||
|
||||
.. _RA6M4 MCU group Website:
|
||||
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra6m4-200mhz-arm-cortex-m33-trustzone-high-integration-ethernet-and-octaspi
|
||||
|
||||
.. _EK-RA6M4 - User's Manual:
|
||||
https://www.renesas.com/us/en/document/man/ek-ra6m4-v1-users-manual
|
||||
|
||||
.. _RA6M4 Group User's Manual Hardware:
|
||||
https://www.renesas.com/us/en/document/man/ra6m4-group-user-s-manual-hardware?r=1333976
|
||||
|
||||
.. _Segger Ozone Download:
|
||||
https://www.segger.com/downloads/jlink#Ozone
|
BIN
boards/renesas/ek_ra6m4/doc/ra6m4-block-diagram.webp
Normal file
BIN
boards/renesas/ek_ra6m4/doc/ra6m4-block-diagram.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
14
boards/renesas/ek_ra6m4/ek_ra6m4-pinctrl.dtsi
Normal file
14
boards/renesas/ek_ra6m4/ek_ra6m4-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)>;
|
||||
};
|
||||
};
|
||||
};
|
82
boards/renesas/ek_ra6m4/ek_ra6m4.dts
Normal file
82
boards/renesas/ek_ra6m4/ek_ra6m4.dts
Normal file
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Renesas Electronics Corporation
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <renesas/ra/ra6/r7fa6m4af3cfb.dtsi>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
#include "ek_ra6m4-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Renesas EK-RA6M4";
|
||||
compatible = "renesas,ra6m4", "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 0 GPIO_ACTIVE_HIGH>;
|
||||
label = "LED3";
|
||||
};
|
||||
};
|
||||
|
||||
aliases {
|
||||
led0 = &led1;
|
||||
};
|
||||
};
|
||||
|
||||
&sci0 {
|
||||
pinctrl-0 = <&sci0_default>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
uart0: uart {
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&ioport4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&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";
|
||||
};
|
||||
|
||||
&pclka {
|
||||
clk_src = <RA_CLOCK_SOURCE_PLL>;
|
||||
clk_div = <RA_SYS_CLOCK_DIV_2>;
|
||||
status = "okay";
|
||||
};
|
11
boards/renesas/ek_ra6m4/ek_ra6m4.yaml
Normal file
11
boards/renesas/ek_ra6m4/ek_ra6m4.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
identifier: ek_ra6m4
|
||||
name: Renesas EK-RA6M4
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 256
|
||||
flash: 1024
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
supported:
|
||||
- gpio
|
17
boards/renesas/ek_ra6m4/ek_ra6m4_defconfig
Normal file
17
boards/renesas/ek_ra6m4/ek_ra6m4_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=200000000
|
||||
|
||||
# Enable GPIO
|
||||
CONFIG_GPIO=y
|
||||
CONFIG_PINCTRL=y
|
||||
|
||||
# Enable Console
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
|
||||
CONFIG_BUILD_OUTPUT_HEX=y
|
||||
CONFIG_BUILD_NO_GAP_FILL=y
|
Loading…
Add table
Add a link
Reference in a new issue