Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX7D_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX7D_CLK_IPG as "ipg" clock for SDMA, to avoid detecting
incorrect clock ratio.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Andrey Smirnov and committed by
Shawn Guo
412b032a 89791177

+2 -2
+2 -2
arch/arm/boot/dts/imx7s.dtsi
··· 1155 1155 compatible = "fsl,imx7d-sdma", "fsl,imx35-sdma"; 1156 1156 reg = <0x30bd0000 0x10000>; 1157 1157 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 1158 - clocks = <&clks IMX7D_SDMA_CORE_CLK>, 1159 - <&clks IMX7D_AHB_CHANNEL_ROOT_CLK>; 1158 + clocks = <&clks IMX7D_IPG_ROOT_CLK>, 1159 + <&clks IMX7D_SDMA_CORE_CLK>; 1160 1160 clock-names = "ipg", "ahb"; 1161 1161 #dma-cells = <3>; 1162 1162 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";