Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1274433

Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes

From Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes
Date 2015-11-20 22:10 +0100
Message-ID <qx16q-49x-13@gated-at.bofh.it> (permalink)
References <qwPyi-4PB-11@gated-at.bofh.it> <qwPyi-4PB-27@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 20.11.2015 09:42, Jisheng Zhang wrote:
> Add syspll, mempll, cpupll, gateclk and berlin-clk nodes.
> 
> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> ---
>  arch/arm64/boot/dts/marvell/berlin4ct.dtsi | 38 ++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/marvell/berlin4ct.dtsi b/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
> index a4a1876..808a997 100644
> --- a/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
> +++ b/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
> @@ -42,6 +42,7 @@
>   *     OTHER DEALINGS IN THE SOFTWARE.
>   */
>  
> +#include <dt-bindings/clock/berlin4ct.h>
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  
>  / {
> @@ -135,6 +136,22 @@
>  			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
>  		};
>  
> +		cpupll: cpupll {
> +			compatible = "marvell,berlin-pll";
> +			reg = <0x922000 0x14>, <0xea0710 4>;
> +			#clock-cells = <0>;
> +			clocks = <&osc>, <&clk CLK_CPUFASTREF>;
> +			bypass-shift = /bits/ 8 <2>;
> +		};
> +
> +		mempll: mempll {
> +			compatible = "marvell,berlin-pll";
> +			reg = <0x940034 0x14>, <0xea0710 4>;

Whenever you see overlapping/repeating reg ranges, e.g. <0xea0710 4>
you can be sure you are not representing HW structure but driver
structure here.

Please merge clocks/gates/plls to a single clock complex node
and deal with the internals by using "simple-mfd" and "syscon" regmaps.

> +			#clock-cells = <0>;
> +			clocks = <&osc>, <&clk CLK_MEMFASTREF>;
> +			bypass-shift = /bits/ 8 <1>;
> +		};
> +
>  		apb@e80000 {
>  			compatible = "simple-bus";
>  			#address-cells = <1>;
> @@ -225,6 +242,27 @@
>  			};
>  		};
>  
> +		syspll: syspll {
> +			compatible = "marvell,berlin-pll";
> +			reg = <0xea0200 0x14>, <0xea0710 4>;
> +			#clock-cells = <0>;
> +			clocks = <&osc>;
> +			bypass-shift = /bits/ 8 <0>;
> +		};
> +
> +		gateclk: gateclk {
> +			compatible = "marvell,berlin4ct-gateclk";
> +			reg = <0xea0700 4>;
> +			#clock-cells = <1>;
> +		};
> +
> +		clk: clk {
> +			compatible = "marvell,berlin4ct-clk";
> +			reg = <0xea0720 0x144>;

Looking at the reg ranges, I'd say that they are all clock related
and pretty close to each other:

gateclk: reg = <0xea0700 4>;
bypass:  reg = <0xea0710 4>;
clk:     reg = <0xea0720 0x144>;

So, please just follow the OF/driver structure we already
have for Berlin2.

Sebastian

> +			#clock-cells = <1>;
> +			clocks = <&syspll>;
> +		};
> +
>  		soc_pinctrl: pin-controller@ea8000 {
>  			compatible = "marvell,berlin4ct-soc-pinctrl";
>  			reg = <0xea8000 0x14>;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Jisheng Zhang <jszhang@marvell.com> - 2015-11-20 09:50 +0100
  Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> - 2015-11-20 22:10 +0100
    Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Jisheng Zhang <jszhang@marvell.com> - 2015-11-23 08:30 +0100
      Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Jisheng Zhang <jszhang@marvell.com> - 2015-11-23 09:20 +0100
      Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> - 2015-11-23 09:40 +0100
        Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Jisheng Zhang <jszhang@marvell.com> - 2015-11-23 10:00 +0100
          Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Jisheng Zhang <jszhang@marvell.com> - 2015-11-24 03:40 +0100
            Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> - 2015-11-27 09:00 +0100
              Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Jisheng Zhang <jszhang@marvell.com> - 2015-11-27 09:50 +0100
                Re: [PATCH v2 6/6] arm64: dts: berlin4ct: add pll and clock nodes Jisheng Zhang <jszhang@marvell.com> - 2015-11-27 09:50 +0100

csiph-web