From nobody Tue Feb 10 10:59:14 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38E9E321F5F for ; Tue, 3 Feb 2026 10:30:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770114640; cv=none; b=sqjS6ZE1gWsGrKiPHN1sktAmxrON7p2m4V1twzn5hoexo7AdxVs7w8m9bETMkiJF4YFmzMZAR0U3c7dbKT5wP1bnPx8WCwEA1kfcQZKtqxFgZW/6H1jEyTdgYfQVkERRPJfh2LF7zCLBskz4gqQKbQAVNQuL8Z2rT3vlSDty4+4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770114640; c=relaxed/simple; bh=HIa1lNGJGkMNWo1R856YSk3QF6nmps7KwcFmvWTHz5w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rd5/DOI90dK5yOv9FhjlHu/ZrbKH3+EwGx9crjV9aETjqbN6zR3xspN0TMXrhQwRWbzAyeBplj//PWuiMWWA7GzO3DUMXrsIbR8OK2LAw4xuS0WbQpzKpx8h6klI2vDOvoHYSz55pls3EdyYIzWdw9yuQFZmqnlapoex3xNx3ts= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Ffkznbvm; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ffkznbvm" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4806ce0f97bso46228955e9.0 for ; Tue, 03 Feb 2026 02:30:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770114636; x=1770719436; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=blXdSmm5RtfaqdLDW2tVMSMsTASh0LCe/QM5BibNqEY=; b=FfkznbvmRVsH743ifkXcow2euxAz17e/lKIVy6lLi8AL13ZZ/j/iSdd9iYdeu39IHv YDQZJPisusu60TE9e8hNrGrKjlW+koquQPBZLDxKSe1MIrOYKdPlQc+NfZj16hSG6LsI x+KcckqOTC0/F2XvSqluBu2a0js+qgw2o9Y3kcxvoEu4/Gkj61uMUMm6zOPCeHnSQNX8 1qFh4fuKaSvgam9N+6C8hMe9biP/M09OftyP7d1aPUv2GuSwNERRVzQUppw9t0N5sPw2 AvoW2x5CLiW6LRUwZpVBDghl9D7vfpWwWVlXFp+kY04AiAE7mD/0qKq/YmUhwubRZIKJ HzWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770114636; x=1770719436; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=blXdSmm5RtfaqdLDW2tVMSMsTASh0LCe/QM5BibNqEY=; b=QVongEPzjtKnT4Vq0u8YNxghdI3mcDwdX/OhwyZ8/BJsGKNyozNOjy9lWQouKfAxMV GXhzRpM8uMs1sj4tY52zhDW0KNLxFdvwVFQosSGgFVYoVjuac8OUM521saBk6GTDD2BZ y/iLGWgkas4SAM+pOvalNpKauEwRGQuOWnDP6Kc0paRLxJZ7qiSy35P47Aqcz50m9uco jg6IMpudkENVPuQL9I2sVvOSAPbqEq6U9EQEd0kx8xpR3GPNoYyudZlPYFjaStB9YLUZ xhqeNE/nJNIyJhZD4L6hcyPPnYhOg19Bh5tLKUFuxFJcn9uH3QcKjH5h3jH+0SRtoFkA oT2A== X-Forwarded-Encrypted: i=1; AJvYcCVJ0w4VzJrK+ee0GFIq61AAdXi1HYYGx5FZ62X1hWBxML0of1ERRz39/PTQUiuYE8sOW8+cIhOw2aOaMMQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwbfVKNc48UcPWD6a00sTTGmhUrdYSVqP4vL0cx4gCg9Kod/Zno hUJavWCpMEcTXExDIuGP14XtsfSd4J3TzM4J1ynpHU3hiDjXk4FOc31V X-Gm-Gg: AZuq6aJUf13ttYDKelpoc3FlLhjQk639qObhqxrN7/SATxlcN1IIPx0Odfjt9TYdm/b dJeeJwgcOpiX0ZdjcahgTgjkSJYrqW+0B1tgS6Xz94P8iDaW2HSI3JeK3uoQdWuWgZvLBpn6MZS rA9bZozLDdAZF++pHssVXSYSuMFkAkUHD0A+j9C+bQ9sSQ0U9vKUUzM/686Y5HkDHBla82iCw9F LXfLhZy5rrEG4bid6PV2swC54296YIOjVee4VmzRbA2wZrSn8UG4Du0pfogPVVHCeIO5fpiR5hT nBQ2xV3Ha75SrLOL3JuIekzKQRshIkc1aCu2Pbp47QuPkr5M5GQ7WseBN4SlhK595CSD57j3h1A 1IDpkrvA36/YOXXV22JyisNJ1olFxRUwGtnk6jJ1/zau2YguiaNLsaNM8Jl+pBY87ZrZv4ugTvx wJozABiQZj428N/SvWeA== X-Received: by 2002:a05:600c:8115:b0:477:b734:8c22 with SMTP id 5b1f17b1804b1-482db448774mr177547475e9.8.1770114636033; Tue, 03 Feb 2026 02:30:36 -0800 (PST) Received: from biju.lan ([2a00:23c4:a758:8a01:9cd9:f748:166d:55fc]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435e1323034sm53160961f8f.35.2026.02.03.02.30.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Feb 2026 02:30:35 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Magnus Damm Cc: Biju Das , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 04/10] soc: renesas: rz-sysc: Add SoC identification for RZ/G3L SoC Date: Tue, 3 Feb 2026 10:30:12 +0000 Message-ID: <20260203103031.247435-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260203103031.247435-1-biju.das.jz@bp.renesas.com> References: <20260203103031.247435-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das Add SoC identification for the RZ/G3L SoC using the System Controller (SYSC) block. Signed-off-by: Biju Das --- v2->v3: * No change. v1->v2: * No change. --- drivers/soc/renesas/Kconfig | 12 ++++ drivers/soc/renesas/Makefile | 1 + drivers/soc/renesas/r9a08g046-sysc.c | 91 ++++++++++++++++++++++++++++ drivers/soc/renesas/rz-sysc.c | 3 + drivers/soc/renesas/rz-sysc.h | 1 + 5 files changed, 108 insertions(+) create mode 100644 drivers/soc/renesas/r9a08g046-sysc.c diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig index 1e50dc7c31cd..26bed0fdceb0 100644 --- a/drivers/soc/renesas/Kconfig +++ b/drivers/soc/renesas/Kconfig @@ -390,6 +390,14 @@ config ARCH_R9A08G045 help This enables support for the Renesas RZ/G3S SoC variants. =20 +config ARCH_R9A08G046 + bool "ARM64 Platform support for R9A08G046 (RZ/G3L)" + default y if ARCH_RENESAS + select ARCH_RZG2L + select SYSC_R9A08G046 + help + This enables support for the Renesas RZ/G3L SoC variants. + config ARCH_R9A09G011 bool "ARM64 Platform support for R9A09G011 (RZ/V2M)" default y if ARCH_RENESAS @@ -474,6 +482,10 @@ config SYSC_R9A08G045 bool "Renesas System controller support for R9A08G045 (RZ/G3S)" if COMPIL= E_TEST select SYSC_RZ =20 +config SYSC_R9A08G046 + bool "Renesas System controller support for R9A08G046 (RZ/G3L)" if COMPIL= E_TEST + select SYSC_RZ + config SYS_R9A09G047 bool "Renesas System controller support for R9A09G047 (RZ/G3E)" if COMPIL= E_TEST select SYSC_RZ diff --git a/drivers/soc/renesas/Makefile b/drivers/soc/renesas/Makefile index 33d44d964d61..655dbcb08747 100644 --- a/drivers/soc/renesas/Makefile +++ b/drivers/soc/renesas/Makefile @@ -7,6 +7,7 @@ ifdef CONFIG_SMP obj-$(CONFIG_ARCH_R9A06G032) +=3D r9a06g032-smp.o endif obj-$(CONFIG_SYSC_R9A08G045) +=3D r9a08g045-sysc.o +obj-$(CONFIG_SYSC_R9A08G046) +=3D r9a08g046-sysc.o obj-$(CONFIG_SYS_R9A09G047) +=3D r9a09g047-sys.o obj-$(CONFIG_SYS_R9A09G056) +=3D r9a09g056-sys.o obj-$(CONFIG_SYS_R9A09G057) +=3D r9a09g057-sys.o diff --git a/drivers/soc/renesas/r9a08g046-sysc.c b/drivers/soc/renesas/r9a= 08g046-sysc.c new file mode 100644 index 000000000000..fd98df196d0a --- /dev/null +++ b/drivers/soc/renesas/r9a08g046-sysc.c @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * RZ/G3L System controller (SYSC) driver + * + * Copyright (C) 2026 Renesas Electronics Corp. + */ + +#include +#include +#include + +#include "rz-sysc.h" + +#define SYS_XSPI_MAP_STAADD_CS0 0x348 +#define SYS_XSPI_MAP_ENDADD_CS0 0x34c +#define SYS_XSPI_MAP_STAADD_CS1 0x350 +#define SYS_XSPI_MAP_ENDADD_CS1 0x354 +#define SYS_GETH0_CFG 0x380 +#define SYS_GETH1_CFG 0x390 +#define SYS_PCIE_CFG 0x3a0 +#define SYS_PCIE_MON 0x3a4 +#define SYS_PCIE_PHY 0x3b4 +#define SYS_I2C0_CFG 0x400 +#define SYS_I2C1_CFG 0x410 +#define SYS_I2C2_CFG 0x420 +#define SYS_I2C3_CFG 0x430 +#define SYS_I3C_CFG 0x440 +#define SYS_PWRRDY_N 0xd70 +#define SYS_IPCONT_SEL_CLONECH 0xe2c + +static bool rzg3l_regmap_readable_reg(struct device *dev, unsigned int reg) +{ + switch (reg) { + case SYS_XSPI_MAP_STAADD_CS0: + case SYS_XSPI_MAP_ENDADD_CS0: + case SYS_XSPI_MAP_STAADD_CS1: + case SYS_XSPI_MAP_ENDADD_CS1: + case SYS_GETH0_CFG: + case SYS_GETH1_CFG: + case SYS_PCIE_CFG: + case SYS_PCIE_MON: + case SYS_PCIE_PHY: + case SYS_I2C0_CFG: + case SYS_I2C1_CFG: + case SYS_I2C2_CFG: + case SYS_I2C3_CFG: + case SYS_I3C_CFG: + case SYS_PWRRDY_N: + case SYS_IPCONT_SEL_CLONECH: + return true; + default: + return false; + } +} + +static bool rzg3l_regmap_writeable_reg(struct device *dev, unsigned int re= g) +{ + switch (reg) { + case SYS_XSPI_MAP_STAADD_CS0: + case SYS_XSPI_MAP_ENDADD_CS0: + case SYS_XSPI_MAP_STAADD_CS1: + case SYS_XSPI_MAP_ENDADD_CS1: + case SYS_PCIE_CFG: + case SYS_PCIE_PHY: + case SYS_I2C0_CFG: + case SYS_I2C1_CFG: + case SYS_I2C2_CFG: + case SYS_I2C3_CFG: + case SYS_I3C_CFG: + case SYS_PWRRDY_N: + case SYS_IPCONT_SEL_CLONECH: + return true; + default: + return false; + } +} + +static const struct rz_sysc_soc_id_init_data rzg3l_sysc_soc_id_init_data _= _initconst =3D { + .family =3D "RZ/G3L", + .id =3D 0x87d9447, + .devid_offset =3D 0xa04, + .revision_mask =3D GENMASK(31, 28), + .specific_id_mask =3D GENMASK(27, 0), +}; + +const struct rz_sysc_init_data rzg3l_sysc_init_data __initconst =3D { + .soc_id_init_data =3D &rzg3l_sysc_soc_id_init_data, + .readable_reg =3D rzg3l_regmap_readable_reg, + .writeable_reg =3D rzg3l_regmap_writeable_reg, + .max_register =3D 0xe2c, +}; diff --git a/drivers/soc/renesas/rz-sysc.c b/drivers/soc/renesas/rz-sysc.c index ae727d9c8cc5..0d3b7f52f846 100644 --- a/drivers/soc/renesas/rz-sysc.c +++ b/drivers/soc/renesas/rz-sysc.c @@ -88,6 +88,9 @@ static const struct of_device_id rz_sysc_match[] =3D { #ifdef CONFIG_SYSC_R9A08G045 { .compatible =3D "renesas,r9a08g045-sysc", .data =3D &rzg3s_sysc_init_da= ta }, #endif +#ifdef CONFIG_SYSC_R9A08G046 + { .compatible =3D "renesas,r9a08g046-sysc", .data =3D &rzg3l_sysc_init_da= ta }, +#endif #ifdef CONFIG_SYS_R9A09G047 { .compatible =3D "renesas,r9a09g047-sys", .data =3D &rzg3e_sys_init_data= }, #endif diff --git a/drivers/soc/renesas/rz-sysc.h b/drivers/soc/renesas/rz-sysc.h index 88929bf21cb1..921ee0d26c47 100644 --- a/drivers/soc/renesas/rz-sysc.h +++ b/drivers/soc/renesas/rz-sysc.h @@ -46,6 +46,7 @@ struct rz_sysc_init_data { }; =20 extern const struct rz_sysc_init_data rzg3e_sys_init_data; +extern const struct rz_sysc_init_data rzg3l_sysc_init_data; extern const struct rz_sysc_init_data rzg3s_sysc_init_data; extern const struct rz_sysc_init_data rzv2h_sys_init_data; extern const struct rz_sysc_init_data rzv2n_sys_init_data; --=20 2.43.0