[RFC PATCH v3 0/9] Renesas RZ/N1 SoC initial support

Ralph Siemsen
2023-02-22T16:10:28Z

The RZ/N1 is a family of SoC devices from Renesas [1], featuring ARM
Cortex-A7 and/or Cortex-M3 CPU, industrial ethernet protocols,
integrated Ethernet switch, and numerous peripherals.

This is a first step in upstreaming support for the RZ/N1 family.
Currently it contains just enough to boot to the u-boot prompt.
Additional patches will follow to support flash, SD, USB, Ethernet, etc.

This work is based on a vendor-supplied u-boot 2017.01 tree [2],
which supports several eval boards, none of which I have access to.
Instead development has been done on a Schneider RZN1 board, which
is fairly similar to the Renesas RZ/N1D-DB Demo board.

[1] https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/rzn1
[2] https://github.com/renesas-rz/rzn1_u-boot/tree/rzn1-stable

Changes in v3:
- many tweaks to clock driver based on reviewer feedback
- rebased to u-boot v2023.04-rc2
- reviewer suggestions added to spkgimage.c
- many small cleanups, checkpatch, FIXMEs resolved

Changes in v2:
- rewrote the stand-alone spkg_utility to integrate into mkimage

Ralph Siemsen (9):
ARM: armv7: add non-SPL enable for Cortex SMPEN
clk: renesas: prepare for non-RCAR clock drivers
clk: renesas: add R906G032 driver
pinctrl: renesas: add R906G032 driver
ram: cadence: add driver for Cadence EDAC
dts: basic devicetree for Renesas RZ/N1 SoC
ARM: rzn1: basic support for Renesas RZ/N1 SoC
board: schneider: add RZN1 board support
tools: spkgimage: add Renesas SPKG format

arch/arm/Kconfig | 17 +
arch/arm/Makefile | 1 +
arch/arm/cpu/armv7/Kconfig | 5 +
arch/arm/dts/r9a06g032-rzn1-snarc.dts | 51 +
arch/arm/dts/r9a06g032.dtsi | 226 ++++
arch/arm/mach-rzn1/Kconfig | 32 +
arch/arm/mach-rzn1/Makefile | 3 +
arch/arm/mach-rzn1/cpu_info.c | 19 +
board/schneider/rzn1-snarc/Kconfig | 18 +
board/schneider/rzn1-snarc/Makefile | 3 +
board/schneider/rzn1-snarc/ddr_timing.c | 140 +++
.../jedec_ddr3_2g_x16_1333h_500_cl8.h | 399 ++++++
board/schneider/rzn1-snarc/rzn1.c | 39 +
board/schneider/rzn1-snarc/spkgimage.cfg | 26 +
boot/image.c | 1 +
configs/rzn1_snarc_defconfig | 21 +
doc/mkimage.1 | 45 +
drivers/clk/renesas/Kconfig | 8 +-
drivers/clk/renesas/Makefile | 6 +-
drivers/clk/renesas/r9a06g032-clocks.c | 1077 +++++++++++++++++
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/renesas/Kconfig | 7 +
drivers/pinctrl/renesas/Makefile | 1 +
drivers/pinctrl/renesas/pinctrl-rzn1.c | 379 ++++++
drivers/ram/Kconfig | 1 +
drivers/ram/Makefile | 2 +
drivers/ram/cadence/Kconfig | 12 +
drivers/ram/cadence/Makefile | 1 +
drivers/ram/cadence/ddr_async.c | 311 +++++
drivers/ram/cadence/ddr_ctrl.c | 414 +++++++
drivers/ram/cadence/ddr_ctrl.h | 175 +++
include/configs/rzn1-snarc.h | 17 +
include/dt-bindings/clock/r9a06g032-sysctrl.h | 148 +++
include/dt-bindings/pinctrl/rzn1-pinctrl.h | 141 +++
include/image.h | 1 +
tools/Makefile | 1 +
tools/spkgimage.c | 330 +++++
tools/spkgimage.h | 45 +
38 files changed, 4120 insertions(+), 4 deletions(-)
create mode 100644 arch/arm/dts/r9a06g032-rzn1-snarc.dts
create mode 100644 arch/arm/dts/r9a06g032.dtsi
create mode 100644 arch/arm/mach-rzn1/Kconfig
create mode 100644 arch/arm/mach-rzn1/Makefile
create mode 100644 arch/arm/mach-rzn1/cpu_info.c
create mode 100644 board/schneider/rzn1-snarc/Kconfig
create mode 100644 board/schneider/rzn1-snarc/Makefile
create mode 100644 board/schneider/rzn1-snarc/ddr_timing.c
create mode 100644 board/schneider/rzn1-snarc/jedec_ddr3_2g_x16_1333h_500_cl8.h
create mode 100644 board/schneider/rzn1-snarc/rzn1.c
create mode 100644 board/schneider/rzn1-snarc/spkgimage.cfg
create mode 100644 configs/rzn1_snarc_defconfig
create mode 100644 drivers/clk/renesas/r9a06g032-clocks.c
create mode 100644 drivers/pinctrl/renesas/pinctrl-rzn1.c
create mode 100644 drivers/ram/cadence/Kconfig
create mode 100644 drivers/ram/cadence/Makefile
create mode 100644 drivers/ram/cadence/ddr_async.c
create mode 100644 drivers/ram/cadence/ddr_ctrl.c
create mode 100644 drivers/ram/cadence/ddr_ctrl.h
create mode 100644 include/configs/rzn1-snarc.h
create mode 100644 include/dt-bindings/clock/r9a06g032-sysctrl.h
create mode 100644 include/dt-bindings/pinctrl/rzn1-pinctrl.h
create mode 100644 tools/spkgimage.c
create mode 100644 tools/spkgimage.h

--
2.25.1