forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'clk-for-linus-3.14-part1' of git://git.linaro.org/people/m…
…ike.turquette/linux Pull clk framework changes from Mike Turquette: "The first half of the clk framework pull request is made up almost entirely of new platform/driver support. There are some conversions of existing drivers to the common-clock Device Tree binding, and a few non-critical fixes to the framework. Due to an entirely unnecessary cyclical dependency with the arm-soc tree this pull request is broken into two pieces. The second piece will be sent out after arm-soc sends you the pull request that merged in core support for the HiSilicon 3620 platform. That same pull request from arm-soc depends on this pull request to merge in those HiSilicon bits without causing build failures" [ Just did the ARM SoC merges, so getting ready for the second clk tree pull request - Linus ] * tag 'clk-for-linus-3.14-part1' of git://git.linaro.org/people/mike.turquette/linux: (97 commits) devicetree: bindings: Document qcom,mmcc devicetree: bindings: Document qcom,gcc clk: qcom: Add support for MSM8660's global clock controller (GCC) clk: qcom: Add support for MSM8974's multimedia clock controller (MMCC) clk: qcom: Add support for MSM8974's global clock controller (GCC) clk: qcom: Add support for MSM8960's multimedia clock controller (MMCC) clk: qcom: Add support for MSM8960's global clock controller (GCC) clk: qcom: Add reset controller support clk: qcom: Add support for branches/gate clocks clk: qcom: Add support for root clock generators (RCGs) clk: qcom: Add support for phase locked loops (PLLs) clk: qcom: Add a regmap type clock struct clk: Add set_rate_and_parent() op reset: Silence warning in reset-controller.h clk: sirf: re-arch to make the codes support both prima2 and atlas6 clk: composite: pass mux_hw into determine_rate clk: shmobile: Fix MSTP clock array initialization clk: shmobile: Fix MSTP clock index ARM: dts: Add clock provider specific properties to max77686 node clk: max77686: Register OF clock provider ...
- Loading branch information
Showing
111 changed files
with
22,451 additions
and
1,577 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
Device tree Clock bindings for Renesas EMMA Mobile EV2 | ||
|
||
This binding uses the common clock binding. | ||
|
||
* SMU | ||
System Management Unit described in user's manual R19UH0037EJ1000_SMU. | ||
This is not a clock provider, but clocks under SMU depend on it. | ||
|
||
Required properties: | ||
- compatible: Should be "renesas,emev2-smu" | ||
- reg: Address and Size of SMU registers | ||
|
||
* SMU_CLKDIV | ||
Function block with an input mux and a divider, which corresponds to | ||
"Serial clock generator" in fig."Clock System Overview" of the manual, | ||
and "xxx frequency division setting register" (XXXCLKDIV) registers. | ||
This makes internal (neither input nor output) clock that is provided | ||
to input of xxxGCLK block. | ||
|
||
Required properties: | ||
- compatible: Should be "renesas,emev2-smu-clkdiv" | ||
- reg: Byte offset from SMU base and Bit position in the register | ||
- clocks: Parent clocks. Input clocks as described in clock-bindings.txt | ||
- #clock-cells: Should be <0> | ||
|
||
* SMU_GCLK | ||
Clock gating node shown as "Clock stop processing block" in the | ||
fig."Clock System Overview" of the manual. | ||
Registers are "xxx clock gate control register" (XXXGCLKCTRL). | ||
|
||
Required properties: | ||
- compatible: Should be "renesas,emev2-smu-gclk" | ||
- reg: Byte offset from SMU base and Bit position in the register | ||
- clocks: Input clock as described in clock-bindings.txt | ||
- #clock-cells: Should be <0> | ||
|
||
Example of provider: | ||
|
||
usia_u0_sclkdiv: usia_u0_sclkdiv { | ||
compatible = "renesas,emev2-smu-clkdiv"; | ||
reg = <0x610 0>; | ||
clocks = <&pll3_fo>, <&pll4_fo>, <&pll1_fo>, <&osc1_fo>; | ||
#clock-cells = <0>; | ||
}; | ||
|
||
usia_u0_sclk: usia_u0_sclk { | ||
compatible = "renesas,emev2-smu-gclk"; | ||
reg = <0x4a0 1>; | ||
clocks = <&usia_u0_sclkdiv>; | ||
#clock-cells = <0>; | ||
}; | ||
|
||
Example of consumer: | ||
|
||
uart@e1020000 { | ||
compatible = "renesas,em-uart"; | ||
reg = <0xe1020000 0x38>; | ||
interrupts = <0 8 0>; | ||
clocks = <&usia_u0_sclk>; | ||
clock-names = "sclk"; | ||
}; | ||
|
||
Example of clock-tree description: | ||
|
||
This describes a clock path in the clock tree | ||
c32ki -> pll3_fo -> usia_u0_sclkdiv -> usia_u0_sclk | ||
|
||
smu@e0110000 { | ||
compatible = "renesas,emev2-smu"; | ||
reg = <0xe0110000 0x10000>; | ||
#address-cells = <2>; | ||
#size-cells = <0>; | ||
|
||
c32ki: c32ki { | ||
compatible = "fixed-clock"; | ||
clock-frequency = <32768>; | ||
#clock-cells = <0>; | ||
}; | ||
pll3_fo: pll3_fo { | ||
compatible = "fixed-factor-clock"; | ||
clocks = <&c32ki>; | ||
clock-div = <1>; | ||
clock-mult = <7000>; | ||
#clock-cells = <0>; | ||
}; | ||
usia_u0_sclkdiv: usia_u0_sclkdiv { | ||
compatible = "renesas,emev2-smu-clkdiv"; | ||
reg = <0x610 0>; | ||
clocks = <&pll3_fo>; | ||
#clock-cells = <0>; | ||
}; | ||
usia_u0_sclk: usia_u0_sclk { | ||
compatible = "renesas,emev2-smu-gclk"; | ||
reg = <0x4a0 1>; | ||
clocks = <&usia_u0_sclkdiv>; | ||
#clock-cells = <0>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
* Hisilicon Hi3620 Clock Controller | ||
|
||
The Hi3620 clock controller generates and supplies clock to various | ||
controllers within the Hi3620 SoC. | ||
|
||
Required Properties: | ||
|
||
- compatible: should be one of the following. | ||
- "hisilicon,hi3620-clock" - controller compatible with Hi3620 SoC. | ||
|
||
- reg: physical base address of the controller and length of memory mapped | ||
region. | ||
|
||
- #clock-cells: should be 1. | ||
|
||
Each clock is assigned an identifier and client nodes use this identifier | ||
to specify the clock which they consume. | ||
|
||
All these identifier could be found in <dt-bindings/clock/hi3620-clock.h>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
38 changes: 38 additions & 0 deletions
38
Documentation/devicetree/bindings/clock/maxim,max77686.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
Binding for Maxim MAX77686 32k clock generator block | ||
|
||
This is a part of device tree bindings of MAX77686 multi-function device. | ||
More information can be found in bindings/mfd/max77686.txt file. | ||
|
||
The MAX77686 contains three 32.768khz clock outputs that can be controlled | ||
(gated/ungated) over I2C. | ||
|
||
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: | ||
- 0: 32khz_ap clock, | ||
- 1: 32khz_cp clock, | ||
- 2: 32khz_pmic clock. | ||
|
||
Example: Node of the MFD chip | ||
|
||
max77686: max77686@09 { | ||
compatible = "maxim,max77686"; | ||
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 = <&max77686 2>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
Qualcomm Global Clock & Reset Controller Binding | ||
------------------------------------------------ | ||
|
||
Required properties : | ||
- compatible : shall contain only one of the following: | ||
|
||
"qcom,gcc-msm8660" | ||
"qcom,gcc-msm8960" | ||
"qcom,gcc-msm8974" | ||
|
||
- reg : shall contain base register location and length | ||
- #clock-cells : shall contain 1 | ||
- #reset-cells : shall contain 1 | ||
|
||
Example: | ||
clock-controller@900000 { | ||
compatible = "qcom,gcc-msm8960"; | ||
reg = <0x900000 0x4000>; | ||
#clock-cells = <1>; | ||
#reset-cells = <1>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
Qualcomm Multimedia Clock & Reset Controller Binding | ||
---------------------------------------------------- | ||
|
||
Required properties : | ||
- compatible : shall contain only one of the following: | ||
|
||
"qcom,mmcc-msm8660" | ||
"qcom,mmcc-msm8960" | ||
"qcom,mmcc-msm8974" | ||
|
||
- reg : shall contain base register location and length | ||
- #clock-cells : shall contain 1 | ||
- #reset-cells : shall contain 1 | ||
|
||
Example: | ||
clock-controller@4000000 { | ||
compatible = "qcom,mmcc-msm8960"; | ||
reg = <0x4000000 0x1000>; | ||
#clock-cells = <1>; | ||
#reset-cells = <1>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
Binding for Silicon Labs 570, 571, 598 and 599 programmable | ||
I2C clock generators. | ||
|
||
Reference | ||
This binding uses the common clock binding[1]. Details about the devices can be | ||
found in the data sheets[2][3]. | ||
|
||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
[2] Si570/571 Data Sheet | ||
http://www.silabs.com/Support%20Documents/TechnicalDocs/si570.pdf | ||
[3] Si598/599 Data Sheet | ||
http://www.silabs.com/Support%20Documents/TechnicalDocs/si598-99.pdf | ||
|
||
Required properties: | ||
- compatible: Shall be one of "silabs,si570", "silabs,si571", | ||
"silabs,si598", "silabs,si599" | ||
- reg: I2C device address. | ||
- #clock-cells: From common clock bindings: Shall be 0. | ||
- factory-fout: Factory set default frequency. This frequency is part specific. | ||
The correct frequency for the part used has to be provided in | ||
order to generate the correct output frequencies. For more | ||
details, please refer to the data sheet. | ||
- temperature-stability: Temperature stability of the device in PPM. Should be | ||
one of: 7, 20, 50 or 100. | ||
|
||
Optional properties: | ||
- clock-output-names: From common clock bindings. Recommended to be "si570". | ||
- clock-frequency: Output frequency to generate. This defines the output | ||
frequency set during boot. It can be reprogrammed during | ||
runtime through the common clock framework. | ||
|
||
Example: | ||
si570: clock-generator@5d { | ||
#clock-cells = <0>; | ||
compatible = "silabs,si570"; | ||
temperature-stability = <50>; | ||
reg = <0x5d>; | ||
factory-fout = <156250000>; | ||
}; |
Oops, something went wrong.