Re: [PATCH 3/5] ARC: AXS103: DTS: Add core pll node to manage cpu frequency

From: Eugeniy Paltsev
Date: Wed Aug 23 2017 - 08:19:03 EST


On Tue, 2017-08-22 at 13:45 -0700, Vineet Gupta wrote:
> On 08/14/2017 09:12 AM, Eugeniy Paltsev wrote:
> > Add core pll node (core_clk) to manage cpu frequency.
> > core_clk represents pll itself.
> > input_clk represents clock signal source (basically xtal) which
> > comes to pll input.
> >
> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>
> > ---
> > Â arch/arc/boot/dts/axc003.dtsiÂÂÂÂÂ| 11 +++++++++--
> > Â arch/arc/boot/dts/axc003_idu.dtsi | 11 +++++++++--
> > Â 2 files changed, 18 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/arc/boot/dts/axc003.dtsi
> > b/arch/arc/boot/dts/axc003.dtsi
> > index cc9239e..dca7e39 100644
> > --- a/arch/arc/boot/dts/axc003.dtsi
> > +++ b/arch/arc/boot/dts/axc003.dtsi
> > @@ -24,10 +24,17 @@
> > ÂÂ
> > ÂÂ ranges = <0x00000000 0x0 0xf0000000 0x10000000>;
> > ÂÂ
> > - core_clk: core_clk {
> > + input_clk: input-clk {
> > ÂÂ #clock-cells = <0>;
> > ÂÂ compatible = "fixed-clock";
> > - clock-frequency = <90000000>;
> > + clock-frequency = <33333333>;
> > + };
> > +
> > + core_clk: core-clk@80 {
> > + compatible = "snps,axs10x-arc-pll-clock";
> > + reg = <0x80 0x10>, <0x100 0x10>;
> > + #clock-cells = <0>;
> > + clocks = <&input_clk>;
> > ÂÂ };
> > ÂÂ
> > ÂÂ core_intc: archs-intc@cpu {
> > diff --git a/arch/arc/boot/dts/axc003_idu.dtsi
> > b/arch/arc/boot/dts/axc003_idu.dtsi
> > index 4ebb2170..5b56bef 100644
> > --- a/arch/arc/boot/dts/axc003_idu.dtsi
> > +++ b/arch/arc/boot/dts/axc003_idu.dtsi
> > @@ -24,10 +24,17 @@
> > ÂÂ
> > ÂÂ ranges = <0x00000000 0x0 0xf0000000 0x10000000>;
> > ÂÂ
> > - core_clk: core_clk {
> > + input_clk: input-clk {
> > ÂÂ #clock-cells = <0>;
> > ÂÂ compatible = "fixed-clock";
> > - clock-frequency = <100000000>;
> > + clock-frequency = <33333333>;
> > + };
> > +
> > + core_clk: core-clk@80 {
> > + compatible = "snps,axs10x-arc-pll-clock";
> > + reg = <0x80 0x10>, <0x100 0x10>;
> > + #clock-cells = <0>;
> > + clocks = <&input_clk>;
> > ÂÂ };
> > ÂÂ
> > ÂÂ core_intc: archs-intc@cpu {
>
>
> Do we have a bisectability issue here - isn't system broken
> temporarily at 2/5 -Â
> and only 3/5 makes it work again - if so we need to squash them
> together !

Could you please be more specific about this bisectability issue as I
can't see it here.

If we apply 2/5 and don't apply 3/5 we simply won't change frequency
after linux boot. We won't increase frequency so I can't see any
problem here here.



---
The only problem I can see is in 4/5:
I should use
cpu-freq = <90000000>;
instead of
cpu-freq = <100000000>;
in arch/arc/boot/dts/axc003.dtsi
So diff should be like
--------------->8-----------
+ÂÂÂÂÂÂÂcpus {
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ#address-cells = <1>;
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ#size-cells = <0>;
+
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂcpu@0 {
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂdevice_type = "cpu";
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂcompatible = "snps,archs38";
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreg = <0>;
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂcpu-freq = <90000000>;
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂclocks = <&core_clk>;
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ};
+ÂÂÂÂÂÂÂ};
+
--------------->8-----------

Should I send you v2 respin or you'll fix that up locally?

> -Vineet
--
ÂEugeniy Paltsev