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

From: Anson Huang
Date: Wed Feb 13 2019 - 03:46:57 EST


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
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.

Thanks,
Anson.

>
> --
> viresh