[PATCH 00/13] arm64: Allwinner A64 support based on sunxi-ng
From: Jean-Francois Moine <hidden>
Date: 2016-08-01 12:00:35
Also in:
linux-clk, linux-devicetree, lkml
From: Jean-Francois Moine <hidden>
Date: 2016-08-01 12:00:35
Also in:
linux-clk, linux-devicetree, lkml
On Mon, 1 Aug 2016 17:13:34 +0800 Chen-Yu Tsai [off-list ref] wrote:
quoted
But I don't see why you are keeping the simple-gates. The bus gate may be ungated/gated when the clock is enabled/disabled, and that's what Allwinner's software does.For peripherals that have a separate mod clock, having them separate is a good thing. One example might be the audio codecs. You could ungate the bus gate to access its registers to program it, but only enable the mod clock when you actually play something.
The roles of the bus gate and the clock gate are the same. I don't see any reason to set one gate without setting the other one. More, the spec says what the bus gate must be enabled before the clock gate (and reverse order while disabling). So, setting both gates in one function call seems safer. Then, if you want to save some power while not playing anything, just do clk_disable() of the (main and only) i2s clock. -- Ken ar c'henta? | ** Breizh ha Linux atav! ** Jef | http://moinejf.free.fr/