RE: [PATCH 1/2] arm64: dts: imx8mq: Correct OPP table according to latest datasheet

From: Anson Huang
Date: Fri Jun 28 2019 - 02:59:30 EST




> -----Original Message-----
> From: Leonard Crestez
> Sent: Friday, June 28, 2019 2:45 PM
> To: Anson Huang <anson.huang@xxxxxxx>; Jacky Bai <ping.bai@xxxxxxx>;
> l.stach@xxxxxxxxxxxxxx
> Cc: shawnguo@xxxxxxxxxx; robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx;
> s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx;
> viresh.kumar@xxxxxxxxxx; Daniel Baluta <daniel.baluta@xxxxxxx>; Abel
> Vesa <abel.vesa@xxxxxxx>; andrew.smirnov@xxxxxxxxx;
> ccaione@xxxxxxxxxxxx; angus@xxxxxxxx; agx@xxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>
> Subject: Re: [PATCH 1/2] arm64: dts: imx8mq: Correct OPP table according to
> latest datasheet
>
> On 6/28/2019 9:16 AM, Anson Huang wrote:
> >> From: Leonard Crestez
> >>> From: Anson Huang <Anson.Huang@xxxxxxx>
> >>>
> >>> According to latest datasheet (Rev.1, 10/2018) from below links, in
> >>> the consumer datasheet, 1.5GHz is mentioned as highest opp but
> >>> depends on speed grading fuse, and in the industrial datasheet,
> >>> 1.3GHz is mentioned as highest opp but depends on speed grading
> >>> fuse. 1.5GHz and 1.3GHz opp use same voltage, so no need for
> >>> consumer part to support 1.3GHz opp, with same voltage, CPU should
> >>> run at highest frequency in order to go into idle as quick as possible, this
> can save power.
> >>
> >> I looked at the same datasheets and it's not clear to me that 1.3 Ghz
> >> should be disallowed for consumer parts. Power consumption increases
> >> with both voltage and frequency so having two OPPs with same voltage
> >> does make sense.
> >
> > The consumer part datasheet does NOT mention 1.3GHz at all, so
> > consumer part ONLY support 1GHz/1.5GHz, and industrial part ONLY
> > support 800MHz/1.3GHz, this is what we did in our internal tree and
> > NPI release, so better to make them aligned, otherwise, we have to change
> it when kernel upgrade.
>
> Datasheet seems ambiguous: it mentions "max freq for volt" so my
> understanding is that any lower freqs should also work at that voltage.
>
> This also seems to be the understanding behind commit 8cfd813c7307
> ("arm64: dts: imx8mq: fix higher CPU operating point") by Lucas.
>
> On datasheet page 7 it mentions that product code can have "JZ" or "HZ"
> for 1.3Ghz or 1.5Ghz. Are you saying that only industrial parts can be "JZ"?

If take a look at page 6 table2, industrial datasheet ONLY has "HZ", and consumer
Datasheet ONLY has "JZ". And yes, that is my understanding.

And considering our rule, I don't think is benefit for consumer part to run 1.3GHz.

>
> >>> opp-hz = /bits/ 64 <1500000000>;
> >>> opp-microvolt = <1000000>;
> >>> /* Consumer only but rely on speed grading */
> >>> - opp-supported-hw = <0x8>, <0x7>;
> >>> + opp-supported-hw = <0x8>, <0x3>;
> >>
> >> If you don't want to rely on the fact that only consumer parts should
> >> be fused for 1.5 Ghz then please delete the comment.
> >
> > Don't quite understand, 1.5GHz is indeed consumer ONLY, but if the
> > consumer part is fused to 1GHz, then 1.5GHz is also NOT available, so
> > it also rely on speed grading. So keep the comment there is OK?
>
> What I meant with that comment is that 1.5Ghz is only mentioned for
> consumer parts but instead of explicitly banning it on industrial parts we rely
> on MFG never fusing industrial parts for 1.5Ghz.
>
> Now you're explicitly banning it on industrial parts.

Yes, industrial parts never support up to 1.5GHz, so explicitly banning it is just OK.
The speed grading fuse and market segment fuse are actually has some overlap,
we better to implement both of them.

>
> This comment is indeed confusing so better to just remove all instances.

I agree to remove those comments, no need to let it introduce any confusion.

Anson.