[PATCH 0/4] Add new Renesas RZ/V2H SoC

From: Prabhakar
Date: Mon Feb 19 2024 - 11:10:06 EST


From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>

Hi,

This patch series adds initial support for RZ/V2H{P} (R9A09G057) SoC
identification.

The RZ/V2H{P} SoC is equipped with a Quad 64-bit Arm Cortex-A55 core
(up to 1.8 GHz), dual 32-bit Arm Cortex R8 core (up to 800 MHz) and a
32-bit Arm Cortex M33 core (up to 200 MHz). It supports the below
IP blocks/Features:
- Boot
* Selectable boot CPU from Cortex-M33 or Cortex-A55
- Accelerated engines
* AI accelerator (dynamically reconfigurable processor for AI (DRP-AI))
* Dynamic re-configurable processor (DRP)
* 3D graphics engine (GE3D MALI-G31) (optional)
* Image signal processing (ISP MALI-C55) (optional)
* Image scaling unit (ISU)
* Video codec unit (VCU)
- On-chip SRAM and external memory interfaces
* On-chip share SRAM (6-Mbyte with ECC)
* 2-channel memory controller for LPDDR4-3200 or LPDDR4X-3200 with a
32-bit bus width
* xSPI interface
* SDHI (eMMC/SD - 3ch)
- Timers
* 32-bit general purpose timers (16 ch)
* 32-bit CMTW (8 ch)
* 32-bit GTM (8 ch)
* RTC
* WDT (4 ch)
- Communication/storage /network interface
* Ethernet (2 ch: 10/100/1000 BASE)
* USB2.0 (1 ch: Host/Function, 1 ch: Host only)
* USB3.2 Gen2 (2 ch: Host only)
* PCIe Gen3 (1/2/4 lanes)
* MIPI CSI2 (4 ch: 1/2/4 lanes)
* MIPI DSI (1ch: 1/2/4 lanes)
* CAN/CANFD (6 ch)
* SCI (10 ch: UART/SPI/I2C)
* SCIF (1 ch)
* SPI (3 ch)
* I2C (9 ch)
* I3C (1 ch)
- Audio
* Asynchronous sampling rate converter unit (SCU) (up to 192 kHz)
* DMAC for Audio (ADMAC) is available to transfer audio formats
of I2S with SCU.
* Flexible audio clock generator (ADG) for audio functions.
* I2S (TDM) input/output interfaces (half-duplex 10 ch.; full-duplex
5 ch.)
* SPDIF input/output interfaces (3 ch.)
* Pulse density modulation (PDM) input interfaces (6 ch.)
- Analogue/Digital converter and sensors
* 2.5 Msps 12-bit ADC (8 ch)
* Internal temperature sensors (2 ch)
- Security
* Hardware cryptographic engine (optional)

Logs:

~ # uname -ra
Linux rz/v2h 6.8.0-rc5+ #167 SMP PREEMPT Mon Feb 19 10:42:01 GMT 2024 aarch64 GNU/Linux
~ #
~ # for i in machine family soc_id revision; do echo -n "$i: ";cat /sys/devices/
soc0/$i; done
machine: Renesas EVK based on r9a09g057h44
family: RZ/V2H
soc_id: r9a09g057
revision: 0
~ # cat /proc/cpuinfo
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x2
CPU part : 0xd05
CPU revision : 0

processor : 1
BogoMIPS : 48.00
Features : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x2
CPU part : 0xd05
CPU revision : 0

processor : 2
BogoMIPS : 48.00
Features : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x2
CPU part : 0xd05
CPU revision : 0

processor : 3
BogoMIPS : 48.00
Features : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x2
CPU part : 0xd05
CPU revision : 0

~ # cat /proc/meminfo
MemTotal: 16240544 kB
MemFree: 16201748 kB
MemAvailable: 16073696 kB
Buffers: 0 kB
Cached: 2040 kB
SwapCached: 0 kB
Active: 0 kB
Inactive: 68 kB
Active(anon): 0 kB
Inactive(anon): 68 kB
Active(file): 0 kB
Inactive(file): 0 kB
Unevictable: 2040 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 84 kB
Mapped: 1456 kB
Shmem: 0 kB
KReclaimable: 2924 kB
Slab: 8720 kB
SReclaimable: 2924 kB
SUnreclaim: 5796 kB
KernelStack: 1056 kB
PageTables: 40 kB
SecPageTables: 0 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 8120272 kB
Committed_AS: 648 kB
VmallocTotal: 133141626880 kB
VmallocUsed: 1264 kB
VmallocChunk: 0 kB
Percpu: 352 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 32768 kB
CmaFree: 26624 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
~ # cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
11: 3426 66 291 243 GICv3 27 Level arch_timer
13: 0 0 0 0 GICv3 561 Level 11c01400.serial:rx err
14: 15 0 0 0 GICv3 564 Level 11c01400.serial:rx full
15: 1259 0 0 0 GICv3 565 Level 11c01400.serial:tx empty
16: 0 0 0 0 GICv3 562 Level 11c01400.serial:break
17: 82 0 0 0 GICv3 566 Level 11c01400.serial:rx ready
18: 0 0 0 0 GICv3 563 Level 11c01400.serial:tx end
IPI0: 5 20 8 23 Rescheduling interrupts
IPI1: 530 204 91 155 Function call interrupts
IPI2: 0 0 0 0 CPU stop interrupts
IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts
IPI4: 0 0 0 0 Timer broadcast interrupts
IPI5: 0 0 0 0 IRQ work interrupts
Err: 0
~ #

Cheers,
Prabhakar

Lad Prabhakar (4):
dt-bindings: soc: renesas: Document Renesas RZ/V2H{P} SoC variants
dt-bindings: arm: renesas: Document Renesas RZ/V2H{P} System
Controller
soc: renesas: Add identification support for RZ/V2H SoC
arm64: defconfig: Enable R9A09G057 SoC

.../soc/renesas/renesas,r9a09g057-sys.yaml | 59 +++++++++++++++++++
.../bindings/soc/renesas/renesas.yaml | 8 +++
arch/arm64/configs/defconfig | 1 +
drivers/soc/renesas/Kconfig | 5 ++
drivers/soc/renesas/renesas-soc.c | 20 ++++++-
5 files changed, 92 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/soc/renesas/renesas,r9a09g057-sys.yaml

--
2.34.1