Browse Source

boards: renesas: Add support for Renesas RZ/V2H-EVK R8 core

Add support for Renesas RZ/V2H-EVK R8 core

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
pull/92102/head
Tien Nguyen 4 weeks ago committed by Benjamin Cabé
parent
commit
23bf54f330
  1. 1
      boards/renesas/rzv2h_evk/Kconfig.rzv2h_evk
  2. 4
      boards/renesas/rzv2h_evk/board.cmake
  3. 44
      boards/renesas/rzv2h_evk/doc/index.rst
  4. 65
      boards/renesas/rzv2h_evk/rzv2h_evk_r9a09g057h44gbg_cr8_0.dts
  5. 11
      boards/renesas/rzv2h_evk/rzv2h_evk_r9a09g057h44gbg_cr8_0.yaml
  6. 19
      boards/renesas/rzv2h_evk/rzv2h_evk_r9a09g057h44gbg_cr8_0_defconfig

1
boards/renesas/rzv2h_evk/Kconfig.rzv2h_evk

@ -3,3 +3,4 @@ @@ -3,3 +3,4 @@
config BOARD_RZV2H_EVK
select SOC_R9A09G057H44GBG_CM33 if BOARD_RZV2H_EVK_R9A09G057H44GBG_CM33
select SOC_R9A09G057H44GBG_CR8 if BOARD_RZV2H_EVK_R9A09G057H44GBG_CR8_0

4
boards/renesas/rzv2h_evk/board.cmake

@ -5,4 +5,8 @@ if(CONFIG_BOARD_RZV2H_EVK_R9A09G057H44GBG_CM33) @@ -5,4 +5,8 @@ if(CONFIG_BOARD_RZV2H_EVK_R9A09G057H44GBG_CM33)
board_runner_args(jlink "--device=R9A09G057H44_M33_0")
endif()
if (CONFIG_BOARD_RZV2H_EVK_R9A09G057H44GBG_CR8_0)
board_runner_args(jlink "--device=R9A09G057H44_R8_0")
endif()
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

44
boards/renesas/rzv2h_evk/doc/index.rst

@ -74,8 +74,8 @@ LED @@ -74,8 +74,8 @@ LED
* LED5 (yelow) = P0_0
* LED6 (yelow) = P0_1
Programming and Debugging (M33)
*******************************
Programming and Debugging (M33/R8)
**********************************
.. zephyr:board-supported-runners::
@ -85,29 +85,38 @@ documented in :ref:`build_an_application`. @@ -85,29 +85,38 @@ documented in :ref:`build_an_application`.
Console
=======
The UART port for Cortex-M33 System Core can be accessed by connecting `Pmod USBUART <https://store.digilentinc.com/pmod-usbuart-usb-to-uart-interface/>`_
The UART port for Cortex-M33/Cortex-R8 System Core can be accessed by connecting `Pmod USBUART <https://store.digilentinc.com/pmod-usbuart-usb-to-uart-interface/>`_
to the upper side of ``PMOD Type 3A``.
Debugging
=========
It is possible to load and execute a Zephyr application binary on
this board on the Cortex-M33 System Core from
this board on the Cortex-M33/Cortex-R8 System Core from
the internal SRAM, using ``JLink`` debugger (:ref:`jlink-debug-host-tools`).
Here is an example for building and debugging with the :zephyr:code-sample:`hello_world` application.
**CM33:**
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: rzv2h_evk/r9a09g057h44gbg/cm33
:goals: build debug
**CR8:**
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: rzv2h_evk/r9a09g057h44gbg/cr8_0
:goals: build debug
Flashing
========
RZ/V2H-EVK is designed to start different systems on different cores.
It uses Yocto as the build system to build Linux system and boot loaders
to run Zephyr on Cortex-M33 with u-boot. The minimal steps are described below.
to run Zephyr on Cortex-M33/Cortex-R8 with u-boot. The minimal steps are described below.
1. Download Multi-OS Package from the `RZ/V2H Easy Download Guide`_
@ -172,7 +181,9 @@ The below necessary artifacts will be located in the build/tmp/deploy/image @@ -172,7 +181,9 @@ The below necessary artifacts will be located in the build/tmp/deploy/image
8. Hit any key within 3 sec to stop autoboot.
9. Carry out the following setup of u-boot to kick CM33 Core.
9. Carry out the following setup of u-boot to kick CM33/CR8 Core.
**CM33:**
.. code-block:: console
@ -191,6 +202,27 @@ The below necessary artifacts will be located in the build/tmp/deploy/image @@ -191,6 +202,27 @@ The below necessary artifacts will be located in the build/tmp/deploy/image
=> saveenv
=> run cm33start
**CR8:**
.. code-block:: console
=> setenv cr8start 'dcache off
=> mw.l 0x10420D24 0x04000000
=> mw.l 0x10420600 0xE000E000
=> mw.l 0x10420604 0x00030003
=> mw.l 0x10420908 0x1FFF0000
=> mw.l 0x10420C44 0x003F0000
=> mw.l 0x10420C14 0x00000000
=> mw.l 0x10420908 0x10001000
=> mw.l 0x10420C48 0x00000020
=> mw.l 0x10420908 0x1FFF1FFF
=> mw.l 0x10420C48 0x00000000
=> ext4load mmc 0:2 0x12040000 boot/zephyr.bin
=> mw.l 0x10420C14 0x00000003
=> dcache on'
=> saveenv
=> run cr8start
References
**********

65
boards/renesas/rzv2h_evk/rzv2h_evk_r9a09g057h44gbg_cr8_0.dts

@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
/*
* Copyright (c) 2025 Renesas Electronics Corporation
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h>
#include <zephyr/dt-bindings/input/input-event-codes.h>
#include <arm/renesas/rz/rzv/r9a09g057_cr8.dtsi>
#include "rzv2h_evk-pinctrl.dtsi"
/ {
model = "Renesas RZ/V2H EVK";
compatible = "renesas,rzv2h-evk";
aliases {
led0 = &led5;
led1 = &led6;
};
chosen {
zephyr,sram = &sram;
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
};
leds {
compatible = "gpio-leds";
led5: led5 {
gpios = <&gpio0 0 0>;
label = "led5";
};
led6: led6 {
gpios = <&gpio0 1 0>;
label = "led6";
};
};
sram: memory@0 {
compatible = "mmio-sram";
reg = <0x0 DT_SIZE_M(256)>;
};
};
&gpio {
status = "okay";
};
&gpio0 {
status = "okay";
};
&sci0 {
pinctrl-0 = <&sci0_pins>;
pinctrl-names = "default";
status = "okay";
uart0: uart {
current-speed = <115200>;
status = "okay";
};
};

11
boards/renesas/rzv2h_evk/rzv2h_evk_r9a09g057h44gbg_cr8_0.yaml

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
identifier: rzv2h_evk/r9a09g057h44gbg/cr8_0
name: Cortex-R8 for Renesas RZ/V2H EVK
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
supported:
- uart
- gpio
vendor: renesas

19
boards/renesas/rzv2h_evk/rzv2h_evk_r9a09g057h44gbg_cr8_0_defconfig

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
# Copyright (c) 2025 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0
CONFIG_XIP=n
# MPU Config
CONFIG_ARM_MPU=y
# Enable UART driver
CONFIG_SERIAL=y
# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
# Cache Options
CONFIG_CACHE_MANAGEMENT=y
CONFIG_DCACHE_LINE_SIZE_DETECT=y
CONFIG_ICACHE_LINE_SIZE_DETECT=y
Loading…
Cancel
Save