Re: [RFC] riscv: dts: microchip: add OPPs to mpfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 26, 2022 at 05:54:16AM +0000, Padmarao.Begari@xxxxxxxxxxxxx wrote:
> Hi Conor,
> > On Mon, 2022-10-24 at 20:36 +0100, Conor Dooley wrote:
> > 
> > From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> > 
> > The U-Boot dts for mpfs defines three OPPs which are missing from the
> > Linux dts. For ease of synchronisation of the two, add the missing
> > OPPs
> > to the Linux dt too.
> > 
> > CC: Padmarao Begari <padmarao.begari@xxxxxxxxxxxxx>
> > Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> > ---
> > 
> > Hey Padmarao,
> > I've been trying to pick off the bits that're different between the
> > Linux
> > & U-Boot dts. Do you remember why we added OPPs to the U-Boot dts but
> > didn't propagate them elsewhere?
> > 
> 
> Initially We added OPPs to the Linux dts for the CPU Frequency and
> Voltage scaling while bringing up the Linux on an Emulation Platform
> and the Icicle Kit for PolarFire SoC and same dts used for the U-Boot
> but the U-Boot dts upstreamed first.

Right. So do we know if they're even correct values for an actual
PolarFire SoC?

> >  arch/riscv/boot/dts/microchip/mpfs.dtsi | 23 +++++++++++++++++++++++
> >  1 file changed, 23 insertions(+)
> > 
> > diff --git a/arch/riscv/boot/dts/microchip/mpfs.dtsi
> > b/arch/riscv/boot/dts/microchip/mpfs.dtsi
> > index 0a9bb84af438..9d9ff7174341 100644
> > --- a/arch/riscv/boot/dts/microchip/mpfs.dtsi
> > +++ b/arch/riscv/boot/dts/microchip/mpfs.dtsi
> > @@ -23,6 +23,7 @@ cpu0: cpu@0 {
> >                         reg = <0>;
> >                         riscv,isa = "rv64imac";
> >                         clocks = <&clkcfg CLK_CPU>;
> > +                       operating-points-v2 = <&cluster0_opps>;
> >                         status = "disabled";
> > 
> >                         cpu0_intc: interrupt-controller {
> > @@ -51,6 +52,7 @@ cpu1: cpu@1 {
> >                         clocks = <&clkcfg CLK_CPU>;
> >                         tlb-split;
> >                         next-level-cache = <&cctrllr>;
> > +                       operating-points-v2 = <&cluster0_opps>;
> >                         status = "okay";
> > 
> >                         cpu1_intc: interrupt-controller {
> > @@ -79,6 +81,7 @@ cpu2: cpu@2 {
> >                         clocks = <&clkcfg CLK_CPU>;
> >                         tlb-split;
> >                         next-level-cache = <&cctrllr>;
> > +                       operating-points-v2 = <&cluster0_opps>;
> >                         status = "okay";
> > 
> >                         cpu2_intc: interrupt-controller {
> > @@ -107,6 +110,7 @@ cpu3: cpu@3 {
> >                         clocks = <&clkcfg CLK_CPU>;
> >                         tlb-split;
> >                         next-level-cache = <&cctrllr>;
> > +                       operating-points-v2 = <&cluster0_opps>;
> >                         status = "okay";
> > 
> >                         cpu3_intc: interrupt-controller {
> > @@ -136,6 +140,7 @@ cpu4: cpu@4 {
> >                         tlb-split;
> >                         next-level-cache = <&cctrllr>;
> >                         status = "okay";
> > +                       operating-points-v2 = <&cluster0_opps>;
> >                         cpu4_intc: interrupt-controller {
> >                                 #interrupt-cells = <1>;
> >                                 compatible = "riscv,cpu-intc";
> > @@ -166,6 +171,24 @@ core4 {
> >                                 };
> >                         };
> >                 };
> > +
> > +               cluster0_opps: opp-table {
> > +                       compatible = "operating-points-v2";
> > +                       opp-shared;
> > +
> > +                       opp-600000000 {
> > +                           opp-hz = /bits/ 64 <600000000>;
> > +                           opp-microvolt = <1100000>;
> > +                       };
> > +                       opp-300000000 {
> > +                           opp-hz = /bits/ 64 <300000000>;
> > +                           opp-microvolt = <950000>;
> > +                       };
> > +                       opp-150000000 {
> > +                           opp-hz = /bits/ 64 <150000000>;
> > +                           opp-microvolt = <750000>;
> > +                       };
> > +               };
> >         };
> > 
> >         refclk: mssrefclk {
> > --
> > 2.38.0
> > 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux