Message ID | 20240208124300.2740313-1-claudiu.beznea.uj@bp.renesas.com |
---|---|
Headers |
Return-Path: <linux-kernel+bounces-58072-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:50ea:b0:106:860b:bbdd with SMTP id r10csp136618dyd; Thu, 8 Feb 2024 04:44:24 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXqjUFa0ngsnZQ5lp2GahA2UP35vE0vC6/y0eXOhnv5jnVFf9TCuLv1lRK8BEK+ZFrurxcs1Dh1TpfLl+AX6zVkvfrR0w== X-Google-Smtp-Source: AGHT+IGw6vyJBqfBaqvs9RmZdTFFxKXzXZOOwZCGF2BBSxFyD4YNw7YgvpMZrm0jHUXLlR/2KFL6 X-Received: by 2002:a17:906:196:b0:a38:7027:15a8 with SMTP id 22-20020a170906019600b00a38702715a8mr3615542ejb.60.1707396264371; Thu, 08 Feb 2024 04:44:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707396264; cv=pass; d=google.com; s=arc-20160816; b=xiC8fnp7n36Hz2C0H5cJGNCjxGWE5HO3RouMUIWGZJ9ZMq5iQxflwovCSQu8TjE1y7 Tx/fW7/LrxZ73aRZgh4to1iRu52tgpNdYuBsjWm3EUMgCB3/ga+kLKcoovveapwOgstg xerOFkaSo9JdNRbkEKchFULThD4WNuYVObYTHGLWlNjNSEWUOciZHHVjGgfGcViZ0SdC kksmzfm6WN99lpNKUIViO25H+ycxngJQXsTpYER/WajUn4aAn/5ZWVxqbW13js6+uQCf FUv5Gog8Rf+Y4vcAJVL+ZJUiMQ35cEPevHhYDD1u8e/qrOY1kp9SQcf5S1ItsBMxGwST P2mQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=euiJLfBajM/ZFVIDyhIV5fjjCmiMvfIZ0T4coXTdvWE=; fh=umi4M+ZwRLPJIBsOWE5Zo/Hk4mINNemyVWEcJnwbRR8=; b=cfOYCC0c7+AvMgPAn3+vc1yRjriT9DPmCBZXSvZ38O/i2PSpjFEdcSIejC2wit4PYq YiCbIbk9W3a2v5oFw+aq2pBcnoUGDg2DLV3fFO3ciTYu3FNiaN5+io026vX77kQdxxsO KAPI7G7fZ5hd/M/tOw+ZJd2WiXw7aJyH+GDmmKHpc4FV4OJXmlGoFVJefHexYeBZmxjP gDOEum2wHw02f26mxxAHpdxMQ/zIQj1R73gqjtYZmlJLTucrxwjSmHtd+mBK4TIXLBlw y9dYM8fpdiszzDRSTBwXnVvHpOhemWMz8bYC6qGQgZzIsrBj04RwZ1X4ucYnboAOejhL jGFw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b="d85Br8P/"; arc=pass (i=1 spf=pass spfdomain=tuxon.dev dkim=pass dkdomain=tuxon.dev); spf=pass (google.com: domain of linux-kernel+bounces-58072-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-58072-ouuuleilei=gmail.com@vger.kernel.org" X-Forwarded-Encrypted: i=2; AJvYcCVh0KVNLzHX6iDs3nDfYbQEC8vZcDNpQ/Oxv6OtiV7EGawV9tBnvwmClJk/tOFInmS+d16CRVd/yFLeOOKtaqyMTn30SA== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id i10-20020a170906114a00b00a35a4074919si3265eja.450.2024.02.08.04.44.24 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Feb 2024 04:44:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-58072-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b="d85Br8P/"; arc=pass (i=1 spf=pass spfdomain=tuxon.dev dkim=pass dkdomain=tuxon.dev); spf=pass (google.com: domain of linux-kernel+bounces-58072-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-58072-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id C32EC1F236ED for <ouuuleilei@gmail.com>; Thu, 8 Feb 2024 12:44:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 940672EB1A; Thu, 8 Feb 2024 12:43:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b="d85Br8P/" Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (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 843EE6E2DE for <linux-kernel@vger.kernel.org>; Thu, 8 Feb 2024 12:43:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707396227; cv=none; b=HC6OT0JMW6dYnUGy7J7XMTQhvSOU0w4i1azO61kqVp4kp37FCr8p3/yLK4oRyjNdqZZybcIWhYL/Be8J9QxlSmU5gYPVP10+Tgj3KkTBDP+aUA1/myr/zDazUDqgUHOThC89or71zJUfzjfgKyA4lTrUK+G7WbP8Sp0gRYNwCHU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707396227; c=relaxed/simple; bh=4YzyhUoPY0n5wlQMtJwSrkS3+ZjUeV1jFH7EHUBufPs=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=AoEzMoTiEBLzsJoLFkIGinKJnRcXnZs9SwLL8/XxB34ijZHnOW2MzPdl63/dNcK9QTqJN4+FnBkMpuvSoDzSijXlM9j4QR2w3yRnHHozezyij2wFVZPEyXMpHJa00HIzPHe+hPQm1HorVJvXfyDm5xLJ9/ItokDokoGJln4DWTQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev; spf=pass smtp.mailfrom=tuxon.dev; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b=d85Br8P/; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxon.dev Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-51168572090so2916982e87.0 for <linux-kernel@vger.kernel.org>; Thu, 08 Feb 2024 04:43:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1707396222; x=1708001022; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=euiJLfBajM/ZFVIDyhIV5fjjCmiMvfIZ0T4coXTdvWE=; b=d85Br8P/U/eGstYU94yYzf4n4Ulgb6UAeu9slFgkiVcV4EoMfqJvRZ8zKT0WrRyzxt gikABKcEOU3sPkNMo4Bv0n9F6wqmHdQRt+e/6SlQ1eEDWBQ1/c1oWMN3Q3DYG7w+O/U6 akGmOq7hLt+7HEVKbJcIkhiHgFCrrYEbsbzgZPDAGpREEn1NOFJC0gheBGEdhV2RgUNO 0VPZbIO0P3ic77MbayIsXDvOJWg1YPNIzXvehiJRm1adLiR9ojah7B4DZpHYW7ZArK3h 0L6HFLyWh5CzL/i3rnCsfAck3dLa+B9kG6J+UpScbvepTAVXJoBTnufd6j7LeX7KVKpM Ak+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707396222; x=1708001022; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=euiJLfBajM/ZFVIDyhIV5fjjCmiMvfIZ0T4coXTdvWE=; b=Hs1OnHg87/NkIjMNKC2xCtSlmcU5eOlvyRXVaBs6r8a2tthkFxoozDIth1BQgKxjYA Y39Z4XOnOiM8iQOSiYdWmOg7A2bUdL56uEKo4CtYeGO9W7dF0Te1xcBu7t7CrW1RiZpN MIngmuv1DU80OO/DNS5dlSV9Nw9PVj/IrE83XJBXKZo0jSMl5pGKn4xY0UR8AHEBuxs4 qXVmETZvJBWNQ7Pad6SBCK8fat8VTPCFAcxnh/1KS7BnavLDZivyN6j/IpAMPuQwY/+B gVPFG6Z6tXgyP+rvyHAgpyP60b1juU2AWdJEnVzgehFw49PZsahWebROLs7kHx99B6Dl 1DmA== X-Forwarded-Encrypted: i=1; AJvYcCXEono4sIlrJBMRc2OawEvljT7l6BLiMdyUWMroEGoIvKj7vj4WV4DIgpcUBQh4ir/jboRpIT/P8HQgljSGDAqAwM8AqxT7mr+das8O X-Gm-Message-State: AOJu0YyrnKyqQZ/4gvq8Ty179Cg+sh3DpJYpcHBNEqQzgsa9g5Kuh5iF ayQCWynHCNsPoLWVnvfQvZp+MwFO9TC+noTnQ3iinFyDBIi/8WzGH15Nb4Kw6YY= X-Received: by 2002:a05:6512:33cc:b0:511:5724:dcd1 with SMTP id d12-20020a05651233cc00b005115724dcd1mr7734788lfg.11.1707396222387; Thu, 08 Feb 2024 04:43:42 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWr+/IOtPfh0lK3AG+Z2s/nxleo8pO7DNwgvhzMfvQOlQeo0BQH94pIvapJvPkZXT7ludRt0V+zlZx62qzOHVY6SOOcwiztRENMNS5ttT/QzvChrqrk00aJIsWx4Vt2c8wBXhfHRFyHj0pfjdVpU7qL9XL3h2uHIjX+E7WNTj0cpaKRyvNm0Ja/l6yLSd2P7yTY4IQaZ92erU6P8uUKz8hmle7apJ+YzTGyWowtGq1LPEZgwSEAbqbd6qmrGfD82zRqVopXiTjBd9o1q/O2VuW2925SPB81j28coIaRlNJGyYSaOyoJnO+6WJv+jOAu1Al7abQ5TRMvglgi01KlUN7O4UzNnBLcnBifcAp4n9tiE8pt9WciwX8RLricE7vehrbXPiZO0hUKk0+70QjmIIMB6VblERZovT9GO0WUuFeZ4mBpnldemseNCZvJRdbwuapgoOjy/ZCYeiCUWltUFkgtTHU6x32rHfEft9nTEJwO7R5uAH93iOlpTFw5ClvujCf+oGbGn2ihPSlUFlgFBJC1rQymxDr6CZ5hqwN/a9/82ti6abyqsOL/jMmqXHulG9k= Received: from claudiu-X670E-Pro-RS.. ([82.78.167.45]) by smtp.gmail.com with ESMTPSA id o13-20020a05600c4fcd00b0041047382b76sm790244wmq.37.2024.02.08.04.43.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Feb 2024 04:43:42 -0800 (PST) From: Claudiu <claudiu.beznea@tuxon.dev> X-Google-Original-From: Claudiu <claudiu.beznea.uj@bp.renesas.com> To: geert+renesas@glider.be, mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, magnus.damm@gmail.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, claudiu.beznea@tuxon.dev, Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Subject: [PATCH 00/17] clk: renesas: rzg2l: Add support for power domains Date: Thu, 8 Feb 2024 14:42:43 +0200 Message-Id: <20240208124300.2740313-1-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.39.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790334745035545441 X-GMAIL-MSGID: 1790334745035545441 |
Series |
clk: renesas: rzg2l: Add support for power domains
|
|
Message
claudiu beznea
Feb. 8, 2024, 12:42 p.m. UTC
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Hi,
Series adds support for power domains on rzg2l driver.
RZ/G2L kind of devices support a functionality called MSTOP (module
stop/standby). According to hardware manual the module could be switch
to standby after its clocks are disabled. The reverse order of operation
should be done when enabling a module (get the module out of standby,
enable its clocks etc).
In [1] the MSTOP settings were implemented by adding code in driver
to attach the MSTOP state to the IP clocks. But it has been proposed
to implement it as power domain. The result is this series.
Along with MSTOP functionality there is also module power down
functionality (which is currently available only on RZ/G3S). This has
been also implemented through power domains.
The DT bindings were updated with power domain IDs (plain integers
that matches the DT with driver data structures). The current DT
bindings were updated with module IDs for the modules listed in tables
with name "Registers for Module Standby Mode" (see HW manual) exception
being RZ/G3S where, due to the power down functionality, the DDR,
TZCDDR, OTFDE_DDR were also added, to avoid system being blocked due
to the following lines of code from patch 7/17.
+ /* Prepare for power down the BUSes in power down mode. */
+ if (info->pm_domain_pwrdn_mstop)
+ writel(CPG_PWRDN_MSTOP_ENABLE, priv->base + CPG_PWRDN_MSTOP);
Domain IDs were added to all SoC specific bindings to avoid breaking
dt schema validation failures.
If the proposed dt-binding update is good for you, please let me know
if you want me to also update the individual dt schemas to reflect
the newly introduced power domain IDs in schema examples, if any.
Thank you,
Claudiu Beznea
[1] https://lore.kernel.org/all/20231120070024.4079344-4-claudiu.beznea.uj@bp.renesas.com/
Claudiu Beznea (17):
dt-bindings: clock: r9a07g043-cpg: Add power domain IDs
dt-bindings: clock: r9a07g044-cpg: Add power domain IDs
dt-bindings: clock: r9a07g054-cpg: Add power domain IDs
dt-bindings: clock: r9a08g045-cpg: Add power domain IDs
dt-bindings: clock: r9a09g011-cpg: Add always-on power domain IDs
dt-bindings: clock: renesas,rzg2l-cpg: Update #power-domain-cells =
<1>
clk: renesas: rzg2l: Extend power domain support
clk: renesas: r9a07g043: Add initial support for power domains
clk: renesas: r9a07g044: Add initial support for power domains
clk: renesas: r9a08g045: Add support for power domains
clk: renesas: r9a09g011: Add initial support for power domains
arm64: dts: renesas: rzg3s-smarc-som: Guard the ethernet IRQ GPIOs
with proper flags
arm64: dts: renesas: r9a07g043: Update #power-domain-cells = <1>
arm64: dts: renesas: r9a07g044: Update #power-domain-cells = <1>
arm64: dts: renesas: r9a07g054: Update #power-domain-cells = <1>
arm64: dts: renesas: r9a08g045: Update #power-domain-cells = <1>
arm64: dts: renesas: r9a09g011: Update #power-domain-cells = <1>
.../bindings/clock/renesas,rzg2l-cpg.yaml | 4 +-
arch/arm64/boot/dts/renesas/r9a07g043.dtsi | 84 +++----
arch/arm64/boot/dts/renesas/r9a07g043u.dtsi | 6 +-
arch/arm64/boot/dts/renesas/r9a07g044.dtsi | 100 ++++----
arch/arm64/boot/dts/renesas/r9a07g054.dtsi | 100 ++++----
arch/arm64/boot/dts/renesas/r9a08g045.dtsi | 20 +-
arch/arm64/boot/dts/renesas/r9a09g011.dtsi | 28 +--
.../boot/dts/renesas/rzg3s-smarc-som.dtsi | 4 +
arch/riscv/boot/dts/renesas/r9a07g043f.dtsi | 2 +-
drivers/clk/renesas/r9a07g043-cpg.c | 9 +
drivers/clk/renesas/r9a07g044-cpg.c | 13 +
drivers/clk/renesas/r9a08g045-cpg.c | 27 +++
drivers/clk/renesas/r9a09g011-cpg.c | 9 +
drivers/clk/renesas/rzg2l-cpg.c | 227 ++++++++++++++++--
drivers/clk/renesas/rzg2l-cpg.h | 68 ++++++
include/dt-bindings/clock/r9a07g043-cpg.h | 48 ++++
include/dt-bindings/clock/r9a07g044-cpg.h | 58 +++++
include/dt-bindings/clock/r9a07g054-cpg.h | 58 +++++
include/dt-bindings/clock/r9a08g045-cpg.h | 70 ++++++
include/dt-bindings/clock/r9a09g011-cpg.h | 3 +
20 files changed, 752 insertions(+), 186 deletions(-)
Comments
Hi Claudiu, Thanks for the patch. > -----Original Message----- > From: Claudiu <claudiu.beznea@tuxon.dev> > Sent: Thursday, February 8, 2024 12:43 PM > Subject: [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add power domain > IDs > > From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > > Add power domain IDs for RZ/G2UL (R9A07G043) SoC. > > Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > --- > include/dt-bindings/clock/r9a07g043-cpg.h | 48 +++++++++++++++++++++++ > 1 file changed, 48 insertions(+) > > diff --git a/include/dt-bindings/clock/r9a07g043-cpg.h b/include/dt- > bindings/clock/r9a07g043-cpg.h > index 77cde8effdc7..eabfeec7ac37 100644 > --- a/include/dt-bindings/clock/r9a07g043-cpg.h > +++ b/include/dt-bindings/clock/r9a07g043-cpg.h > @@ -200,5 +200,53 @@ > #define R9A07G043_AX45MP_CORE0_RESETN 78 /* RZ/Five Only */ > #define R9A07G043_IAX45_RESETN 79 /* RZ/Five Only */ > > +/* Power domain IDs. */ > +#define R9A07G043_PD_ALWAYS_ON 0 > +#define R9A07G043_PD_GIC 1 > +#define R9A07G043_PD_IA55 2 > +#define R9A07G043_PD_MHU 3 > +#define R9A07G043_PD_CORESIGHT 4 > +#define R9A07G043_PD_SYC 5 > +#define R9A07G043_PD_DMAC 6 > +#define R9A07G043_PD_GTM0 7 > +#define R9A07G043_PD_GTM1 8 > +#define R9A07G043_PD_GTM2 9 > +#define R9A07G043_PD_MTU 10 > +#define R9A07G043_PD_POE3 11 > +#define R9A07G043_PD_WDT0 12 > +#define R9A07G043_PD_SPI 13 > +#define R9A07G043_PD_SDHI0 14 > +#define R9A07G043_PD_SDHI1 15 > +#define R9A07G043_PD_ISU 16 > +#define R9A07G043_PD_CRU 17 > +#define R9A07G043_PD_LCDC 18 > +#define R9A07G043_PD_SSI0 19 > +#define R9A07G043_PD_SSI1 20 > +#define R9A07G043_PD_SSI2 21 > +#define R9A07G043_PD_SSI3 22 > +#define R9A07G043_PD_SRC 23 > +#define R9A07G043_PD_USB0 24 > +#define R9A07G043_PD_USB1 25 > +#define R9A07G043_PD_USB_PHY 26 > +#define R9A07G043_PD_ETHER0 27 > +#define R9A07G043_PD_ETHER1 28 > +#define R9A07G043_PD_I2C0 29 > +#define R9A07G043_PD_I2C1 30 > +#define R9A07G043_PD_I2C2 31 > +#define R9A07G043_PD_I2C3 32 > +#define R9A07G043_PD_SCIF0 33 > +#define R9A07G043_PD_SCIF1 34 > +#define R9A07G043_PD_SCIF2 35 > +#define R9A07G043_PD_SCIF3 36 > +#define R9A07G043_PD_SCIF4 37 > +#define R9A07G043_PD_SCI0 38 > +#define R9A07G043_PD_SCI1 39 > +#define R9A07G043_PD_IRDA 40 > +#define R9A07G043_PD_RSPI0 41 > +#define R9A07G043_PD_RSPI1 42 > +#define R9A07G043_PD_RSPI2 43 > +#define R9A07G043_PD_CANFD 44 > +#define R9A07G043_PD_ADC 45 > +#define R9A07G043_PD_TSU 46 Not sure from "Table 42.3 Registers for Module Standby Mode" Power domain ID has to be based on CPG_BUS_***_MSTOP or CPG_CLKON_*** As former reduces number of IDs?? Cheers, Biju
Hi, Biju, On 08.02.2024 16:30, Biju Das wrote: > Hi Claudiu, > > Thanks for the patch. > >> -----Original Message----- >> From: Claudiu <claudiu.beznea@tuxon.dev> >> Sent: Thursday, February 8, 2024 12:43 PM >> Subject: [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add power domain >> IDs >> >> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> >> >> Add power domain IDs for RZ/G2UL (R9A07G043) SoC. >> >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> >> --- >> include/dt-bindings/clock/r9a07g043-cpg.h | 48 +++++++++++++++++++++++ >> 1 file changed, 48 insertions(+) >> >> diff --git a/include/dt-bindings/clock/r9a07g043-cpg.h b/include/dt- >> bindings/clock/r9a07g043-cpg.h >> index 77cde8effdc7..eabfeec7ac37 100644 >> --- a/include/dt-bindings/clock/r9a07g043-cpg.h >> +++ b/include/dt-bindings/clock/r9a07g043-cpg.h >> @@ -200,5 +200,53 @@ >> #define R9A07G043_AX45MP_CORE0_RESETN 78 /* RZ/Five Only */ >> #define R9A07G043_IAX45_RESETN 79 /* RZ/Five Only */ >> >> +/* Power domain IDs. */ >> +#define R9A07G043_PD_ALWAYS_ON 0 >> +#define R9A07G043_PD_GIC 1 >> +#define R9A07G043_PD_IA55 2 >> +#define R9A07G043_PD_MHU 3 >> +#define R9A07G043_PD_CORESIGHT 4 >> +#define R9A07G043_PD_SYC 5 >> +#define R9A07G043_PD_DMAC 6 >> +#define R9A07G043_PD_GTM0 7 >> +#define R9A07G043_PD_GTM1 8 >> +#define R9A07G043_PD_GTM2 9 >> +#define R9A07G043_PD_MTU 10 >> +#define R9A07G043_PD_POE3 11 >> +#define R9A07G043_PD_WDT0 12 >> +#define R9A07G043_PD_SPI 13 >> +#define R9A07G043_PD_SDHI0 14 >> +#define R9A07G043_PD_SDHI1 15 >> +#define R9A07G043_PD_ISU 16 >> +#define R9A07G043_PD_CRU 17 >> +#define R9A07G043_PD_LCDC 18 >> +#define R9A07G043_PD_SSI0 19 >> +#define R9A07G043_PD_SSI1 20 >> +#define R9A07G043_PD_SSI2 21 >> +#define R9A07G043_PD_SSI3 22 >> +#define R9A07G043_PD_SRC 23 >> +#define R9A07G043_PD_USB0 24 >> +#define R9A07G043_PD_USB1 25 >> +#define R9A07G043_PD_USB_PHY 26 >> +#define R9A07G043_PD_ETHER0 27 >> +#define R9A07G043_PD_ETHER1 28 >> +#define R9A07G043_PD_I2C0 29 >> +#define R9A07G043_PD_I2C1 30 >> +#define R9A07G043_PD_I2C2 31 >> +#define R9A07G043_PD_I2C3 32 >> +#define R9A07G043_PD_SCIF0 33 >> +#define R9A07G043_PD_SCIF1 34 >> +#define R9A07G043_PD_SCIF2 35 >> +#define R9A07G043_PD_SCIF3 36 >> +#define R9A07G043_PD_SCIF4 37 >> +#define R9A07G043_PD_SCI0 38 >> +#define R9A07G043_PD_SCI1 39 >> +#define R9A07G043_PD_IRDA 40 >> +#define R9A07G043_PD_RSPI0 41 >> +#define R9A07G043_PD_RSPI1 42 >> +#define R9A07G043_PD_RSPI2 43 >> +#define R9A07G043_PD_CANFD 44 >> +#define R9A07G043_PD_ADC 45 >> +#define R9A07G043_PD_TSU 46 > > Not sure from "Table 42.3 Registers for Module Standby Mode" > > Power domain ID has to be based on CPG_BUS_***_MSTOP or CPG_CLKON_*** > As former reduces number of IDs?? If I understand correctly your point here, you want me to describe PM domain in DT with something like: power-domains = <&cpg CPG_BUS_X_MSTOP>; where X={ACPU, PERI_CPU, PERI_CPU2, REG0, REG1} ? With this, I still see the necessity of a 3rd identifier that will be IP specific to be able to uniquely match b/w DT description and registered power domain. FMPOV, this will lead to a more complicated implementation. We need a unique ID that the pm domain xlate will use to xlate the DT binding to driver data structures. Thank you, Claudiu Beznea > > Cheers, > Biju > > >
> -----Original Message----- > From: claudiu beznea <claudiu.beznea@tuxon.dev> > Sent: Thursday, February 8, 2024 3:46 PM > Subject: Re: [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add power > domain IDs > > Hi, Biju, > > On 08.02.2024 16:30, Biju Das wrote: > > Hi Claudiu, > > > > Thanks for the patch. > > > >> -----Original Message----- > >> From: Claudiu <claudiu.beznea@tuxon.dev> > >> Sent: Thursday, February 8, 2024 12:43 PM > >> Subject: [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add power > >> domain IDs > >> > >> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > >> > >> Add power domain IDs for RZ/G2UL (R9A07G043) SoC. > >> > >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > >> --- > >> include/dt-bindings/clock/r9a07g043-cpg.h | 48 > >> +++++++++++++++++++++++ > >> 1 file changed, 48 insertions(+) > >> > >> diff --git a/include/dt-bindings/clock/r9a07g043-cpg.h b/include/dt- > >> bindings/clock/r9a07g043-cpg.h index 77cde8effdc7..eabfeec7ac37 > >> 100644 > >> --- a/include/dt-bindings/clock/r9a07g043-cpg.h > >> +++ b/include/dt-bindings/clock/r9a07g043-cpg.h > >> @@ -200,5 +200,53 @@ > >> #define R9A07G043_AX45MP_CORE0_RESETN 78 /* RZ/Five Only */ > >> #define R9A07G043_IAX45_RESETN 79 /* RZ/Five Only */ > >> > >> +/* Power domain IDs. */ > >> +#define R9A07G043_PD_ALWAYS_ON 0 > >> +#define R9A07G043_PD_GIC 1 > >> +#define R9A07G043_PD_IA55 2 > >> +#define R9A07G043_PD_MHU 3 > >> +#define R9A07G043_PD_CORESIGHT 4 > >> +#define R9A07G043_PD_SYC 5 > >> +#define R9A07G043_PD_DMAC 6 > >> +#define R9A07G043_PD_GTM0 7 > >> +#define R9A07G043_PD_GTM1 8 > >> +#define R9A07G043_PD_GTM2 9 > >> +#define R9A07G043_PD_MTU 10 > >> +#define R9A07G043_PD_POE3 11 > >> +#define R9A07G043_PD_WDT0 12 > >> +#define R9A07G043_PD_SPI 13 > >> +#define R9A07G043_PD_SDHI0 14 > >> +#define R9A07G043_PD_SDHI1 15 > >> +#define R9A07G043_PD_ISU 16 > >> +#define R9A07G043_PD_CRU 17 > >> +#define R9A07G043_PD_LCDC 18 > >> +#define R9A07G043_PD_SSI0 19 > >> +#define R9A07G043_PD_SSI1 20 > >> +#define R9A07G043_PD_SSI2 21 > >> +#define R9A07G043_PD_SSI3 22 > >> +#define R9A07G043_PD_SRC 23 > >> +#define R9A07G043_PD_USB0 24 > >> +#define R9A07G043_PD_USB1 25 > >> +#define R9A07G043_PD_USB_PHY 26 > >> +#define R9A07G043_PD_ETHER0 27 > >> +#define R9A07G043_PD_ETHER1 28 > >> +#define R9A07G043_PD_I2C0 29 > >> +#define R9A07G043_PD_I2C1 30 > >> +#define R9A07G043_PD_I2C2 31 > >> +#define R9A07G043_PD_I2C3 32 > >> +#define R9A07G043_PD_SCIF0 33 > >> +#define R9A07G043_PD_SCIF1 34 > >> +#define R9A07G043_PD_SCIF2 35 > >> +#define R9A07G043_PD_SCIF3 36 > >> +#define R9A07G043_PD_SCIF4 37 > >> +#define R9A07G043_PD_SCI0 38 > >> +#define R9A07G043_PD_SCI1 39 > >> +#define R9A07G043_PD_IRDA 40 > >> +#define R9A07G043_PD_RSPI0 41 > >> +#define R9A07G043_PD_RSPI1 42 > >> +#define R9A07G043_PD_RSPI2 43 > >> +#define R9A07G043_PD_CANFD 44 > >> +#define R9A07G043_PD_ADC 45 > >> +#define R9A07G043_PD_TSU 46 > > > > Not sure from "Table 42.3 Registers for Module Standby Mode" > > > > Power domain ID has to be based on CPG_BUS_***_MSTOP or CPG_CLKON_*** > > As former reduces number of IDs?? > > If I understand correctly your point here, you want me to describe PM > domain in DT with something like: > > power-domains = <&cpg CPG_BUS_X_MSTOP>; MSTOP bits are distinct for each IP. <&cpg CPG_BUS_MCPU1_MSTOP x>; x =1..9 2=MTU IP 4= GPT etc... Is it something work?? > > where X={ACPU, PERI_CPU, PERI_CPU2, REG0, REG1} ? > > With this, I still see the necessity of a 3rd identifier that will be IP > specific to be able to uniquely match b/w DT description and registered > power domain. FMPOV, this will lead to a more complicated implementation. > > We need a unique ID that the pm domain xlate will use to xlate the DT > binding to driver data structures. Ok. Cheers, Biju
> -----Original Message----- > From: claudiu beznea <claudiu.beznea@tuxon.dev> > Sent: Thursday, February 8, 2024 4:53 PM > To: Biju Das <biju.das.jz@bp.renesas.com>; geert+renesas@glider.be; > mturquette@baylibre.com; sboyd@kernel.org; robh@kernel.org; > krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; > magnus.damm@gmail.com; paul.walmsley@sifive.com; palmer@dabbelt.com; > aou@eecs.berkeley.edu > Cc: linux-renesas-soc@vger.kernel.org; linux-clk@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; linux- > riscv@lists.infradead.org; Claudiu Beznea > <claudiu.beznea.uj@bp.renesas.com> > Subject: Re: [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add power > domain IDs > > > > On 08.02.2024 18:28, Biju Das wrote: > > > > > >> -----Original Message----- > >> From: claudiu beznea <claudiu.beznea@tuxon.dev> > >> Sent: Thursday, February 8, 2024 3:46 PM > >> Subject: Re: [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add > >> power domain IDs > >> > >> Hi, Biju, > >> > >> On 08.02.2024 16:30, Biju Das wrote: > >>> Hi Claudiu, > >>> > >>> Thanks for the patch. > >>> > >>>> -----Original Message----- > >>>> From: Claudiu <claudiu.beznea@tuxon.dev> > >>>> Sent: Thursday, February 8, 2024 12:43 PM > >>>> Subject: [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add power > >>>> domain IDs > >>>> > >>>> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > >>>> > >>>> Add power domain IDs for RZ/G2UL (R9A07G043) SoC. > >>>> > >>>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > >>>> --- > >>>> include/dt-bindings/clock/r9a07g043-cpg.h | 48 > >>>> +++++++++++++++++++++++ > >>>> 1 file changed, 48 insertions(+) > >>>> > >>>> diff --git a/include/dt-bindings/clock/r9a07g043-cpg.h > >>>> b/include/dt- bindings/clock/r9a07g043-cpg.h index > >>>> 77cde8effdc7..eabfeec7ac37 > >>>> 100644 > >>>> --- a/include/dt-bindings/clock/r9a07g043-cpg.h > >>>> +++ b/include/dt-bindings/clock/r9a07g043-cpg.h > >>>> @@ -200,5 +200,53 @@ > >>>> #define R9A07G043_AX45MP_CORE0_RESETN 78 /* RZ/Five Only */ > >>>> #define R9A07G043_IAX45_RESETN 79 /* RZ/Five Only */ > >>>> > >>>> +/* Power domain IDs. */ > >>>> +#define R9A07G043_PD_ALWAYS_ON 0 > >>>> +#define R9A07G043_PD_GIC 1 > >>>> +#define R9A07G043_PD_IA55 2 > >>>> +#define R9A07G043_PD_MHU 3 > >>>> +#define R9A07G043_PD_CORESIGHT 4 > >>>> +#define R9A07G043_PD_SYC 5 > >>>> +#define R9A07G043_PD_DMAC 6 > >>>> +#define R9A07G043_PD_GTM0 7 > >>>> +#define R9A07G043_PD_GTM1 8 > >>>> +#define R9A07G043_PD_GTM2 9 > >>>> +#define R9A07G043_PD_MTU 10 > >>>> +#define R9A07G043_PD_POE3 11 > >>>> +#define R9A07G043_PD_WDT0 12 > >>>> +#define R9A07G043_PD_SPI 13 > >>>> +#define R9A07G043_PD_SDHI0 14 > >>>> +#define R9A07G043_PD_SDHI1 15 > >>>> +#define R9A07G043_PD_ISU 16 > >>>> +#define R9A07G043_PD_CRU 17 > >>>> +#define R9A07G043_PD_LCDC 18 > >>>> +#define R9A07G043_PD_SSI0 19 > >>>> +#define R9A07G043_PD_SSI1 20 > >>>> +#define R9A07G043_PD_SSI2 21 > >>>> +#define R9A07G043_PD_SSI3 22 > >>>> +#define R9A07G043_PD_SRC 23 > >>>> +#define R9A07G043_PD_USB0 24 > >>>> +#define R9A07G043_PD_USB1 25 > >>>> +#define R9A07G043_PD_USB_PHY 26 > >>>> +#define R9A07G043_PD_ETHER0 27 > >>>> +#define R9A07G043_PD_ETHER1 28 > >>>> +#define R9A07G043_PD_I2C0 29 > >>>> +#define R9A07G043_PD_I2C1 30 > >>>> +#define R9A07G043_PD_I2C2 31 > >>>> +#define R9A07G043_PD_I2C3 32 > >>>> +#define R9A07G043_PD_SCIF0 33 > >>>> +#define R9A07G043_PD_SCIF1 34 > >>>> +#define R9A07G043_PD_SCIF2 35 > >>>> +#define R9A07G043_PD_SCIF3 36 > >>>> +#define R9A07G043_PD_SCIF4 37 > >>>> +#define R9A07G043_PD_SCI0 38 > >>>> +#define R9A07G043_PD_SCI1 39 > >>>> +#define R9A07G043_PD_IRDA 40 > >>>> +#define R9A07G043_PD_RSPI0 41 > >>>> +#define R9A07G043_PD_RSPI1 42 > >>>> +#define R9A07G043_PD_RSPI2 43 > >>>> +#define R9A07G043_PD_CANFD 44 > >>>> +#define R9A07G043_PD_ADC 45 > >>>> +#define R9A07G043_PD_TSU 46 > >>> > >>> Not sure from "Table 42.3 Registers for Module Standby Mode" > >>> > >>> Power domain ID has to be based on CPG_BUS_***_MSTOP or > >>> CPG_CLKON_*** As former reduces number of IDs?? > >> > >> If I understand correctly your point here, you want me to describe PM > >> domain in DT with something like: > >> > >> power-domains = <&cpg CPG_BUS_X_MSTOP>; > > > > MSTOP bits are distinct for each IP. > > > > <&cpg CPG_BUS_MCPU1_MSTOP x>; x =1..9 > > > > 2=MTU IP > > > > 4= GPT > > > > etc... > > > > Is it something work?? > > It might work. But: > > - you have to consider that some IPs have more than one MSTOP bit, thus, > do > we want to uniquely identify these with all MSTOP bits (thus the 2nd > cell > being a bitmask) or only one is enough? We can have an encoding in that case 8:16 24 bit entries > - some HW blocks (e.g. OTFDE_DDR) have no MSTOP bits associated (as of my > current research), so, only PWRDN Why do we want to add power domain support for DDR? > - some HW blocks have both MSTOP and PWRDN That will be an array right? > - if future hardware implementation will spread the MSTOP bits for one IP > to more than one register then this proposal will not work That will be an array right? Cheers, Biju
On 08/02/2024 13:42, Claudiu wrote: > From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > > The driver will be modified (in the next commits) to be able to specify > individual power domain ID for each IP. Update the documentation to cope > with this. You are affecting existing users, so you should explain that you keep ABI intact or if you break it, why it is fine to do so. Best regards, Krzysztof
On 09.02.2024 09:56, Krzysztof Kozlowski wrote: > On 08/02/2024 13:42, Claudiu wrote: >> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> >> >> The driver will be modified (in the next commits) to be able to specify >> individual power domain ID for each IP. Update the documentation to cope >> with this. > > You are affecting existing users, so you should explain that you keep > ABI intact or if you break it, why it is fine to do so. > OK, I'll improve the description. The ABI will not be broken with the changes in this series. Thank you, Claudiu Beznea > > > Best regards, > Krzysztof >