diff --git a/boards/renesas/ek_ra6e2/Kconfig.ek_ra6e2 b/boards/renesas/ek_ra6e2/Kconfig.ek_ra6e2 new file mode 100644 index 00000000000..06f6e754a08 --- /dev/null +++ b/boards/renesas/ek_ra6e2/Kconfig.ek_ra6e2 @@ -0,0 +1,5 @@ +# Copyright (c) 2024 Renesas Electronics Corporation +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_EK_RA6E2 + select SOC_R7FA6E2BB3CFM diff --git a/boards/renesas/ek_ra6e2/board.cmake b/boards/renesas/ek_ra6e2/board.cmake new file mode 100644 index 00000000000..368e10209f9 --- /dev/null +++ b/boards/renesas/ek_ra6e2/board.cmake @@ -0,0 +1,6 @@ +# Copyright (c) 2024 Renesas Electronics Corporation +# SPDX-License-Identifier: Apache-2.0 + +board_runner_args(jlink "--device=R7FA6E2BB") + +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/renesas/ek_ra6e2/board.yml b/boards/renesas/ek_ra6e2/board.yml new file mode 100644 index 00000000000..972476c9b2e --- /dev/null +++ b/boards/renesas/ek_ra6e2/board.yml @@ -0,0 +1,5 @@ +board: + name: ek_ra6e2 + vendor: renesas + socs: + - name: r7fa6e2bb3cfm diff --git a/boards/renesas/ek_ra6e2/doc/ek-ra6e2-board.webp b/boards/renesas/ek_ra6e2/doc/ek-ra6e2-board.webp new file mode 100644 index 00000000000..56ebb4c77e7 Binary files /dev/null and b/boards/renesas/ek_ra6e2/doc/ek-ra6e2-board.webp differ diff --git a/boards/renesas/ek_ra6e2/doc/index.rst b/boards/renesas/ek_ra6e2/doc/index.rst new file mode 100644 index 00000000000..46c95b52801 --- /dev/null +++ b/boards/renesas/ek_ra6e2/doc/index.rst @@ -0,0 +1,163 @@ +.. _ek_ra6e2: + +RA6E2 Evaluation Kit +#################### + +Overview +******** + +The EK-RA6E2, an Evaluation Kit for RA6E2 MCU Group, enables users to +seamlessly evaluate the features of the RA6E2 MCU group and develop +embedded systems applications using Flexible Software Package (FSP) +and e2 studio IDE. The users can use rich on-board features along with +their choice of popular ecosystems add-ons to bring their big ideas to life + +The key features of the EK-RA6E2 board are categorized in three groups as follow: + +**MCU Native Pin Access** + +- 200MHz Arm Cortex-M33 based RA6E2 MCU in 64 pins, LQFP package +- 256 kB Code Flash, 40 kB SRAM +- Native pin access through 2 x 14-pin and 1 x 40-pin male headers +- MCU current measurement points for precision current consumption measurement +- Multiple clock sources - RA6E2 MCU oscillator and sub-clock oscillator crystals, + providing precision 20.000 MHz and 32,768 Hz reference clock. + Additional low precision clocks are avaialbe internal to the RA6E2 MCU + +**System Control and Ecosystem Access** + +- USB Full Speed Host and Device (micro-AB connector) +- Three 5V input sources + + - USB (Debug, Full Speed) + - External power supply (using surface mount clamp test points and J31 through holes) + +- Three Debug modes + + - Debug on-board (SWD) + - Debug in (SWD) + - Debug out (JTAG, 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 (I3C/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** + +- 16 Mb (128 Mb) External Quad-SPI Flash +- CAN (3-pin header) + +.. figure:: ek-ra6e2-board.webp + :align: center + :alt: RA6E2 Evaluation Kit + + EK-RA6E2 Board Functional Area Definitions (Credit: Renesas Electronics Corporation) + +Hardware +******** +Detailed hardware feature for the RA6E2 MCU group can be found at `RA6E2 Group User's Manual Hardware`_ + +.. figure:: ra6e2-block-diagram.webp + :width: 442px + :align: center + :alt: RA6E2 MCU group feature + + RA6E2 Block diagram (Credit: Renesas Electronics Corporation) + +Detailed hardware feature for the EK-RA6E2 MCU can be found at `EK-RA6E2 - User's Manual`_ + +Supported Features +================== + +The below features are currently supported on Zephyr OS for EK-RA6E2 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_ra6e2`` 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-RA6E2 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-RA6E2 - 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: R7FA6E2BB +* Target Interface: SWD +* Target Interface Speed: 4 MHz +* Host Interface: USB +* Program File: + +**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-RA6E2 Website`_ +- `RA6E2 MCU group Website`_ + +.. _EK-RA6E2 Website: + https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra6e2-evaluation-kit-ra6e2-mcu-group + +.. _RA6E2 MCU group Website: + https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra6e2-entry-line-200mhz-arm-cortex-m33-general-purpose-microcontroller + +.. _EK-RA6E2 - User's Manual: + https://www.renesas.com/us/en/document/mat/ek-ra6e2-v1-users-manual + +.. _RA6E2 Group User's Manual Hardware: + https://www.renesas.com/us/en/document/mah/ra6e2-group-users-manual-hardware + +.. _Segger Ozone Download: + https://www.segger.com/downloads/jlink#Ozone diff --git a/boards/renesas/ek_ra6e2/doc/ra6e2-block-diagram.webp b/boards/renesas/ek_ra6e2/doc/ra6e2-block-diagram.webp new file mode 100644 index 00000000000..7eeb1bc516f Binary files /dev/null and b/boards/renesas/ek_ra6e2/doc/ra6e2-block-diagram.webp differ diff --git a/boards/renesas/ek_ra6e2/ek_ra6e2-pinctrl.dtsi b/boards/renesas/ek_ra6e2/ek_ra6e2-pinctrl.dtsi new file mode 100644 index 00000000000..851d8543bee --- /dev/null +++ b/boards/renesas/ek_ra6e2/ek_ra6e2-pinctrl.dtsi @@ -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 = , + ; + }; + }; +}; diff --git a/boards/renesas/ek_ra6e2/ek_ra6e2.dts b/boards/renesas/ek_ra6e2/ek_ra6e2.dts new file mode 100644 index 00000000000..d58feb122fc --- /dev/null +++ b/boards/renesas/ek_ra6e2/ek_ra6e2.dts @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2024 Renesas Electronics Corporation + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include + +#include "ek_ra6e2-pinctrl.dtsi" + +/ { + model = "Renesas EK-RA6E2"; + compatible = "renesas,ra6e2", "renesas,ra"; + + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + }; + + leds { + compatible = "gpio-leds"; + led1: led1 { + gpios = <&ioport2 7 GPIO_ACTIVE_HIGH>; + label = "LED1"; + }; + led2: led2 { + gpios = <&ioport4 0 GPIO_ACTIVE_HIGH>; + label = "LED2"; + }; + led3: led3 { + gpios = <&ioport1 13 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"; + }; +}; + +&ioport1 { + status = "okay"; +}; + +&ioport2 { + status = "okay"; +}; + +&ioport4 { + status = "okay"; +}; + +&flash0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + boot_partition: partition@0 { + label = "application"; + reg = <0x00000000 DT_SIZE_K(128)>; + }; + + storage_partition: partition@20000 { + label = "storage"; + reg = <0x20000 DT_SIZE_K(128)>; + }; + }; +}; + +&xtal { + clock-frequency = ; + mosel = <0>; + #clock-cells = <0>; + status = "okay"; +}; + +&subclk { + status = "okay"; +}; + +&pll { + source = ; + div = ; + mul = <10 0>; + freq = ; + status = "okay"; +}; diff --git a/boards/renesas/ek_ra6e2/ek_ra6e2.yaml b/boards/renesas/ek_ra6e2/ek_ra6e2.yaml new file mode 100644 index 00000000000..dcb71bda519 --- /dev/null +++ b/boards/renesas/ek_ra6e2/ek_ra6e2.yaml @@ -0,0 +1,11 @@ +identifier: ek_ra6e2 +name: Renesas EK-RA6E2 +type: mcu +arch: arm +ram: 40 +flash: 256 +toolchain: + - zephyr + - gnuarmemb +supported: + - gpio diff --git a/boards/renesas/ek_ra6e2/ek_ra6e2_defconfig b/boards/renesas/ek_ra6e2/ek_ra6e2_defconfig new file mode 100644 index 00000000000..fd980602204 --- /dev/null +++ b/boards/renesas/ek_ra6e2/ek_ra6e2_defconfig @@ -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_UART_CONSOLE=y +CONFIG_CONSOLE=y + +CONFIG_BUILD_OUTPUT_HEX=y +CONFIG_BUILD_NO_GAP_FILL=y diff --git a/tests/drivers/uart/uart_async_api/boards/ek_ra6e2.overlay b/tests/drivers/uart/uart_async_api/boards/ek_ra6e2.overlay new file mode 100644 index 00000000000..10121b5ad9e --- /dev/null +++ b/tests/drivers/uart/uart_async_api/boards/ek_ra6e2.overlay @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2024 Renesas Electronics Corporation + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + sci9_default: sci9_default { + group1 { + /* tx rx */ + psels = , + ; + }; + }; +}; + +&sci9 { + pinctrl-0 = <&sci9_default>; + pinctrl-names = "default"; + status = "okay"; + dut: uart { + current-speed = <115200>; + status = "okay"; + }; +};