From b1c83c0335d7e16538e24e2ffe60d1fc8eef053e Mon Sep 17 00:00:00 2001 From: Wojciech Sipak Date: Fri, 4 Aug 2023 17:46:37 +0200 Subject: [PATCH] soc: Add support for RZ/T2M This adds a new SoC: SOC_RENESAS_RZT2M and a new board: rzt2m_startek_kit Signed-off-by: Wojciech Sipak Co-authored-by: Roman Dobrodii --- boards/arm/rzt2m_starterkit/Kconfig.board | 6 ++ boards/arm/rzt2m_starterkit/Kconfig.defconfig | 9 ++ boards/arm/rzt2m_starterkit/board.cmake | 11 ++ boards/arm/rzt2m_starterkit/doc/index.rst | 95 ++++++++++++++++++ .../rzt2m_starterkit/doc/rzt2m_starterkit.png | Bin 0 -> 96455 bytes .../rzt2m_starterkit/rzt2m_starter_kit.dts | 17 ++++ .../rzt2m_starterkit/rzt2m_starter_kit.yaml | 15 +++ .../rzt2m_starter_kit_defconfig | 5 + dts/arm/renesas/rzt2m.dtsi | 92 +++++++++++++++++ soc/arm/renesas_rzt2m/CMakeLists.txt | 6 ++ soc/arm/renesas_rzt2m/Kconfig | 15 +++ soc/arm/renesas_rzt2m/Kconfig.defconfig | 24 +++++ soc/arm/renesas_rzt2m/Kconfig.soc | 12 +++ soc/arm/renesas_rzt2m/linker.ld | 7 ++ soc/arm/renesas_rzt2m/soc.c | 76 ++++++++++++++ soc/arm/renesas_rzt2m/soc.h | 41 ++++++++ 16 files changed, 431 insertions(+) create mode 100644 boards/arm/rzt2m_starterkit/Kconfig.board create mode 100644 boards/arm/rzt2m_starterkit/Kconfig.defconfig create mode 100644 boards/arm/rzt2m_starterkit/board.cmake create mode 100644 boards/arm/rzt2m_starterkit/doc/index.rst create mode 100644 boards/arm/rzt2m_starterkit/doc/rzt2m_starterkit.png create mode 100644 boards/arm/rzt2m_starterkit/rzt2m_starter_kit.dts create mode 100644 boards/arm/rzt2m_starterkit/rzt2m_starter_kit.yaml create mode 100644 boards/arm/rzt2m_starterkit/rzt2m_starter_kit_defconfig create mode 100644 dts/arm/renesas/rzt2m.dtsi create mode 100644 soc/arm/renesas_rzt2m/CMakeLists.txt create mode 100644 soc/arm/renesas_rzt2m/Kconfig create mode 100644 soc/arm/renesas_rzt2m/Kconfig.defconfig create mode 100644 soc/arm/renesas_rzt2m/Kconfig.soc create mode 100644 soc/arm/renesas_rzt2m/linker.ld create mode 100644 soc/arm/renesas_rzt2m/soc.c create mode 100644 soc/arm/renesas_rzt2m/soc.h diff --git a/boards/arm/rzt2m_starterkit/Kconfig.board b/boards/arm/rzt2m_starterkit/Kconfig.board new file mode 100644 index 00000000000..9fddcf006a4 --- /dev/null +++ b/boards/arm/rzt2m_starterkit/Kconfig.board @@ -0,0 +1,6 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_RZT2M_STARTER_KIT + bool "RZ/T2M Starter Kit Board" + depends on SOC_RENESAS_RZT2M diff --git a/boards/arm/rzt2m_starterkit/Kconfig.defconfig b/boards/arm/rzt2m_starterkit/Kconfig.defconfig new file mode 100644 index 00000000000..9699b23963c --- /dev/null +++ b/boards/arm/rzt2m_starterkit/Kconfig.defconfig @@ -0,0 +1,9 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_RZT2M_STARTER_KIT + +config BOARD + default "rzt2m_starter_kit" + +endif diff --git a/boards/arm/rzt2m_starterkit/board.cmake b/boards/arm/rzt2m_starterkit/board.cmake new file mode 100644 index 00000000000..dd92d0e905a --- /dev/null +++ b/boards/arm/rzt2m_starterkit/board.cmake @@ -0,0 +1,11 @@ +# +# Copyright (c) 2023 Antmicro +# +# SPDX-License-Identifier: Apache-2.0 +# + +board_set_debugger_ifnset(jlink) +board_set_flasher_ifnset(jlink) + +board_runner_args(jlink "--device=R9A07G075M2") +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/arm/rzt2m_starterkit/doc/index.rst b/boards/arm/rzt2m_starterkit/doc/index.rst new file mode 100644 index 00000000000..e965585f6cb --- /dev/null +++ b/boards/arm/rzt2m_starterkit/doc/index.rst @@ -0,0 +1,95 @@ +.. _rzt2m_starterkit: + +Renesas Starter Kit+ for RZ/T2M +=============================== + +Overview +******** + +The Renesas Starter Kit+ for RZ/T2M is an evaluation and development kit for the RZ/T2M MPU. +The board is powered through a 5V input via a DC Power Jack or USB Type-C Connector. + +.. figure:: rzt2m_starterkit.png + :width: 800px + :align: center + :alt: Starter Kit+ for RZ/T2M + + Starter Kit+ for RZ/T2M (Credit: Renesas) + +Hardware +******** + +The board utilizes the SoC of part no. R9A07G075M24GBG, with 2MB of RAM. + +It has several on-board memory components: +* SDRAM (256MBit), +* NOR Flash (256MBit), +* Octa Flash (512MBit), +* HyperRAM (512Mbit), +* QSPI Serial Flash (512Mbit), +* I2C EEPROM (32Kbit). + +The communication interfaces include: +* Debug interfaces (J-Link, MIPI-10, MIPI-20), +* Ethernet, +* CAN, +* USB, +* RS485, +* UART, +* I2C, +* SPI. + +Supported Features +================== + ++-----------+------------+-------------------------------------+ +| Interface | Controller | Driver/Component | ++===========+============+=====================================+ +| NVIC | on-chip | nested vector interrupt controller | ++-----------+------------+-------------------------------------+ +| SYSTICK | on-chip | systick | ++-----------+------------+-------------------------------------+ +| PINCTRL | on-chip | pinctrl | ++-----------+------------+-------------------------------------+ +| UART | on-chip | serial | ++-----------+------------+-------------------------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+-------------------------------------+ + +Other hardware features are not currently supported by the port. + +Connections and IOs +=================== + +By default, the board is configured for use with: +* UART0 connected to the USB serial port (pins K18, K19), +* UART3 connected to the PMOD Header (J25, pins H16, G20), +* LEDs defined as `led0`, `led1`, `led2` and `led3`, + +The Zephyr console uses UART0. + +Programming and Debugging +************************* + +Debugging +========= + +Connect to the board using the J-Link On-board USB connector. +Use `west` to start the debug server: + +.. code-block:: console + + west debugserver + +Connect GDB to the server and load an application: + +.. code-block:: + + target remote :2331 + file build/zephyr/zephyr.elf + load + +References +********** + +.. _RZT2M Product page: https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/rzt2m-high-performance-multi-function-mpu-realizing-high-speed-processing-and-high-precision-control diff --git a/boards/arm/rzt2m_starterkit/doc/rzt2m_starterkit.png b/boards/arm/rzt2m_starterkit/doc/rzt2m_starterkit.png new file mode 100644 index 0000000000000000000000000000000000000000..960df4fdbb58c5328a40628bccf53048a47b0a98 GIT binary patch literal 96455 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%0A`eb`M$F?kEaPqr%8HB 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�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 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include + +/ { + model = "RZT/2M Starter Kit"; + compatible = "renesas,rzt2m_starter_kit"; + + chosen { + zephyr,sram = &cpu0_atcm; + }; +}; diff --git a/boards/arm/rzt2m_starterkit/rzt2m_starter_kit.yaml b/boards/arm/rzt2m_starterkit/rzt2m_starter_kit.yaml new file mode 100644 index 00000000000..5d091d0fddb --- /dev/null +++ b/boards/arm/rzt2m_starterkit/rzt2m_starter_kit.yaml @@ -0,0 +1,15 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +identifier: rzt2m_starter_kit +name: Renesas RZ/T2M Starter Kit+ +type: mcu +arch: arm +ram: 2048 +toolchain: + - zephyr +supported: + - counter + - uart + - gpio +vendor: renesas diff --git a/boards/arm/rzt2m_starterkit/rzt2m_starter_kit_defconfig b/boards/arm/rzt2m_starterkit/rzt2m_starter_kit_defconfig new file mode 100644 index 00000000000..09e5e1d50a5 --- /dev/null +++ b/boards/arm/rzt2m_starterkit/rzt2m_starter_kit_defconfig @@ -0,0 +1,5 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_SOC_RENESAS_RZT2M=y +CONFIG_BOARD_RZT2M_STARTER_KIT=y diff --git a/dts/arm/renesas/rzt2m.dtsi b/dts/arm/renesas/rzt2m.dtsi new file mode 100644 index 00000000000..44e045014a9 --- /dev/null +++ b/dts/arm/renesas/rzt2m.dtsi @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2023 Antmicro + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "renesas,rzt2m-dev"; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-r52"; + reg = <0>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-r52"; + reg = <1>; + }; + }; + + arch_timer: timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + interrupt-parent = <&gic>; + }; + + soc { + compatible = "renesas,rzt2m-soc"; + + interrupt-parent = <&gic>; + + gic: interrupt-controller@94000000 { + compatible = "arm,gic-v3", "arm,gic"; + reg = <0x94000000 0x10000>, + <0x94100000 0x80000>; + interrupt-controller; + #interrupt-cells = <4>; + status = "okay"; + }; + + cpu0_atcm: memory@0 { + compatible = "mmio-sram"; + reg = <0x00000000 DT_SIZE_K(512)>; + }; + + cpu0_btcm: memory@100000 { + compatible = "mmio-sram"; + reg = <0x00100000 DT_SIZE_K(64)>; + }; + + sram0: memory@10000000 { + compatible = "mmio-sram"; + reg = <0x10000000 DT_SIZE_M(2)>; + }; + + gsc: gsc@c0060000 { + /* Global System Counter */ + compatible = "syscon"; + reg = <0xc0060000 0x30>; + reg-io-width = <4>; + }; + + prcrn: prcrn@80281a10 { + /* Non-safety area */ + compatible = "syscon"; + reg = <0x80281a10 0x10>; + reg-io-width = <4>; + }; + + prcrs: prcrs@81281a00 { + /* Safety area */ + compatible = "syscon"; + reg = <0x81281a00 0x10>; + reg-io-width = <4>; + }; + }; +}; diff --git a/soc/arm/renesas_rzt2m/CMakeLists.txt b/soc/arm/renesas_rzt2m/CMakeLists.txt new file mode 100644 index 00000000000..05fd66ec83c --- /dev/null +++ b/soc/arm/renesas_rzt2m/CMakeLists.txt @@ -0,0 +1,6 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +zephyr_sources( + soc.c + ) diff --git a/soc/arm/renesas_rzt2m/Kconfig b/soc/arm/renesas_rzt2m/Kconfig new file mode 100644 index 00000000000..fc2f6e81c4e --- /dev/null +++ b/soc/arm/renesas_rzt2m/Kconfig @@ -0,0 +1,15 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +config SOC_RENESAS_RZT2M + bool + +if SOC_RENESAS_RZT2M + +config SOC_PART_NUMBER_R9A07G075 + bool + +config SOC_PART_NUMBER + default SOC_PART_NUMBER_R9A07G075 + +endif # SOC_RENESAS_RZT2M diff --git a/soc/arm/renesas_rzt2m/Kconfig.defconfig b/soc/arm/renesas_rzt2m/Kconfig.defconfig new file mode 100644 index 00000000000..72f828d4351 --- /dev/null +++ b/soc/arm/renesas_rzt2m/Kconfig.defconfig @@ -0,0 +1,24 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +if SOC_RENESAS_RZT2M + +config SOC + default "renesas_rzt2m" + +config NUM_IRQS + default 994 + +config SYS_CLOCK_HW_CYCLES_PER_SEC + default 20000000 + +config FPU + default y + +config FLASH_SIZE + default 0 + +config FLASH_BASE_ADDRESS + default 0 + +endif # SOC_RENESAS_RZT2M diff --git a/soc/arm/renesas_rzt2m/Kconfig.soc b/soc/arm/renesas_rzt2m/Kconfig.soc new file mode 100644 index 00000000000..0275833b792 --- /dev/null +++ b/soc/arm/renesas_rzt2m/Kconfig.soc @@ -0,0 +1,12 @@ +# Copyright (c) 2023 Antmicro +# SPDX-License-Identifier: Apache-2.0 + +config SOC_RENESAS_RZT2M + bool "Renesas RZ/T2M MCU" + select ARM + select CPU_CORTEX_R52 + select CPU_HAS_ARM_MPU + select GIC_V3 + select GIC_SINGLE_SECURITY_STATE + select ARM_ARCH_TIMER + select SYSCON diff --git a/soc/arm/renesas_rzt2m/linker.ld b/soc/arm/renesas_rzt2m/linker.ld new file mode 100644 index 00000000000..3a016555ba9 --- /dev/null +++ b/soc/arm/renesas_rzt2m/linker.ld @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2023 Antmicro + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include diff --git a/soc/arm/renesas_rzt2m/soc.c b/soc/arm/renesas_rzt2m/soc.c new file mode 100644 index 00000000000..5a854090229 --- /dev/null +++ b/soc/arm/renesas_rzt2m/soc.c @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2023 Antmicro + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include +#include "soc.h" +#include + +static const struct device *const prcrn_dev = DEVICE_DT_GET(DT_NODELABEL(prcrn)); +static const struct device *const prcrs_dev = DEVICE_DT_GET(DT_NODELABEL(prcrs)); + +void rzt2m_unlock_prcrn(uint32_t mask) +{ + uint32_t prcrn; + + syscon_read_reg(prcrn_dev, 0, &prcrn); + prcrn |= PRC_KEY_CODE | mask; + + syscon_write_reg(prcrn_dev, 0, prcrn); +} + +void rzt2m_lock_prcrn(uint32_t mask) +{ + uint32_t prcrn; + + syscon_read_reg(prcrn_dev, 0, &prcrn); + prcrn &= ~mask; + prcrn |= PRC_KEY_CODE; + + syscon_write_reg(prcrn_dev, 0, prcrn); +} + +void rzt2m_unlock_prcrs(uint32_t mask) +{ + uint32_t prcrs; + + syscon_read_reg(prcrs_dev, 0, &prcrs); + prcrs |= PRC_KEY_CODE | mask; + + syscon_write_reg(prcrs_dev, 0, prcrs); +} + +void rzt2m_lock_prcrs(uint32_t mask) +{ + uint32_t prcrs; + + syscon_read_reg(prcrs_dev, 0, &prcrs); + prcrs &= ~mask; + prcrs |= PRC_KEY_CODE; + + syscon_write_reg(prcrs_dev, 0, prcrs); +} + +void rzt2m_enable_counters(void) +{ + const struct device *const dev = DEVICE_DT_GET(DT_NODELABEL(gsc)); + + syscon_write_reg(dev, 0, CNTCR_EN); +} + +static int rzt2m_init(void) +{ + /* Unlock the Protect Registers + * so that device drivers can access configuration registers of peripherals. + */ + /* After the device drivers are done, lock the Protect Registers. */ + + rzt2m_enable_counters(); + return 0; +} + +SYS_INIT(rzt2m_init, PRE_KERNEL_1, 0); diff --git a/soc/arm/renesas_rzt2m/soc.h b/soc/arm/renesas_rzt2m/soc.h new file mode 100644 index 00000000000..02bd03b69a1 --- /dev/null +++ b/soc/arm/renesas_rzt2m/soc.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2023 Antmicro + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef _SOC__H_ +#define _SOC__H_ + +/* Do not let CMSIS to handle GIC and Timer */ +#include +#define __GIC_PRESENT 0 +#define __TIM_PRESENT 0 + +/* Global system counter */ +#define CNTCR_EN BIT(0) +#define CNTCR_HDBG BIT(1) + +/* Safety area protect register */ +#define PRCRS_CLK BIT(0) +#define PRCRS_LPC_RESET BIT(1) +#define PRCRS_GPIO BIT(2) +#define PRCRS_SYS_CTRL BIT(3) + +/* Non-safety area protect register */ +#define PRCRN_PRC0 BIT(0) +#define PRCRN_PRC1 BIT(1) +#define PRCRN_PRC2 BIT(2) + +/* PRC Key Code - this value is required to allow any write operation + * to the PRCRS / PRCRN registers. + * See section 10.2 of the RZ/T2M User's Manual: Hardware. + */ +#define PRC_KEY_CODE 0xa500 + +void rzt2m_unlock_prcrn(uint32_t mask); +void rzt2m_lock_prcrn(uint32_t mask); +void rzt2m_unlock_prcrs(uint32_t mask); +void rzt2m_lock_prcrs(uint32_t mask); + +#endif /* _SOC__H_ */