diff mbox series

pmdomain: renesas: r8a77980-sysc: CR7 must be always on

Message ID fdad9a86132d53ecddf72b734dac406915c4edc0.1705076735.git.geert+renesas@glider.be (mailing list archive)
State Mainlined
Commit f0e4a1356466ec1858ae8e5c70bea2ce5e55008b
Delegated to: Geert Uytterhoeven
Headers show
Series pmdomain: renesas: r8a77980-sysc: CR7 must be always on | expand

Commit Message

Geert Uytterhoeven Jan. 12, 2024, 4:33 p.m. UTC
The power domain containing the Cortex-R7 CPU core on the R-Car V3H SoC
must always be in power-on state, unlike on other SoCs in the R-Car Gen3
family.  See Table 9.4 "Power domains" in the R-Car Series, 3rd
Generation Hardware User’s Manual Rev.1.00 and later.

Fix this by marking the domain as a CPU domain without control
registers, so the driver will not touch it.

Fixes: 41d6d8bd8ae94ca9 ("soc: renesas: rcar-sysc: add R8A77980 support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 drivers/pmdomain/renesas/r8a77980-sysc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Ulf Hansson Jan. 22, 2024, 3:21 p.m. UTC | #1
On Fri, 12 Jan 2024 at 17:33, Geert Uytterhoeven
<geert+renesas@glider.be> wrote:
>
> The power domain containing the Cortex-R7 CPU core on the R-Car V3H SoC
> must always be in power-on state, unlike on other SoCs in the R-Car Gen3
> family.  See Table 9.4 "Power domains" in the R-Car Series, 3rd
> Generation Hardware User’s Manual Rev.1.00 and later.
>
> Fix this by marking the domain as a CPU domain without control
> registers, so the driver will not touch it.
>
> Fixes: 41d6d8bd8ae94ca9 ("soc: renesas: rcar-sysc: add R8A77980 support")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Applied for fixes and by adding a stable tag, thanks!

Kind regards
Uffe


> ---
>  drivers/pmdomain/renesas/r8a77980-sysc.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pmdomain/renesas/r8a77980-sysc.c b/drivers/pmdomain/renesas/r8a77980-sysc.c
> index 39ca84a67daadd21..621e411fc9991a40 100644
> --- a/drivers/pmdomain/renesas/r8a77980-sysc.c
> +++ b/drivers/pmdomain/renesas/r8a77980-sysc.c
> @@ -25,7 +25,8 @@ static const struct rcar_sysc_area r8a77980_areas[] __initconst = {
>           PD_CPU_NOCR },
>         { "ca53-cpu3",  0x200, 3, R8A77980_PD_CA53_CPU3, R8A77980_PD_CA53_SCU,
>           PD_CPU_NOCR },
> -       { "cr7",        0x240, 0, R8A77980_PD_CR7,      R8A77980_PD_ALWAYS_ON },
> +       { "cr7",        0x240, 0, R8A77980_PD_CR7,      R8A77980_PD_ALWAYS_ON,
> +         PD_CPU_NOCR },
>         { "a3ir",       0x180, 0, R8A77980_PD_A3IR,     R8A77980_PD_ALWAYS_ON },
>         { "a2ir0",      0x400, 0, R8A77980_PD_A2IR0,    R8A77980_PD_A3IR },
>         { "a2ir1",      0x400, 1, R8A77980_PD_A2IR1,    R8A77980_PD_A3IR },
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/drivers/pmdomain/renesas/r8a77980-sysc.c b/drivers/pmdomain/renesas/r8a77980-sysc.c
index 39ca84a67daadd21..621e411fc9991a40 100644
--- a/drivers/pmdomain/renesas/r8a77980-sysc.c
+++ b/drivers/pmdomain/renesas/r8a77980-sysc.c
@@ -25,7 +25,8 @@  static const struct rcar_sysc_area r8a77980_areas[] __initconst = {
 	  PD_CPU_NOCR },
 	{ "ca53-cpu3",	0x200, 3, R8A77980_PD_CA53_CPU3, R8A77980_PD_CA53_SCU,
 	  PD_CPU_NOCR },
-	{ "cr7",	0x240, 0, R8A77980_PD_CR7,	R8A77980_PD_ALWAYS_ON },
+	{ "cr7",	0x240, 0, R8A77980_PD_CR7,	R8A77980_PD_ALWAYS_ON,
+	  PD_CPU_NOCR },
 	{ "a3ir",	0x180, 0, R8A77980_PD_A3IR,	R8A77980_PD_ALWAYS_ON },
 	{ "a2ir0",	0x400, 0, R8A77980_PD_A2IR0,	R8A77980_PD_A3IR },
 	{ "a2ir1",	0x400, 1, R8A77980_PD_A2IR1,	R8A77980_PD_A3IR },