From: Claudiu <claudiu.beznea@tuxon.dev> 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 [thread overview] Message-ID: <20240208124300.2740313-1-claudiu.beznea.uj@bp.renesas.com> (raw) 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(-) -- 2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Claudiu <claudiu.beznea@tuxon.dev> 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 [thread overview] Message-ID: <20240208124300.2740313-1-claudiu.beznea.uj@bp.renesas.com> (raw) 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(-) -- 2.39.2 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2024-02-08 12:43 UTC|newest] Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-02-08 12:42 Claudiu [this message] 2024-02-08 12:42 ` [PATCH 00/17] clk: renesas: rzg2l: Add support for power domains Claudiu 2024-02-08 12:42 ` [PATCH 01/17] dt-bindings: clock: r9a07g043-cpg: Add power domain IDs Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-08 14:30 ` Biju Das 2024-02-08 14:30 ` Biju Das 2024-02-08 15:45 ` claudiu beznea 2024-02-08 15:45 ` claudiu beznea 2024-02-08 16:28 ` Biju Das 2024-02-08 16:28 ` Biju Das 2024-02-08 16:53 ` claudiu beznea 2024-02-08 16:53 ` claudiu beznea 2024-02-08 19:20 ` Biju Das 2024-02-08 19:20 ` Biju Das 2024-02-12 8:02 ` claudiu beznea 2024-02-12 8:02 ` claudiu beznea 2024-02-12 8:59 ` Biju Das 2024-02-12 8:59 ` Biju Das 2024-02-12 10:17 ` claudiu beznea 2024-02-12 10:17 ` claudiu beznea 2024-02-12 10:32 ` Biju Das 2024-02-12 10:32 ` Biju Das 2024-02-12 11:08 ` claudiu beznea 2024-02-12 11:08 ` claudiu beznea 2024-02-16 14:01 ` Geert Uytterhoeven 2024-02-16 14:01 ` Geert Uytterhoeven 2024-02-19 7:36 ` claudiu beznea 2024-02-19 7:36 ` claudiu beznea 2024-02-08 12:42 ` [PATCH 02/17] dt-bindings: clock: r9a07g044-cpg: " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-08 14:39 ` Biju Das 2024-02-08 14:39 ` Biju Das 2024-02-08 15:55 ` claudiu beznea 2024-02-08 15:55 ` claudiu beznea 2024-02-16 14:02 ` Geert Uytterhoeven 2024-02-16 14:02 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 03/17] dt-bindings: clock: r9a07g054-cpg: " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:02 ` Geert Uytterhoeven 2024-02-16 14:02 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 04/17] dt-bindings: clock: r9a08g045-cpg: " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:03 ` Geert Uytterhoeven 2024-02-16 14:03 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 05/17] dt-bindings: clock: r9a09g011-cpg: Add always-on " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:03 ` Geert Uytterhoeven 2024-02-16 14:03 ` Geert Uytterhoeven 2024-02-19 7:39 ` claudiu beznea 2024-02-19 7:39 ` claudiu beznea 2024-02-08 12:42 ` [PATCH 06/17] dt-bindings: clock: renesas,rzg2l-cpg: Update #power-domain-cells = <1> Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-09 7:56 ` Krzysztof Kozlowski 2024-02-09 7:56 ` Krzysztof Kozlowski 2024-02-09 11:57 ` claudiu beznea 2024-02-09 11:57 ` claudiu beznea 2024-02-16 14:04 ` Geert Uytterhoeven 2024-02-16 14:04 ` Geert Uytterhoeven 2024-02-19 8:18 ` claudiu beznea 2024-02-19 8:18 ` claudiu beznea 2024-02-08 12:42 ` [PATCH 07/17] clk: renesas: rzg2l: Extend power domain support Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:08 ` Geert Uytterhoeven 2024-02-16 14:08 ` Geert Uytterhoeven 2024-02-19 8:24 ` claudiu beznea 2024-02-19 8:24 ` claudiu beznea 2024-02-19 8:48 ` Geert Uytterhoeven 2024-02-19 8:48 ` Geert Uytterhoeven 2024-02-19 9:04 ` claudiu beznea 2024-02-19 9:04 ` claudiu beznea 2024-02-20 19:32 ` Geert Uytterhoeven 2024-02-20 19:32 ` Geert Uytterhoeven 2024-02-21 6:14 ` claudiu beznea 2024-02-21 6:14 ` claudiu beznea 2024-02-08 12:42 ` [PATCH 08/17] clk: renesas: r9a07g043: Add initial support for power domains Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:09 ` Geert Uytterhoeven 2024-02-16 14:09 ` Geert Uytterhoeven 2024-02-19 8:25 ` claudiu beznea 2024-02-19 8:25 ` claudiu beznea 2024-02-08 12:42 ` [PATCH 09/17] clk: renesas: r9a07g044: " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:09 ` Geert Uytterhoeven 2024-02-16 14:09 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 10/17] clk: renesas: r9a08g045: Add " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:10 ` Geert Uytterhoeven 2024-02-16 14:10 ` Geert Uytterhoeven 2024-02-21 13:35 ` claudiu beznea 2024-02-21 13:35 ` claudiu beznea 2024-02-08 12:42 ` [PATCH 11/17] clk: renesas: r9a09g011: Add initial " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:10 ` Geert Uytterhoeven 2024-02-16 14:10 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 12/17] arm64: dts: renesas: rzg3s-smarc-som: Guard the ethernet IRQ GPIOs with proper flags Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:17 ` Geert Uytterhoeven 2024-02-16 14:17 ` Geert Uytterhoeven 2024-02-19 8:29 ` claudiu beznea 2024-02-19 8:29 ` claudiu beznea 2024-02-08 12:42 ` [PATCH 13/17] arm64: dts: renesas: r9a07g043: Update #power-domain-cells = <1> Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:11 ` Geert Uytterhoeven 2024-02-16 14:11 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 14/17] arm64: dts: renesas: r9a07g044: " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:11 ` Geert Uytterhoeven 2024-02-16 14:11 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 15/17] arm64: dts: renesas: r9a07g054: " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:11 ` Geert Uytterhoeven 2024-02-16 14:11 ` Geert Uytterhoeven 2024-02-08 12:42 ` [PATCH 16/17] arm64: dts: renesas: r9a08g045: " Claudiu 2024-02-08 12:42 ` Claudiu 2024-02-16 14:12 ` Geert Uytterhoeven 2024-02-16 14:12 ` Geert Uytterhoeven 2024-02-08 12:43 ` [PATCH 17/17] arm64: dts: renesas: r9a09g011: " Claudiu 2024-02-08 12:43 ` Claudiu 2024-02-16 14:12 ` Geert Uytterhoeven 2024-02-16 14:12 ` Geert Uytterhoeven
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240208124300.2740313-1-claudiu.beznea.uj@bp.renesas.com \ --to=claudiu.beznea@tuxon.dev \ --cc=aou@eecs.berkeley.edu \ --cc=claudiu.beznea.uj@bp.renesas.com \ --cc=conor+dt@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=geert+renesas@glider.be \ --cc=krzysztof.kozlowski+dt@linaro.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=magnus.damm@gmail.com \ --cc=mturquette@baylibre.com \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ --cc=robh@kernel.org \ --cc=sboyd@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.