[PATCH 5/6] clk: imx: keep hsio bus clock always on

Abel Vesa abel.vesa at linaro.org
Fri Nov 4 14:34:09 PDT 2022


On 22-10-28 17:52:10, Peng Fan (OSS) wrote:
> From: Jacky Bai <ping.bai at nxp.com>
> 
> During Linux System suspend/resume stress test after System Sleep
> enabled, system will stuck sometimes. It is because NICMIX is powered
> down, which HSIOMIX(always on) is not powered down. When NICMIX
> powering down, HSIOMIX will get a hardware handshake, without HSIO ROOT clk,
> the handshake will lose. Then after NICMIX power on when system resume,
> the access to HSIOMIX through NICMIX would be broken. So keep HSIO ROOT
> always on.
> 
> Reviewed-by: Peng Fan <peng.fan at nxp.com>
> Signed-off-by: Jacky Bai <ping.bai at nxp.com>
>  [Peng Fan] rewrite commit message
> Signed-off-by: Peng Fan <peng.fan at nxp.com>

Reviewed-by: Abel Vesa <abel.vesa at linaro.org>

> ---
>  drivers/clk/imx/clk-imx93.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/imx/clk-imx93.c b/drivers/clk/imx/clk-imx93.c
> index 422ad3c89845..7dace96f36df 100644
> --- a/drivers/clk/imx/clk-imx93.c
> +++ b/drivers/clk/imx/clk-imx93.c
> @@ -109,7 +109,11 @@ static const struct imx93_clk_root {
>  	{ IMX93_CLK_CCM_CKO2,		"ccm_cko2_root",	0x1d00,	CKO2_SEL, },
>  	{ IMX93_CLK_CCM_CKO3,		"ccm_cko3_root",	0x1d80,	CKO1_SEL, },
>  	{ IMX93_CLK_CCM_CKO4,		"ccm_cko4_root",	0x1e00,	CKO2_SEL, },
> -	{ IMX93_CLK_HSIO,		"hsio_root",		0x1e80,	LOW_SPEED_IO_SEL, },
> +	/*
> +	 * Critical because clk is used for handshake between HSIOMIX and NICMIX when
> +	 * NICMIX power down/on during system suspend/resume
> +	 */
> +	{ IMX93_CLK_HSIO,		"hsio_root",		0x1e80,	LOW_SPEED_IO_SEL, CLK_IS_CRITICAL},
>  	{ IMX93_CLK_HSIO_USB_TEST_60M,	"hsio_usb_test_60m_root", 0x1f00, LOW_SPEED_IO_SEL, },
>  	{ IMX93_CLK_HSIO_ACSCAN_80M,	"hsio_acscan_80m_root",	0x1f80,	LOW_SPEED_IO_SEL, },
>  	{ IMX93_CLK_HSIO_ACSCAN_480M,	"hsio_acscan_480m_root", 0x2000, MISC_SEL, },
> -- 
> 2.37.1
> 



More information about the linux-arm-kernel mailing list