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

Commit c0fa2373 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'clk-for-linus-3.18' of git://git.linaro.org/people/mike.turquette/linux

Pull clock tree updates from Mike Turquette:
 "The clk tree changes for 3.18 are dominated by clock drivers.  Mostly
  fixes and enhancements to existing drivers as well as new drivers.
  This tag contains a bit more arch code than I usually take due to some
  OMAP2+ changes.  Additionally it contains the restart notifier
  handlers which are merged as a dependency into several trees.

  The PXA changes are the only messy part.  Due to having a stable tree
  I had to revert one patch and follow up with one more fix near the tip
  of this tag.  Some dead code is introduced but it will soon become
  live code after 3.18-rc1 is released as the rest of the PXA family is
  converted over to the common clock framework.

  Another trend in this tag is that multiple vendors have started to
  push the complexity of changing their CPU frequency into the clock
  driver, whereas this used to be done in CPUfreq drivers.

  Changes to the clk core include a generic gpio-clock type and a
  clk_set_phase() function added to the top-level clk.h api.  Due to
  some confusion on the fbdev mailing list the kernel boot parameters
  documentation was updated to further explain the clk_ignore_unused
  parameter, which is often required by users of the simplefb driver.

  Finally some fixes to the locking around the clock debugfs stuff was
  done to prevent deadlocks when interacting with other subsystems."

* tag 'clk-for-linus-3.18' of git://git.linaro.org/people/mike.turquette/linux: (99 commits)
  clk: pxa clocks build system fix
  Revert "arm: pxa: Transition pxa27x to clk framework"
  clk: samsung: register restart handlers for s3c2412 and s3c2443
  clk: rockchip: add restart handler
  clk: rockchip: rk3288: i2s_frac adds flag to set parent's rate
  doc/kernel-parameters.txt: clarify clk_ignore_unused
  arm: pxa: Transition pxa27x to clk framework
  dts: add devicetree bindings for pxa27x clocks
  clk: add pxa27x clock drivers
  arm: pxa: add clock pll selection bits
  clk: dts: document pxa clock binding
  clk: add pxa clocks infrastructure
  clk: gpio-gate: Ensure gpiod_ APIs are prototyped
  clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe
  clk: ti: LLVMLinux: Move __init outside of type definition
  clk: ti: consider the fact that of_clk_get() might return an error
  clk: ti: dra7-atl-clock: fix a memory leak
  clk: ti: change clock init to use generic of_clk_init
  clk: hix5hd2: add I2C clocks
  clk: hix5hd2: add watchdog0 clocks
  ...
parents fcc3a5d2 98d147f5
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@ Required Properties:

- compatible: should be one of the following.
  - "samsung,exynos3250-cmu" - controller compatible with Exynos3250 SoC.
  - "samsung,exynos3250-cmu-dmc" - controller compatible with
    Exynos3250 SoC for Dynamic Memory Controller domain.

- reg: physical base address of the controller and length of memory mapped
  region.
@@ -20,7 +22,7 @@ All available clocks are defined as preprocessor macros in
dt-bindings/clock/exynos3250.h header and can be used in device
tree sources.

Example 1: An example of a clock controller node is listed below.
Example 1: Examples of clock controller nodes are listed below.

	cmu: clock-controller@10030000 {
		compatible = "samsung,exynos3250-cmu";
@@ -28,6 +30,12 @@ Example 1: An example of a clock controller node is listed below.
		#clock-cells = <1>;
	};

	cmu_dmc: clock-controller@105C0000 {
		compatible = "samsung,exynos3250-cmu-dmc";
		reg = <0x105C0000 0x2000>;
		#clock-cells = <1>;
	};

Example 2: UART controller node that consumes the clock generated by the clock
	   controller. Refer to the standard clock bindings for information
	   about 'clocks' and 'clock-names' property.
+21 −0
Original line number Diff line number Diff line
Binding for simple gpio gated clock.

This binding uses the common clock binding[1].

[1] Documentation/devicetree/bindings/clock/clock-bindings.txt

Required properties:
- compatible : shall be "gpio-gate-clock".
- #clock-cells : from common clock binding; shall be set to 0.
- enable-gpios : GPIO reference for enabling and disabling the clock.

Optional properties:
- clocks: Maximum of one parent clock is supported.

Example:
	clock {
		compatible = "gpio-gate-clock";
		clocks = <&parentclk>;
		#clock-cells = <0>;
		enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
	};
+12 −4
Original line number Diff line number Diff line
@@ -9,13 +9,21 @@ The MAX77686 contains three 32.768khz clock outputs that can be controlled
Following properties should be presend in main device node of the MFD chip.

Required properties:
- #clock-cells: simple one-cell clock specifier format is used, where the
  only cell is used as an index of the clock inside the provider. Following
  indices are allowed:

- #clock-cells: from common clock binding; shall be set to 1.

Optional properties:
- clock-output-names: From common clock binding.

Each clock is assigned an identifier and client nodes can use this identifier
to specify the clock which they consume. Following indices are allowed:
    - 0: 32khz_ap clock,
    - 1: 32khz_cp clock,
    - 2: 32khz_pmic clock.

Clocks are defined as preprocessor macros in dt-bindings/clock/maxim,max77686.h
header and can be used in device tree sources.

Example: Node of the MFD chip

	max77686: max77686@09 {
@@ -34,5 +42,5 @@ Example: Clock consumer node
		compatible = "bar,foo";
		/* ... */
		clock-names = "my-clock";
		clocks = <&max77686 2>;
		clocks = <&max77686 MAX77686_CLK_PMIC>;
	};
+44 −0
Original line number Diff line number Diff line
Binding for Maxim MAX77802 32k clock generator block

This is a part of device tree bindings of MAX77802 multi-function device.
More information can be found in bindings/mfd/max77802.txt file.

The MAX77802 contains two 32.768khz clock outputs that can be controlled
(gated/ungated) over I2C.

Following properties should be present in main device node of the MFD chip.

Required properties:
- #clock-cells: From common clock binding; shall be set to 1.

Optional properties:
- clock-output-names: From common clock binding.

Each clock is assigned an identifier and client nodes can use this identifier
to specify the clock which they consume. Following indices are allowed:
     - 0: 32khz_ap clock,
     - 1: 32khz_cp clock.

Clocks are defined as preprocessor macros in dt-bindings/clock/maxim,max77802.h
header and can be used in device tree sources.

Example: Node of the MFD chip

	max77802: max77802@09 {
		compatible = "maxim,max77802";
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 0>;
		reg = <0x09>;
		#clock-cells = <1>;

		/* ... */
	};

Example: Clock consumer node

	foo@0 {
		compatible = "bar,foo";
		/* ... */
		clock-names = "my-clock";
		clocks = <&max77802 MAX77802_CLK_32K_AP>;
	};
+16 −0
Original line number Diff line number Diff line
* Clock bindings for Marvell PXA chips

Required properties:
- compatible: Should be "marvell,pxa-clocks"
- #clock-cells: Should be <1>

The clock consumer should specify the desired clock by having the clock
ID in its "clocks" phandle cell (see include/.../pxa-clock.h).

Examples:

pxa2xx_clks: pxa2xx_clks@41300004 {
        compatible = "marvell,pxa-clocks";
        #clock-cells = <1>;
        status = "okay";
};
Loading