• Adam Ford's avatar
    arm64: dts: imx8mp: Fix SDMA2/3 clocks · b739681b
    Adam Ford authored
    Commit 16c98452 ("arm64: dts: imx8mp: don't initialize audio clocks
    from CCM node") removed the Audio clocks from the main clock node, because
    the intent is to force people to setup the audio PLL clocks per board
    instead of having a common set of rates, since not all boards may use
    the various audio PLL clocks in the same way.
    
    Unfortunately, with this parenting removed, the SDMA2 and SDMA3
    clocks were slowed to 24MHz because the SDMA2/3 clocks are controlled
    via the audio_blk_ctrl which is clocked from IMX8MP_CLK_AUDIO_ROOT,
    and that clock is enabled by pgc_audio.
    
    Per the TRM, "The SDMA2/3 target frequency is 400MHz IPG and 400MHz
    AHB, always 1:1 mode, to make sure there is enough throughput for all
    the audio use cases."
    
    Instead of cluttering the clock node, place the clock rate and parent
    information into the pgc_audio node.
    
    With the parenting and clock rates restored for  IMX8MP_CLK_AUDIO_AHB,
    and IMX8MP_CLK_AUDIO_AXI_SRC, it appears the SDMA2 and SDMA3 run at
    400MHz again.
    
    Fixes: 16c98452 ("arm64: dts: imx8mp: don't initialize audio clocks from CCM node")
    Signed-off-by: default avatarAdam Ford <aford173@gmail.com>
    Reviewed-by: default avatarLucas Stach <l.stach@pengutronix.de>
    Reviewed-by: default avatarFabio Estevam <festevam@gmail.com>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    b739681b
imx8mp.dtsi 58.3 KB