Re: [PATCH 3/3] cpufreq: imx-sc: add i.mx system controller cpufreq support

From: Viresh Kumar
Date: Wed Feb 13 2019 - 05:12:17 EST


On 13-02-19, 08:46, Anson Huang wrote:
> Hi, Viresh
>
> Best Regards!
> Anson Huang
>
> > -----Original Message-----
> > From: Viresh Kumar [mailto:viresh.kumar@xxxxxxxxxx]
> > Sent: 2019å2æ13æ 15:09
> > To: Anson Huang <anson.huang@xxxxxxx>
> > Cc: robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx; shawnguo@xxxxxxxxxx;
> > s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx;
> > catalin.marinas@xxxxxxx; will.deacon@xxxxxxx; rjw@xxxxxxxxxxxxx;
> > Aisheng Dong <aisheng.dong@xxxxxxx>; Daniel Baluta
> > <daniel.baluta@xxxxxxx>; Andy Gross <andy.gross@xxxxxxxxxx>;
> > horms+renesas@xxxxxxxxxxxx; heiko@xxxxxxxxx; arnd@xxxxxxxx;
> > bjorn.andersson@xxxxxxxxxx; jagan@xxxxxxxxxxxxxxxxxxxx;
> > enric.balletbo@xxxxxxxxxxxxx; marc.w.gonzalez@xxxxxxx; olof@xxxxxxxxx;
> > devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx; dl-linux-imx <linux-
> > imx@xxxxxxx>
> > Subject: Re: [PATCH 3/3] cpufreq: imx-sc: add i.mx system controller cpufreq
> > support
> >
> > On 13-02-19, 03:09, Anson Huang wrote:
> > > On NXP's i.MX SoCs with system controller inside, CPU frequency
> > > scaling can ONLY be done by system controller firmware, and it can
> > > ONLY be requested from secure mode, so Linux cpufreq driver has to
> > > call ARM SMC to trap to ARM-Trusted-Firmware to request system
> > > controller firmware to do CPU frequency scaling.
> > >
> > > This patch adds i.MX system controller cpufreq driver support, when
> > > doing CPU frequency scaling, cpufreq driver will do ARM SMC call and
> > > trap to ARM-Trusted-Firmware, then SIP(silicon provider) service will
> > > communicate with system controller for CPU frequenct scaling.
> > >
> > > Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
> > > ---
> > > drivers/cpufreq/Kconfig.arm | 9 ++
> > > drivers/cpufreq/Makefile | 1 +
> > > drivers/cpufreq/imx-sc-cpufreq.c | 183
> > > +++++++++++++++++++++++++++++++++++++++
> > > 3 files changed, 193 insertions(+)
> > > create mode 100644 drivers/cpufreq/imx-sc-cpufreq.c
> >
> > Why can't you use cpufreq-dt driver like everyone else ?
>
> Just notice that we can overwrite the set_target if using cpufreq-dt, then we still
> need a platform cpufreq file to implement arch_set_freq_scale(), I can use it to save

Why do you need to implement arch_set_freq_scale() ? It is already
defined for arm64 I believe.

> the code of imx system controller cpufreq driver, and BTW, can cpufreq-dt support
> multi clusters cpufreq? As i.MX8QM has 2 clusters running with different OPPs.

Yes, it supports multi-cluster.

--
viresh