[v3 2/3] pwm: Add Aspeed ast2600 PWM support
billy_tsai at aspeedtech.com
Mon Nov 7 20:25:37 AEDT 2022
On 2022/11/7, 4:55 PM, "Biju Das" <biju.das.jz at bp.renesas.com> wrote:
> > -----Original Message-----
> > From: Billy Tsai <billy_tsai at aspeedtech.com>
> > Sent: 07 November 2022 08:48
> > To: Biju Das <biju.das.jz at bp.renesas.com>; jdelvare at suse.com; linux at roeck-
> > us.net; robh+dt at kernel.org; joel at jms.id.au; andrew at aj.id.au;
> > lee.jones at linaro.org; thierry.reding at gmail.com; u.kleine-
> > koenig at pengutronix.de; p.zabel at pengutronix.de; linux-hwmon at vger.kernel.org;
> > devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-
> > aspeed at lists.ozlabs.org; linux-kernel at vger.kernel.org; linux-
> > pwm at vger.kernel.org; BMC-SW <BMC-SW at aspeedtech.com>; garnermic at meta.com
> > Cc: kernel test robot <lkp at intel.com>
> > Subject: Re: [v3 2/3] pwm: Add Aspeed ast2600 PWM support
> > On 2022/11/2, 11:56 PM, "Biju Das" <biju.das.jz at bp.renesas.com> wrote:
> > > > + parent_dev = of_find_device_by_node(np);
> > > > + priv->clk = devm_clk_get_enabled(&parent_dev->dev, NULL);
> > > > + if (IS_ERR(priv->clk))
> > > > + return dev_err_probe(dev, PTR_ERR(priv->clk),
> > > > + "Couldn't get clock\n");
> > > What is the use case?
> > > Is pwm configured by boot loader initially ?
> > > Or
> > > pwm configured by Linux, not by the bootloader initially?
> > > Or
> > > Driver needs to handle both cases?
> > > Just asking, because you are turning on the clock unnecessarily here,
> > > If you need to address all the use cases. If it is just first one, then
> > > It is ok.
> > Hi Biju,
> > The driver want to handle all of the use cases. Can you tell me why turning
> > on the clock is unnecessarily here?
> For the use case, "pwm configured by Linux, not by the bootloader initially",
> You are unnecessarily turning on the clocks. You could
> enable it during pwm_enable
> and disable it during pwm_disable.
> For configuring registers, while pwm is in disable state,
> you could just turn on the clock and do the register configurations and turn it off.
> By this way you are saving power.
This clock is the source clock for the pwm controller (include the accessing for the register).
For the output of the PWM (pwm_enable/pwm_disable), the controller have another register to control it.
More information about the Linux-aspeed