Re: [PATCH v5 01/18] Revert "soc: imx: gpcv2: move reset assert after requesting domain power up"
From: Adam Ford <hidden>
Date: 2021-10-04 00:03:30
Also in:
linux-devicetree
On Sun, Oct 3, 2021 at 2:46 PM Lucas Stach [off-list ref] wrote:
Hi Adam, Am Sonntag, dem 03.10.2021 um 05:43 -0500 schrieb Adam Ford:quoted
On Fri, Oct 1, 2021 at 8:00 PM Lucas Stach [off-list ref] wrote:quoted
This reverts commit a77ebdd9f553. It turns out that the VPU domain has no different requirements, even though the downstream ATF implementation seems to suggest otherwise. Powering on the domain with the reset asserted works fine. As the changed sequence has caused sporadic issues with the GPU domains, just revert the change to go back to the working sequence. Cc: <redacted> # 5.14 Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Acked-by: Peng Fan <peng.fan@nxp.com> ---Lucas, I applied your series to the 5.14.y kernel to test with the imx8mm-beacon board, but I found that it doesn't wake from sleep. I'll experiment with other versions of ATF. If nobody else has this problem, I'll assume, it's an error on my part.I've tested this series on the i.MX8MM-EVK and a custom (not yet public) i.MX8MM board and both did work as expected with both system suspend/resume and runtime power management for the display parts. I've used the upstream TF-A release v2.5.
OK. I have tested the USB otg1 and otg2 and they work. The etnativ controllers enumerate, but without lcdif and dsim, it's not practical to test. If nobody else is having issues with suspend-resume, go ahead and mark this as: Tested-by: Adam Ford <redacted> #imx8mm-beacon
Regards, Lucasquoted
adamquoted
drivers/soc/imx/gpcv2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c index 34a9ac1f2b9b..8b7a01773aec 100644 --- a/drivers/soc/imx/gpcv2.c +++ b/drivers/soc/imx/gpcv2.c@@ -244,6 +244,8 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd) goto out_regulator_disable; } + reset_control_assert(domain->reset); + if (domain->bits.pxx) { /* request the domain to power up */ regmap_update_bits(domain->regmap, GPC_PU_PGC_SW_PUP_REQ,@@ -266,8 +268,6 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd) GPC_PGC_CTRL_PCR); } - reset_control_assert(domain->reset); - /* delay for reset to propagate */ udelay(5); --2.30.2
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel