[PATCH 2/2] clk: imx: imx7d: remove clks_init_on array

Anson Huang anson.huang at nxp.com
Mon Sep 3 00:20:53 PDT 2018



Anson Huang
Best Regards!


> -----Original Message-----
> From: Stephen Boyd <sboyd at kernel.org>
> Sent: Saturday, September 1, 2018 1:58 AM
> To: kernel at pengutronix.de; linux-arm-kernel at lists.infradead.org;
> linux-clk at vger.kernel.org; linux-kernel at vger.kernel.org;
> mturquette at baylibre.com; s.hauer at pengutronix.de; shawnguo at kernel.org;
> Anson Huang <anson.huang at nxp.com>; Fabio Estevam
> <fabio.estevam at nxp.com>; Jerome Forissier <jerome.forissier at linaro.org>;
> Peng Fan <peng.fan at nxp.com>; Rob Herring <robh at kernel.org>
> Cc: dl-linux-imx <linux-imx at nxp.com>
> Subject: Re: [PATCH 2/2] clk: imx: imx7d: remove clks_init_on array
> 
> Quoting Jerome Forissier (2018-08-31 01:01:44)
> >
> >
> > On 08/31/2018 03:29 AM, Stephen Boyd wrote:
> > > Quoting Peng Fan (2018-08-12 18:15:41)
> > >> Hi Anson,
> > >>
> > >>>>> -----Original Message-----
> > >>>>> From: Anson Huang
> > >>>>> Sent: 2018年8月8日 12:39
> > >>>>> To: shawnguo at kernel.org; s.hauer at pengutronix.de;
> > >>>>> kernel at pengutronix.de; Fabio Estevam <fabio.estevam at nxp.com>;
> > >>>>> mturquette at baylibre.com; sboyd at kernel.org;
> > >>>>> linux-arm-kernel at lists.infradead.org;
> > >>>>> linux-clk at vger.kernel.org; linux-kernel at vger.kernel.org
> > >>>>> Cc: dl-linux-imx <linux-imx at nxp.com>
> > >>>>> Subject: [PATCH 2/2] clk: imx: imx7d: remove clks_init_on array
> > >>>>>
> > >>>>> Clock framework will enable those clocks registered with
> > >>>>> CLK_IS_CRITICAL flag, so no need to have clks_init_on array
> > >>>>> during clock
> > >>>> initialization now.
> > >>>>
> > >>>> Will it be more flexible to parse dts saying "critical-clocks = <xxx>"
> > >>>> or "init-on-arrary=<xxx>"
> > >>>> and enable those clocks?
> > >>>
> > >>> Parsing the clocks arrays from dtb is another way of enabling
> > >>> critical clocks, but for current i.MX6/7 platforms, we implement
> > >>> it in same way as most of other SoCs, currently I did NOT see any
> > >>> necessity of putting them in dtb, just adding flag during clock
> > >>> registering is more simple, if there is any special requirement
> > >>> for different clocks set to be enabled, then we can add support to enable
> the method of parsing critical-clocks from dtb. Just my two cents.
> > >>
> > >> Thinking about OP-TEE want to use one device, but it's clocks are
> > >> registered by Linux, because there is no module in Linux side use
> > >> it, it will shutdown the clock, which cause OP-TEE could not access the
> device.
> > >>
> > >> Then people have to modify clk code to add CLK_IS_CRITICAL flag to
> > >> make sure the clocks are not shutdown by Linux.
> > >>
> > >> However adding a new property in clk node and let driver code parse
> > >> the dts, there is no need to modify clk driver code when OP-TEE needs
> another device clock.
> > >>
> > >
> > > If OP-TEE needs linux to keep things on then why can't the OP-TEE
> > > driver in Linux probe, acquire clocks, and keep the clks enabled forever?
> >
> > Sounds reasonable, but how could this be done without introducing
> > platform-specific stuff in the OP-TEE driver?
> >
> 
> Why is that a goal?
 
I do NOT think we should consider such case in this patch series, whatever OP-TEE needs for its own
feature, it should do necessary operations either in its driver or somewhere else by adding new patch.

Anson.



More information about the linux-arm-kernel mailing list