Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7535d8f9 authored by Mike Turquette's avatar Mike Turquette
Browse files

Merge branch 'clk-next-shmobile' into clk-next

parents cdf64eee f94859c2
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
* Renesas CPG DIV6 Clock

The CPG DIV6 clocks are variable factor clocks provided by the Clock Pulse
Generator (CPG). They clock input is divided by a configurable factor from 1
to 64.

Required Properties:

  - compatible: Must be one of the following
    - "renesas,r8a7790-div6-clock" for R8A7790 (R-Car H2) DIV6 clocks
    - "renesas,r8a7791-div6-clock" for R8A7791 (R-Car M2) DIV6 clocks
    - "renesas,cpg-div6-clock" for generic DIV6 clocks
  - reg: Base address and length of the memory resource used by the DIV6 clock
  - clocks: Reference to the parent clock
  - #clock-cells: Must be 0
  - clock-output-names: The name of the clock as a free-form string


Example
-------

	sd2_clk: sd2_clk@e6150078 {
		compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
		reg = <0 0xe6150078 0 4>;
		clocks = <&pll1_div2_clk>;
		#clock-cells = <0>;
		clock-output-names = "sd2";
	};
+51 −0
Original line number Diff line number Diff line
* Renesas CPG Module Stop (MSTP) Clocks

The CPG can gate SoC device clocks. The gates are organized in groups of up to
32 gates.

This device tree binding describes a single 32 gate clocks group per node.
Clocks are referenced by user nodes by the MSTP node phandle and the clock
index in the group, from 0 to 31.

Required Properties:

  - compatible: Must be one of the following
    - "renesas,r8a7790-mstp-clocks" for R8A7790 (R-Car H2) MSTP gate clocks
    - "renesas,r8a7791-mstp-clocks" for R8A7791 (R-Car M2) MSTP gate clocks
    - "renesas,cpg-mstp-clock" for generic MSTP gate clocks
  - reg: Base address and length of the I/O mapped registers used by the MSTP
    clocks. The first register is the clock control register and is mandatory.
    The second register is the clock status register and is optional when not
    implemented in hardware.
  - clocks: Reference to the parent clocks, one per output clock. The parents
    must appear in the same order as the output clocks.
  - #clock-cells: Must be 1
  - clock-output-names: The name of the clocks as free-form strings
  - renesas,indices: Indices of the gate clocks into the group (0 to 31)

The clocks, clock-output-names and renesas,indices properties contain one
entry per gate clock. The MSTP groups are sparsely populated. Unimplemented
gate clocks must not be declared.


Example
-------

	#include <dt-bindings/clock/r8a7790-clock.h>

	mstp3_clks: mstp3_clks@e615013c {
		compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
		reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
		clocks = <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, <&sd2_clk>,
			 <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>,
			 <&mmc0_clk>;
		#clock-cells = <1>;
		clock-output-names =
			"tpu0", "mmcif1", "sdhi3", "sdhi2",
			 "sdhi1", "sdhi0", "mmcif0";
		renesas,clock-indices = <
			R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
			R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
			R8A7790_CLK_MMCIF0
		>;
	};
+32 −0
Original line number Diff line number Diff line
* Renesas R-Car Gen2 Clock Pulse Generator (CPG)

The CPG generates core clocks for the R-Car Gen2 SoCs. It includes three PLLs
and several fixed ratio dividers.

Required Properties:

  - compatible: Must be one of
    - "renesas,r8a7790-cpg-clocks" for the r8a7790 CPG
    - "renesas,r8a7791-cpg-clocks" for the r8a7791 CPG
    - "renesas,rcar-gen2-cpg-clocks" for the generic R-Car Gen2 CPG

  - reg: Base address and length of the memory resource used by the CPG

  - clocks: Reference to the parent clock
  - #clock-cells: Must be 1
  - clock-output-names: The names of the clocks. Supported clocks are "main",
    "pll0", "pll1", "pll3", "lb", "qspi", "sdh", "sd0", "sd1" and "z"


Example
-------

	cpg_clocks: cpg_clocks@e6150000 {
		compatible = "renesas,r8a7790-cpg-clocks",
			     "renesas,rcar-gen2-cpg-clocks";
		reg = <0 0xe6150000 0 0x1000>;
		clocks = <&extal_clk>;
		#clock-cells = <1>;
		clock-output-names = "main", "pll0, "pll1", "pll3",
				     "lb", "qspi", "sdh", "sd0", "sd1", "z";
	};
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ obj-$(CONFIG_ARCH_TEGRA) += tegra/
obj-$(CONFIG_PLAT_SAMSUNG)	+= samsung/
obj-$(CONFIG_COMMON_CLK_XGENE)  += clk-xgene.o
obj-$(CONFIG_COMMON_CLK_KEYSTONE)	+= keystone/
obj-$(CONFIG_ARCH_SHMOBILE_MULTI)	+= shmobile/

obj-$(CONFIG_X86)		+= x86/

+7 −0
Original line number Diff line number Diff line
obj-$(CONFIG_ARCH_R8A7790)		+= clk-rcar-gen2.o
obj-$(CONFIG_ARCH_R8A7791)		+= clk-rcar-gen2.o
obj-$(CONFIG_ARCH_SHMOBILE_MULTI)	+= clk-div6.o
obj-$(CONFIG_ARCH_SHMOBILE_MULTI)	+= clk-mstp.o

# for emply built-in.o
obj-n	:= dummy
Loading