Re: [PATCH 1/2] pmdomain: imx8m-blk-ctrl: Remove separate rst and clk mask for 8mq vpu

From: Ming Qian(OSS)

Date: Sun Nov 23 2025 - 20:48:33 EST


Hi Frank,

On 11/22/2025 12:11 AM, Frank Li wrote:
On Fri, Nov 21, 2025 at 04:19:08PM +0800, ming.qian@xxxxxxxxxxx wrote:
From: Ming Qian <ming.qian@xxxxxxxxxxx>

The ADB in the VPUMIX domain has no separate reset and clock
enable bits, but is ungated and reset together with the VPUs.
So we can't reset G1 or G2 separately, it may led to the system hang.
Remove rst_mask and clk_mask of imx8mq_vpu_blk_ctl_domain_data.
Let imx8mq_vpu_power_notifier() do really vpu reset.

Fixes: 608d7c325e85 ("soc: imx: imx8m-blk-ctrl: add i.MX8MQ VPU blk-ctrl")
Signed-off-by: Ming Qian <ming.qian@xxxxxxxxxxx>
---
drivers/pmdomain/imx/imx8m-blk-ctrl.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/pmdomain/imx/imx8m-blk-ctrl.c b/drivers/pmdomain/imx/imx8m-blk-ctrl.c
index 5c83e5599f1e..1f07ff041295 100644
--- a/drivers/pmdomain/imx/imx8m-blk-ctrl.c
+++ b/drivers/pmdomain/imx/imx8m-blk-ctrl.c
@@ -852,16 +852,12 @@ static const struct imx8m_blk_ctrl_domain_data imx8mq_vpu_blk_ctl_domain_data[]
.clk_names = (const char *[]){ "g1", },
.num_clks = 1,
.gpc_name = "g1",
- .rst_mask = BIT(1),
- .clk_mask = BIT(1),

Does this bit not exist or just put VPU's reset bit here previously?

Frank

In NXP's internal VPU solution of i.MX8MQ, this vpu-blk-ctrl is not used directly.
The internal driver always reset the G1 and G2 VPU together.
Just like imx8mq_vpu_power_notifier() does.

Regards,
Ming

},
[IMX8MQ_VPUBLK_PD_G2] = {
.name = "vpublk-g2",
.clk_names = (const char *[]){ "g2", },
.num_clks = 1,
.gpc_name = "g2",
- .rst_mask = BIT(0),
- .clk_mask = BIT(0),
},
};

--
2.34.1