Message ID | 20211109125657.63485-2-hui.wang@canonical.com (mailing list archive) |
---|---|
State | Awaiting Upstream, archived |
Headers | show |
Series | [1/2] clk: imx8mp: Remove IPG_AUDIO_ROOT from imx8mp-clock.h | expand |
On 21-11-09 20:56:57, Hui Wang wrote: > Recently we tried to enable the BSP on a platform based on imx8mp, we > backported the audiomix related drivers to mainline kernel from > https://source.codeaurora.org/external/imx/linux-imx, when kernel > boots to the audiomix powerdomain driver, the kernel will hang > immediately. That is because we set the audio_root_clk to > audiomix in the device tree, but the parent of the audio_root_clk is > wrong in the clk-imx8mp.c. > > And we could also refer to the section "5.1.4 System Clocks" of the > IMX8MPRM.pdf, the parent clk of CCGR101 (Audiomix) is the > AUDIO_AHB_CLK_ROOT. > Thanks for the whole explanation, but I would not mention the audiomix and the downstream source of it in the commit message, since it will most probably never be upstreamed. So lets just stick with the boot hang fixing explanation and what the RM mentions. I'll reword it myself, so you won't have to resend, and then I'll apply it to clk/imx. > Signed-off-by: Hui Wang <hui.wang@canonical.com> Reviewed-by: Abel Vesa <abel.vesa@nxp.com> > --- > drivers/clk/imx/clk-imx8mp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c > index 12837304545d..c990ad37882b 100644 > --- a/drivers/clk/imx/clk-imx8mp.c > +++ b/drivers/clk/imx/clk-imx8mp.c > @@ -700,7 +700,7 @@ static int imx8mp_clocks_probe(struct platform_device *pdev) > hws[IMX8MP_CLK_HDMI_ROOT] = imx_clk_hw_gate4("hdmi_root_clk", "hdmi_axi", ccm_base + 0x45f0, 0); > hws[IMX8MP_CLK_TSENSOR_ROOT] = imx_clk_hw_gate4("tsensor_root_clk", "ipg_root", ccm_base + 0x4620, 0); > hws[IMX8MP_CLK_VPU_ROOT] = imx_clk_hw_gate4("vpu_root_clk", "vpu_bus", ccm_base + 0x4630, 0); > - hws[IMX8MP_CLK_AUDIO_ROOT] = imx_clk_hw_gate4("audio_root_clk", "ipg_root", ccm_base + 0x4650, 0); > + hws[IMX8MP_CLK_AUDIO_ROOT] = imx_clk_hw_gate4("audio_root_clk", "audio_ahb", ccm_base + 0x4650, 0); > > hws[IMX8MP_CLK_ARM] = imx_clk_hw_cpu("arm", "arm_a53_core", > hws[IMX8MP_CLK_A53_CORE]->clk, > -- > 2.25.1 >
On 11/22/21 11:04 PM, Abel Vesa wrote: > On 21-11-09 20:56:57, Hui Wang wrote: >> Recently we tried to enable the BSP on a platform based on imx8mp, we >> backported the audiomix related drivers to mainline kernel from >> https://source.codeaurora.org/external/imx/linux-imx, when kernel >> boots to the audiomix powerdomain driver, the kernel will hang >> immediately. That is because we set the audio_root_clk to >> audiomix in the device tree, but the parent of the audio_root_clk is >> wrong in the clk-imx8mp.c. >> >> And we could also refer to the section "5.1.4 System Clocks" of the >> IMX8MPRM.pdf, the parent clk of CCGR101 (Audiomix) is the >> AUDIO_AHB_CLK_ROOT. >> > Thanks for the whole explanation, but I would not mention the audiomix > and the downstream source of it in the commit message, since it will > most probably never be upstreamed. > > So lets just stick with the boot hang fixing explanation and what the RM > mentions. I'll reword it myself, so you won't have to resend, and then > I'll apply it to clk/imx. OK, got it. Thanks. > >> Signed-off-by: Hui Wang <hui.wang@canonical.com> > Reviewed-by: Abel Vesa <abel.vesa@nxp.com> > >> --- >> drivers/clk/imx/clk-imx8mp.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c >> index 12837304545d..c990ad37882b 100644 >> --- a/drivers/clk/imx/clk-imx8mp.c >> +++ b/drivers/clk/imx/clk-imx8mp.c >> @@ -700,7 +700,7 @@ static int imx8mp_clocks_probe(struct platform_device *pdev) >> hws[IMX8MP_CLK_HDMI_ROOT] = imx_clk_hw_gate4("hdmi_root_clk", "hdmi_axi", ccm_base + 0x45f0, 0); >> hws[IMX8MP_CLK_TSENSOR_ROOT] = imx_clk_hw_gate4("tsensor_root_clk", "ipg_root", ccm_base + 0x4620, 0); >> hws[IMX8MP_CLK_VPU_ROOT] = imx_clk_hw_gate4("vpu_root_clk", "vpu_bus", ccm_base + 0x4630, 0); >> - hws[IMX8MP_CLK_AUDIO_ROOT] = imx_clk_hw_gate4("audio_root_clk", "ipg_root", ccm_base + 0x4650, 0); >> + hws[IMX8MP_CLK_AUDIO_ROOT] = imx_clk_hw_gate4("audio_root_clk", "audio_ahb", ccm_base + 0x4650, 0); >> >> hws[IMX8MP_CLK_ARM] = imx_clk_hw_cpu("arm", "arm_a53_core", >> hws[IMX8MP_CLK_A53_CORE]->clk, >> -- >> 2.25.1 >>
diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c index 12837304545d..c990ad37882b 100644 --- a/drivers/clk/imx/clk-imx8mp.c +++ b/drivers/clk/imx/clk-imx8mp.c @@ -700,7 +700,7 @@ static int imx8mp_clocks_probe(struct platform_device *pdev) hws[IMX8MP_CLK_HDMI_ROOT] = imx_clk_hw_gate4("hdmi_root_clk", "hdmi_axi", ccm_base + 0x45f0, 0); hws[IMX8MP_CLK_TSENSOR_ROOT] = imx_clk_hw_gate4("tsensor_root_clk", "ipg_root", ccm_base + 0x4620, 0); hws[IMX8MP_CLK_VPU_ROOT] = imx_clk_hw_gate4("vpu_root_clk", "vpu_bus", ccm_base + 0x4630, 0); - hws[IMX8MP_CLK_AUDIO_ROOT] = imx_clk_hw_gate4("audio_root_clk", "ipg_root", ccm_base + 0x4650, 0); + hws[IMX8MP_CLK_AUDIO_ROOT] = imx_clk_hw_gate4("audio_root_clk", "audio_ahb", ccm_base + 0x4650, 0); hws[IMX8MP_CLK_ARM] = imx_clk_hw_cpu("arm", "arm_a53_core", hws[IMX8MP_CLK_A53_CORE]->clk,
Recently we tried to enable the BSP on a platform based on imx8mp, we backported the audiomix related drivers to mainline kernel from https://source.codeaurora.org/external/imx/linux-imx, when kernel boots to the audiomix powerdomain driver, the kernel will hang immediately. That is because we set the audio_root_clk to audiomix in the device tree, but the parent of the audio_root_clk is wrong in the clk-imx8mp.c. And we could also refer to the section "5.1.4 System Clocks" of the IMX8MPRM.pdf, the parent clk of CCGR101 (Audiomix) is the AUDIO_AHB_CLK_ROOT. Signed-off-by: Hui Wang <hui.wang@canonical.com> --- drivers/clk/imx/clk-imx8mp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)