From nobody Mon Feb 9 19:37:55 2026 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (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 8F10B42EED0 for ; Tue, 20 Jan 2026 12:52:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768913564; cv=none; b=ZqAza66LziF/+0tHkvXHQM/+PH4laq16vhXd29gaWoNZhOneaX4MaAc0LiLAvA84kbsDeHmcQH0AcvGHGzXPNJ1MERQoJToIkbM44znEmfSGtXAh6KepwEFL53fu8wH9Em2+tSKpK0tg3X5Tt9l5RrhjiNRqYuyt1lwqa1SEdnU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768913564; c=relaxed/simple; bh=PLQFcz6fBg/O5DbM/xCTgK/S2z2lI+sDie+DPiBxM7g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jt+KN4huHtmkLyfT4vFqx1hh+PCENQQ/1HLAB9TnvN0Vi/BehO0fOqs3OBrjX62BGmTVaMCjDU2Nho2u3tTZDXbhlXV+vcoyglmAAdWcKd7evP2ixZoonXXOdh9uXPdcBMCJXa5dAQWvZmeiZxrR5hyctqGBGDf60R3+fc8DL34= 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=JGKQxzSy; arc=none smtp.client-ip=209.85.208.51 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="JGKQxzSy" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-65807a2012fso550446a12.0 for ; Tue, 20 Jan 2026 04:52:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768913559; x=1769518359; 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=ubul1lntS+me4eq8/yn7DWd1axBIj6sOw7q+IlvVeQg=; b=JGKQxzSyTvKq4FBm8fmHxwiz2XuVFRnd7m/r44a5QfpEghjbLSIlY4nTEjNKwnkzKa XNHA+2jhGaCfvWWx/xfrCTKMtHIrJB0TTFFzzxyzLKLe59nPI5IatGThCbnjJLgi1fMa 5HJ5HxB65Pu4EKBUHT5Am+h7bYkugCb/WwlDJb2jGo85S/iSmkd5Dv1wQA8EvqDUnTMu YwFm4XAOn/xM8V821+pcytSBeumM/Jg/fztBVrY9zjtwrS81rt1d7lkb2B1ku4ypkw1f x5qevr6nYAUD+PQoehuUkZq2SFewYlqlzC40H7HcB0+BkQ4zKLLuXMkVjirGdc5j//oY DFWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768913559; x=1769518359; 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=ubul1lntS+me4eq8/yn7DWd1axBIj6sOw7q+IlvVeQg=; b=ahkh3k48eARJ3HZ7X5gOnQy2ZYATuh9wsmumuiZYN5YT/o4FdBmwq1vCS4lvdrmdXk HdleZTGHwjhV/+4cNQ7nSR69Z1lz20wFZhUdHTX2Sa4lDaMGvyv6KxeYpMGs8jpSRZA/ m5L05wbPgQgp4eiEhP3SzvbZ8rmCb1Q0u32S7HqKtvisw0Nw9F/ZScRQO4cKwMs345mg NuQyfTShXK87dq4He/TqhMJk3IxijfonjKeQOMPKpQEQyNRDQ9GXJ+Lz4GSopmQMRRh/ OYaIgAwayfbrv/hjaKQHE4+UqPWDNMnB755QfGDJJ+PwF/C2FhXkySr4Cy9N9i5TcPZs f2fg== X-Forwarded-Encrypted: i=1; AJvYcCXtMaPsd5hAhT2UpCIDi0BXC67J4IUh1euoiLiRLE/BbwALKhJ3reNe5i2HcK562GXy0ki1lRx4e2mz9zw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz85MWuV7UhVJ70xqNoS4Ph9w3ZEwDF8wd9Qei7IuVlqYW5csJ2 A2XhdUpyow5DDDHa5JunQCg6I8Gi8K56CHgdwcuoIFhKVJFQw60bCJPi X-Gm-Gg: AZuq6aIEhfM0tI84p63i/w0tVYUVDc6FszOxRTqaCzXE7bpAQVbBkWgrriM7Z/W9WMW y2dPudljcXjB5+PgAPNGS03MXnUyjMTrHztb2nB3CphISOWgGiFPZcUHcevPU5VizQmqLS6ci6e xEpaG6A3PTsevZX2JHO2Up6FJGAbiWSyyRowa98yRfcqP8nIbJ7EumJixff4LVLjsUX6ULo01Pw wyg6DxgaNUfMYGiw3u+4hJKCfjyG32TmcHQoQ3MCcwd4CQMwRgJrXnkbE+wY7vev9T0JvdlPMBk wln35VZJ131aY0uh9o2OCeLsGp/5PkUNBRYJ2n9Ay8Afs7uFJ9dcry35eQYe06Yhou9+SSdDT6f 0C+vdzu/DS4xEbWkmGLVT9SOEphApQttoqvpa+r0Esjpy/isRxuVwlusgSDfdGmDC4JMZA3c8Sc p1r3PV2V6psjUZhyB/Id8lN86PgX/Ev29Aj+0= X-Received: by 2002:a17:907:fd17:b0:b87:bb45:bd58 with SMTP id a640c23a62f3a-b88002927b8mr183104566b.24.1768913558859; Tue, 20 Jan 2026 04:52:38 -0800 (PST) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:c8c7:2ef6:8ac5:5556]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b87959ca32esm1420626066b.41.2026.01.20.04.52.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jan 2026 04:52:38 -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 06/12] soc: renesas: rz-sysc: Add SoC identification for RZ/G3L SoC Date: Tue, 20 Jan 2026 12:52:17 +0000 Message-ID: <20260120125232.349708-7-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120125232.349708-1-biju.das.jz@bp.renesas.com> References: <20260120125232.349708-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 --- 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