[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160801140012.41b8609b69faa1fe1d7d2a4a@free.fr>
Date: Mon, 1 Aug 2016 14:00:12 +0200
From: Jean-Francois Moine <moinejf@...e.fr>
To: Chen-Yu Tsai <wens@...e.org>
Cc: André Przywara <andre.przywara@....com>,
Maxime Ripard <maxime.ripard@...e-electrons.com>,
Rob Herring <robh+dt@...nel.org>,
Mike Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...eaurora.org>,
devicetree <devicetree@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-clk <linux-clk@...r.kernel.org>
Subject: Re: [PATCH 00/13] arm64: Allwinner A64 support based on sunxi-ng
On Mon, 1 Aug 2016 17:13:34 +0800
Chen-Yu Tsai <wens@...e.org> wrote:
> > 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/
Powered by blists - more mailing lists