Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions boards/arm64/rcar_spider/Kconfig.board
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2023 EPAM Systems
# SPDX-License-Identifier: Apache-2.0

config BOARD_RCAR_SPIDER
bool "Renesas Spider"
depends on SOC_R8A779F
12 changes: 12 additions & 0 deletions boards/arm64/rcar_spider/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright (c) 2023 EPAM Systems
# SPDX-License-Identifier: Apache-2.0

if BOARD_RCAR_SPIDER

config BOARD
default "rcar_spider"

config BUILD_OUTPUT_BIN
default y

endif # BOARD_RCAR_SPIDER
80 changes: 80 additions & 0 deletions boards/arm64/rcar_spider/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
.. _rcar_spider:

R-CAR Spider (ARMv8)
#####################################
Note: currently, the board can be used only as a Xen Initial Domain, i.e. Dom0,
because there isn't support of UART driver. So, it can be built only with ``xen_dom0``
shield.

Overview
********
The R-Car Spider (S4) is an SOC that features the basic functions for
next-generation car Gateway systems.

Hardware
********
The R-Car S4 includes:

* eight 1.2GHz Arm Cortex-A55 cores, 2 cores x 4 clusters;
* 1.0 GHz Arm Cortex-R52 core (hardware Lock step is supported);
* two 400MHz G4MH cores (hardware Lock step is supported);
* memory controller for LPDDR4X-3200 with 32bit bus (16bit x 1ch + 16bit x 1ch) with ECC;
* SD card host interface / eMMC;
* UFS 3.0 x 1 channel;
* PCI Express Gen4.0 interface (Dual lane x 2ch);
* ICUMX;
* ICUMH;
* SHIP-S x 3 channels;
* AES Accerator x 8 channels;
* CAN FD interface x 16 channels;
* R-Switch2 (Ether);
* 100base EtherAVB x 1 channel;
* Gbit-EtherTSN x 3 channels;
* 1 unit FlexRay (A,B 2ch) interface.

Supported Features
==================
The Renesas rcar_spider board configuration supports the following
hardware features:

+-----------+------------------------------+--------------------------------+
| Interface | Driver/components | Support level |
+===========+==============================+================================+
| PINCTRL | pinctrl | |
+-----------+------------------------------+--------------------------------+
| CLOCK | clock_control | |
+-----------+------------------------------+--------------------------------+
| MMC | renesas_rcar_mmc | |
+-----------+------------------------------+--------------------------------+

Other hardware features have not been enabled yet for this board.

The default configuration can be found in the defconfig file:

``boards/arm64/rcar_spider/rcar_spider_defconfig``

Programming and Debugging
*************************

Correct shield designation for Xen must be entered when you invoke ``west build``.
For example:

.. zephyr-app-commands::
:zephyr-app: samples/synchronization
:board: rcar_spider
:shield: xen_dom0
:goals: build

For more details, look at documentation of ``xen_dom0`` shield.

References
**********

- `Renesas R-Car Development Support website`_
- `eLinux Spider page`_

.. _Renesas R-Car Development Support website:
https://www.renesas.com/us/en/support/partners/r-car-consortium/r-car-development-support

.. _eLinux Spider page:
https://elinux.org/R-Car/Boards/Spider
46 changes: 46 additions & 0 deletions boards/arm64/rcar_spider/rcar_spider.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
* Copyright (c) 2023 EPAM Systems
*
* SPDX-License-Identifier: Apache-2.0
*
*/

/dts-v1/;
#include <mem.h>
#include <arm64/renesas/r8a779f.dtsi>
#include "spider-pinctrl.dtsi"

/ {
model = "Spider (S4)";
chosen {
zephyr,sram = &ram;
};

/* These aliases are provided for compatibility with samples */
aliases {
sdhc0 = &mmc0;
};

ram: memory@48000000 {
device_type = "mmio-sram";
reg = <0x0 0x48000000 0x0 DT_SIZE_M(512)>;
};
};

&mmc0 {
pinctrl-0 = <&mmc_clk &mmc_cmd &mmc_ds
&mmc_data0 &mmc_data1 &mmc_data2 &mmc_data3
&mmc_data4 &mmc_data5 &mmc_data6 &mmc_data7>;
pinctrl-1 = <&mmc_clk &mmc_cmd &mmc_ds
&mmc_data0 &mmc_data1 &mmc_data2 &mmc_data3
&mmc_data4 &mmc_data5 &mmc_data6 &mmc_data7>;
pinctrl-names = "default", "uhs";
disk {
compatible = "zephyr,mmc-disk";
status = "disabled";
};
bus-width = <8>;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
non-removable;
};
17 changes: 17 additions & 0 deletions boards/arm64/rcar_spider/rcar_spider.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
identifier: rcar_spider
name: Renesas Spider based on r8a779f (S4)
type: mcu
arch: arm64
toolchain:
- zephyr
- cross-compile
ram: 512
supported:
- clock_control
- uart
testing:
default: true
ignore_tags:
- net
- bluetooth
- isotp
21 changes: 21 additions & 0 deletions boards/arm64/rcar_spider/rcar_spider_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
CONFIG_SOC_R8A779F=y
CONFIG_SOC_SERIES_RCAR_GEN4=y
CONFIG_BOARD_RCAR_SPIDER=y

# Cache management
CONFIG_CACHE_MANAGEMENT=y

# Enable UART driver
CONFIG_SERIAL=y
CONFIG_AARCH64_IMAGE_HEADER=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=16666000
CONFIG_XIP=n

CONFIG_MAX_XLAT_TABLES=24

# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Enable clock control
CONFIG_CLOCK_CONTROL=y
53 changes: 53 additions & 0 deletions boards/arm64/rcar_spider/spider-pinctrl.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Copyright (c) 2023 EPAM Systems
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/dt-bindings/pinctrl/renesas/pinctrl-r8a779f.h>

&pfc {
mmc_clk: mmc_clk {
pin = <PIN_MMC_SD_CLK>;
};

mmc_cmd: mmc_cmd {
pin = <PIN_MMC_SD_CMD>;
};

mmc_data0: mmc_data0 {
pin = <PIN_MMC_SD_D0>;
};

mmc_data1: mmc_data1 {
pin = <PIN_MMC_SD_D1>;
};

mmc_data2: mmc_data2 {
pin = <PIN_MMC_SD_D2>;
};

mmc_data3: mmc_data3 {
pin = <PIN_MMC_SD_D3>;
};

mmc_data4: mmc_data4 {
pin = <PIN_MMC_D4>;
};

mmc_data5: mmc_data5 {
pin = <PIN_MMC_D5>;
};

mmc_data6: mmc_data6 {
pin = <PIN_MMC_D6>;
};

mmc_data7: mmc_data7 {
pin = <PIN_MMC_D7>;
};

mmc_ds: mmc_ds {
pin = <PIN_MMC_DS>;
};
};
1 change: 1 addition & 0 deletions drivers/clock_control/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_AGILEX clock_agilex.c)
if(CONFIG_CLOCK_CONTROL_RCAR_CPG_MSSR)
zephyr_library_sources(clock_control_renesas_cpg_mssr.c)
zephyr_library_sources_ifdef(CONFIG_DT_HAS_RENESAS_R8A7795_CPG_MSSR_ENABLED clock_control_r8a7795_cpg_mssr.c)
zephyr_library_sources_ifdef(CONFIG_DT_HAS_RENESAS_R8A779F_CPG_MSSR_ENABLED clock_control_r8a779f_cpg_mssr.c)
endif()

zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_AST10X0 clock_control_ast10x0.c)
2 changes: 1 addition & 1 deletion drivers/clock_control/Kconfig.rcar
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
config CLOCK_CONTROL_RCAR_CPG_MSSR
bool "RCar CPG MSSR driver"
default y
depends on DT_HAS_RENESAS_R8A7795_CPG_MSSR_ENABLED
depends on DT_HAS_RENESAS_R8A7795_CPG_MSSR_ENABLED || DT_HAS_RENESAS_R8A779F_CPG_MSSR_ENABLED
help
Enable support for Renesas RCar CPG MSSR driver.
Loading