* [PATCH] ARM: dts: sun6i: Re-parent ahb1_mux to pll6 as required by dma controller
@ 2014-11-06 11:56 Chen-Yu Tsai
2014-11-08 14:57 ` Maxime Ripard
0 siblings, 1 reply; 2+ messages in thread
From: Chen-Yu Tsai @ 2014-11-06 11:56 UTC (permalink / raw)
To: linux-arm-kernel
The dma controller requires that the ahb1 bus clock be driven by pll6
for peripheral access to work. Previously this was done in the dma
controller driver, but was since removed as part of a series to unify
the ahb1_mux and ahb1 clock drivers, in
14e0e28 dmaengine: sun6i: Remove obsolete clk muxing code
Unfortunately the rest of that series did not make it, leaving us with
broken dma on sun6i.
This patch reparents ahb1_mux to pll6 using the DT assigned-clocks
properties in the dma controller node.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
Hi Maxime,
This is for 3.18 to fix broken dma. I have verified the clock register
bits on my A31 Hummingbird. Though I do not have actual hardware to test
dma peripherals, since this does return things to the way they were, it
is a proper fix.
Sorry for the breakage.
ChenYu
---
arch/arm/boot/dts/sun6i-a31.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index e80288e..4c4792f 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -361,6 +361,10 @@
clocks = <&ahb1_gates 6>;
resets = <&ahb1_rst 6>;
#dma-cells = <1>;
+
+ /* DMA controller requires AHB1 clocked from PLL6 */
+ assigned-clocks = <&ahb1_mux>;
+ assigned-clock-parents = <&pll6>;
};
mmc0: mmc at 01c0f000 {
--
2.1.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* [PATCH] ARM: dts: sun6i: Re-parent ahb1_mux to pll6 as required by dma controller
2014-11-06 11:56 [PATCH] ARM: dts: sun6i: Re-parent ahb1_mux to pll6 as required by dma controller Chen-Yu Tsai
@ 2014-11-08 14:57 ` Maxime Ripard
0 siblings, 0 replies; 2+ messages in thread
From: Maxime Ripard @ 2014-11-08 14:57 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Nov 06, 2014 at 07:56:49PM +0800, Chen-Yu Tsai wrote:
> The dma controller requires that the ahb1 bus clock be driven by pll6
> for peripheral access to work. Previously this was done in the dma
> controller driver, but was since removed as part of a series to unify
> the ahb1_mux and ahb1 clock drivers, in
>
> 14e0e28 dmaengine: sun6i: Remove obsolete clk muxing code
>
> Unfortunately the rest of that series did not make it, leaving us with
> broken dma on sun6i.
>
> This patch reparents ahb1_mux to pll6 using the DT assigned-clocks
> properties in the dma controller node.
>
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
> Hi Maxime,
>
> This is for 3.18 to fix broken dma. I have verified the clock register
> bits on my A31 Hummingbird. Though I do not have actual hardware to test
> dma peripherals, since this does return things to the way they were, it
> is a proper fix.
>
> Sorry for the breakage.
Tested and applied, thanks !
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141108/40831afa/attachment.sig>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-11-08 14:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-06 11:56 [PATCH] ARM: dts: sun6i: Re-parent ahb1_mux to pll6 as required by dma controller Chen-Yu Tsai
2014-11-08 14:57 ` Maxime Ripard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox