From nobody Mon Feb 9 19:53:08 2026 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (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 824C72D63E8 for ; Wed, 28 Jan 2026 11:30:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769599845; cv=none; b=rg+Tyu9eEm91rMo/c8E3yQdttkuqzDUDv3gcpHVQkpqjsojO7JkfdxumqE3RMTVVDObmeSvumssk4sWL+3fXyhuLJu00hn8x+TDj1aPnEtvOLATu1rbkMFlauHMZ6qackucr3o1aGs/PyYg+00HyhpdegrCyLgZ0cIi4BDk10U0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769599845; c=relaxed/simple; bh=94Yp11geDS09/M48mK3HP68FwYsNapK0Mf3HeWD8UTU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZtNNVohSGL6C2qhzA3DVQmxtNzbpOOj3q7MvFY3kPOV9l7JZIwoSzh6HBcIihQWM8bP8EqWHeFfQ0OkHaYpRMt0wmnD85rRKZMSsB71VnOEMnhmysXNDLuahMsE4fTaGyPG3O4+GsS/t62x9R3oqsqkW1aUfezr0+ainckUS3r8= 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=I9Lgu0c3; arc=none smtp.client-ip=209.85.218.43 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="I9Lgu0c3" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-b885e8c6700so924798766b.0 for ; Wed, 28 Jan 2026 03:30:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769599839; x=1770204639; 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=H7HjnTT44kC0vsx/rpsMq/SbWTo0wKN0mTmo1e7BWPc=; b=I9Lgu0c3kv5fwUYTLFSDTFE7TLbcZb5LA9CS9giyJFhh/x/YauZPI/T47e50zHotl5 r/JNrEAv3jToayHrgdyhldVoEvbxT+db/F318SEYHARjQwgJ7C2njkYfniYR7xiydN2N jjJDGxkWQir39Sr9mMCakkK+SZxSCF0ILesdCPmo54E/8Ng3Xg+syzCkifi3yN+jiC4e RX0+BFJ1Q8mORe6TEj7o2OecRi8x27dmfK+3HEZ/9qGxYulhP2srgxPiByJPC1KjvoXc ok6Z5wRcgOLK+DXS+iY3X5xdUdN+w+Rh6KA8tRf4//TZDWWQ2kS15bBAwProvw+D2G0u GI9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769599839; x=1770204639; 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=H7HjnTT44kC0vsx/rpsMq/SbWTo0wKN0mTmo1e7BWPc=; b=wp6Cbby3kcFIYqgB0xKe/bekaB4idDm4WioUMHP7R4yxoRJWiyahy+aXLqQb1HrjUp ZBEe11ubnTP7MXFzXdhjuuhkW8aWt9ahRRsBz2rWrfF7x8tUar0H1plEHr9/XS2Fn/iC cpxiCm6GqCWAiU+3tynXpCQcH6eN1ccCfO8M1MqvvSAiFYJqCSMtICQSuJPTZz0iMSE8 b52HcSBDWveqNXwsID8hgoPRAGLyWNI8zHbR/pCDOZGNeG2fUHf2ZfgbveKGyF3jmpx0 wMG/vN5m+s7lPcN4ilAkCgJD41O5A3yzz/bilzOQKAD3S0EPDxcQYTMx2zofLOB6dX1D aclg== X-Forwarded-Encrypted: i=1; AJvYcCXJyF+qU7HpnEFkKdNHk2yY2XJczvRvZiAnEKtJjjHY6seR4eIf0XMQRHU3BFFMM74/t1cEJKW7evSUFzU=@vger.kernel.org X-Gm-Message-State: AOJu0YxFowUgnuxkT7zJvuPQ50wuc4stcCRojP1nGo15MmfaXTuCkeiT LpYVMQy/NzMQzdOrOibnX0V3yPAGi+xuC5k+t2UMK+4EE31QmMxQEa3T X-Gm-Gg: AZuq6aLjRTcpOZvc9098kvcf9rhiA5jqQRBiJIzjjLA1dnb3hTofO2MwmYgUV13ueZ9 q63+LyhbH0UwasxSd/S7p4gsq95SZvu1BfmFvtoFa+fGT/Ayqg/E5+HkRuQHnQ1VMY9xQLllb/I 1NzVJG5OXwsUyHhOpbU3z5edjLR95QjqFXpINLR8hPSVcrHoam4GGSH8gh3uOOaOZctMsppZpFD RCG6Zx8fpht3pVCItO9Y/TkmUkUebt+vm9mbdIlLi52qdp12nnTabKBP7snuI5RlhvCb8og0sU+ p6N5MArypgyLS72fOOKXHciIBN1Jay5XPeCJ/Zp6nvDF8EVQciKOhyoI42PlTBNAOV1oEi7lxxP 5gIxk/sKYnYfx75RXL1A1QcH26ezygDiX0NVMnJVD3rkpvqxdSsjr1pdpawho8z5MihqJcEbsEr h2GY5Jg5msKD3Kst00lhKBgC0N4PKE5q/IB/w= X-Received: by 2002:a17:906:6a21:b0:b79:d24b:474d with SMTP id a640c23a62f3a-b8dab2d9bc9mr341625066b.16.1769599839273; Wed, 28 Jan 2026 03:30:39 -0800 (PST) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:e29d:6e0e:72c1:d15d]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8dbf1baa42sm114400366b.46.2026.01.28.03.30.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jan 2026 03:30:39 -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 v2 04/10] soc: renesas: rz-sysc: Add SoC identification for RZ/G3L SoC Date: Wed, 28 Jan 2026 11:30:23 +0000 Message-ID: <20260128113032.337231-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260128113032.337231-1-biju.das.jz@bp.renesas.com> References: <20260128113032.337231-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 --- 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