]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.19/arm-dts-imx6qdl-specify-imx6qdl_clk_ipg-as-ipg-clock.patch
Linux 5.1.10
[thirdparty/kernel/stable-queue.git] / queue-4.19 / arm-dts-imx6qdl-specify-imx6qdl_clk_ipg-as-ipg-clock.patch
1 From 9ab0c828c495d6d625ce63acb151810ac4bd49a7 Mon Sep 17 00:00:00 2001
2 From: Andrey Smirnov <andrew.smirnov@gmail.com>
3 Date: Thu, 28 Mar 2019 23:49:16 -0700
4 Subject: ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
5
6 [ Upstream commit b14c872eebc501b9640b04f4a152df51d6eaf2fc ]
7
8 Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
9 clock to determine if it needs to configure the IP block as operating
10 at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
11 clocks as IMX6QDL_CLK_SDMA results in driver incorrectly thinking that
12 ratio is 1:1 which results in broken SDMA funtionality(this at least
13 breaks RAVE SP serdev driver on RDU2). Fix the code to specify
14 IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect
15 clock ratio.
16
17 Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
18 Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
19 Cc: Angus Ainslie (Purism) <angus@akkea.ca>
20 Cc: Chris Healy <cphealy@gmail.com>
21 Cc: Lucas Stach <l.stach@pengutronix.de>
22 Cc: Fabio Estevam <fabio.estevam@nxp.com>
23 Cc: Shawn Guo <shawnguo@kernel.org>
24 Cc: linux-arm-kernel@lists.infradead.org
25 Cc: linux-kernel@vger.kernel.org
26 Tested-by: Adam Ford <aford173@gmail.com>
27 Signed-off-by: Shawn Guo <shawnguo@kernel.org>
28 Signed-off-by: Sasha Levin <sashal@kernel.org>
29 ---
30 arch/arm/boot/dts/imx6qdl.dtsi | 2 +-
31 1 file changed, 1 insertion(+), 1 deletion(-)
32
33 diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
34 index 61d2d26afbf4..00d44a60972f 100644
35 --- a/arch/arm/boot/dts/imx6qdl.dtsi
36 +++ b/arch/arm/boot/dts/imx6qdl.dtsi
37 @@ -905,7 +905,7 @@
38 compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
39 reg = <0x020ec000 0x4000>;
40 interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
41 - clocks = <&clks IMX6QDL_CLK_SDMA>,
42 + clocks = <&clks IMX6QDL_CLK_IPG>,
43 <&clks IMX6QDL_CLK_SDMA>;
44 clock-names = "ipg", "ahb";
45 #dma-cells = <3>;
46 --
47 2.20.1
48