linux/drivers/soc/renesas
Geert Uytterhoeven 7fc4650cc2 soc: renesas: rcar-sysc: Fix power domain control after system resume
To control power to a power domain, the System Controller (SYSC) needs
the corresponding interrupt source to be enabled, but masked, to prevent
the CPU from receiving it.

Currently this is handled in the driver's probe() routine, and set up
for every domain present, even if it will not be controlled directly by
SYSC (CPU domains are powered through the APMU on R-Car Gen2 and later).

On R-Car Gen3, PSCI powers down the SoC during system suspend, thus
losing any configured interrupt state.  Hence after system resume, power
domains not controlled through the APMU (e.g. A3IR, A3VC, A3VP) fail to
power up.

Fix this by replacing the global interrupt setup in the probe() routine
by a domain-specific interrupt setup in rcar_sysc_power(), where the
domain's power is actually controlled.  This brings the code more in
line with the flowchart in the Hardware User's Manual.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-12-06 12:10:10 -08:00
..
Kconfig soc: renesas: rcar-sysc: Add r8a7744 support 2018-09-17 10:33:33 +02:00
Makefile soc: renesas: rcar-sysc: Add r8a774c0 support 2018-09-14 15:33:35 +02:00
r8a774a1-sysc.c soc: renesas: rcar-sysc: Add r8a774a1 support 2018-09-12 10:19:06 +02:00
r8a774c0-sysc.c soc: renesas: rcar-sysc: Add r8a774c0 support 2018-09-14 15:33:35 +02:00
r8a7743-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7745-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7779-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7790-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7791-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7792-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7794-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7795-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a7796-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r8a77470-sysc.c soc: renesas: rcar-sysc: Add r8a77470 support 2018-04-16 16:01:24 +02:00
r8a77965-sysc.c soc: renesas: r8a77965-sysc: Remove non-existent A3IR power domain 2018-11-30 11:22:29 +01:00
r8a77970-sysc.c soc: renesas: r8a77970-sysc: Correct names of A2DP/A2CN power domains 2018-11-30 11:22:30 +01:00
r8a77980-sysc.c soc: renesas: r8a77980-sysc: Correct A3VIP[012] power domain hierarchy 2018-11-30 11:22:30 +01:00
r8a77990-sysc.c soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B} 2018-12-06 12:10:08 -08:00
r8a77995-sysc.c soc: renesas: convert to SPDX identifiers 2018-09-12 10:19:51 +02:00
r9a06g032-smp.c ARM: shmobile: Add the R9A06G032 SMP enabler driver 2018-07-20 13:44:04 +02:00
rcar-rst.c soc: renesas: rcar-rst: Add support for RZ/G1N 2018-09-17 10:46:31 +02:00
rcar-sysc.c soc: renesas: rcar-sysc: Fix power domain control after system resume 2018-12-06 12:10:10 -08:00
rcar-sysc.h soc: renesas: rcar-sysc: Add r8a774c0 support 2018-09-14 15:33:35 +02:00
renesas-soc.c soc: renesas: Identify RZ/G2E 2018-09-12 10:19:52 +02:00