forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 5
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' of git://git.kernel.org/pub/scm/linux/kerne…
…l/git/clk/linux Pull clk updates from Stephen Boyd: "The usual collection of new drivers, non-critical fixes, and updates to existing clk drivers. The bulk of the work is on Allwinner and Rockchip SoCs, but there's also an Intel Atom driver in here too. New Drivers: - Tegra BPMP firmware - Hisilicon hi3660 SoCs - Rockchip rk3328 SoCs - Intel Atom PMC - STM32F746 - IDT VersaClock 5P49V5923 and 5P49V5933 - Marvell mv98dx3236 SoCs - Allwinner V3s SoCs Removed Drivers: - Samsung Exynos4415 SoCs Updates: - Migrate ABx500 to OF - Qualcomm IPQ4019 CPU clks and general PLL support - Qualcomm MSM8974 RPM - Rockchip non-critical fixes and clk id additions - Samsung Exynos4412 CPUs - Socionext UniPhier NAND and eMMC support - ZTE zx296718 i2s and other audio clks - Renesas CAN and MSIOF clks for R-Car M3-W - Renesas resets for R-Car Gen2 and Gen3 and RZ/G1 - TI CDCE913, CDCE937, and CDCE949 clk generators - Marvell Armada ap806 CPU frequencies - STM32F4* I2S/SAI support - Broadcom BCM2835 DSI support - Allwinner sun5i and A80 conversion to new style clk bindings" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (130 commits) clk: renesas: mstp: ensure register writes complete clk: qcom: Do not drop device node twice clk: mvebu: adjust clock handling for the CP110 system controller clk: mvebu: Expand mv98dx3236-core-clock support clk: zte: add i2s clocks for zx296718 clk: sunxi-ng: sun9i-a80: Fix wrong pointer passed to PTR_ERR() clk: sunxi-ng: select SUNXI_CCU_MULT for sun5i clk: sunxi-ng: Check kzalloc() for errors and cleanup error path clk: tegra: Add BPMP clock driver clk: uniphier: add eMMC clock for LD11 and LD20 SoCs clk: uniphier: add NAND clock for all UniPhier SoCs ARM: dts: sun9i: Switch to new clock bindings clk: sunxi-ng: Add A80 Display Engine CCU clk: sunxi-ng: Add A80 USB CCU clk: sunxi-ng: Add A80 CCU clk: sunxi-ng: Support separately grouped PLL lock status register clk: sunxi-ng: mux: Get closest parent rate possible with CLK_SET_RATE_PARENT clk: sunxi-ng: mux: honor CLK_SET_RATE_NO_REPARENT flag clk: sunxi-ng: mux: Fix determine_rate for mux clocks with pre-dividers clk: qcom: SDHCI enablement on Nexus 5X / 6P ...
- Loading branch information
Showing
156 changed files
with
12,306 additions
and
3,072 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
38 changes: 0 additions & 38 deletions
38
Documentation/devicetree/bindings/clock/exynos4415-clock.txt
This file was deleted.
Oops, something went wrong.
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,42 @@ | ||
* Hisilicon Hi3660 Clock Controller | ||
|
||
The Hi3660 clock controller generates and supplies clock to various | ||
controllers within the Hi3660 SoC. | ||
|
||
Required Properties: | ||
|
||
- compatible: the compatible should be one of the following strings to | ||
indicate the clock controller functionality. | ||
|
||
- "hisilicon,hi3660-crgctrl" | ||
- "hisilicon,hi3660-pctrl" | ||
- "hisilicon,hi3660-pmuctrl" | ||
- "hisilicon,hi3660-sctrl" | ||
- "hisilicon,hi3660-iomcu" | ||
|
||
- 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/hi3660-clock.h>. | ||
|
||
Examples: | ||
crg_ctrl: clock-controller@fff35000 { | ||
compatible = "hisilicon,hi3660-crgctrl", "syscon"; | ||
reg = <0x0 0xfff35000 0x0 0x1000>; | ||
#clock-cells = <1>; | ||
}; | ||
|
||
uart0: serial@fdf02000 { | ||
compatible = "arm,pl011", "arm,primecell"; | ||
reg = <0x0 0xfdf02000 0x0 0x1000>; | ||
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>, | ||
<&crg_ctrl HI3660_PCLK>; | ||
clock-names = "uartclk", "apb_pclk"; | ||
status = "disabled"; | ||
}; |
65 changes: 65 additions & 0 deletions
65
Documentation/devicetree/bindings/clock/idt,versaclock5.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,65 @@ | ||
Binding for IDT VersaClock5 programmable i2c clock generator. | ||
|
||
The IDT VersaClock5 are programmable i2c clock generators providing | ||
from 3 to 12 output clocks. | ||
|
||
==I2C device node== | ||
|
||
Required properties: | ||
- compatible: shall be one of "idt,5p49v5923" , "idt,5p49v5933". | ||
- reg: i2c device address, shall be 0x68 or 0x6a. | ||
- #clock-cells: from common clock binding; shall be set to 1. | ||
- clocks: from common clock binding; list of parent clock handles, | ||
- 5p49v5923: (required) either or both of XTAL or CLKIN | ||
reference clock. | ||
- 5p49v5933: (optional) property not present (internal | ||
Xtal used) or CLKIN reference | ||
clock. | ||
- clock-names: from common clock binding; clock input names, can be | ||
- 5p49v5923: (required) either or both of "xin", "clkin". | ||
- 5p49v5933: (optional) property not present or "clkin". | ||
|
||
==Mapping between clock specifier and physical pins== | ||
|
||
When referencing the provided clock in the DT using phandle and | ||
clock specifier, the following mapping applies: | ||
|
||
5P49V5923: | ||
0 -- OUT0_SEL_I2CB | ||
1 -- OUT1 | ||
2 -- OUT2 | ||
|
||
5P49V5933: | ||
0 -- OUT0_SEL_I2CB | ||
1 -- OUT1 | ||
2 -- OUT4 | ||
|
||
==Example== | ||
|
||
/* 25MHz reference crystal */ | ||
ref25: ref25m { | ||
compatible = "fixed-clock"; | ||
#clock-cells = <0>; | ||
clock-frequency = <25000000>; | ||
}; | ||
|
||
i2c-master-node { | ||
|
||
/* IDT 5P49V5923 i2c clock generator */ | ||
vc5: clock-generator@6a { | ||
compatible = "idt,5p49v5923"; | ||
reg = <0x6a>; | ||
#clock-cells = <1>; | ||
|
||
/* Connect XIN input to 25MHz reference */ | ||
clocks = <&ref25m>; | ||
clock-names = "xin"; | ||
}; | ||
}; | ||
|
||
/* Consumer referencing the 5P49V5923 pin OUT1 */ | ||
consumer { | ||
... | ||
clocks = <&vc5 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
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
57 changes: 57 additions & 0 deletions
57
Documentation/devicetree/bindings/clock/rockchip,rk3328-cru.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,57 @@ | ||
* Rockchip RK3328 Clock and Reset Unit | ||
|
||
The RK3328 clock controller generates and supplies clock to various | ||
controllers within the SoC and also implements a reset controller for SoC | ||
peripherals. | ||
|
||
Required Properties: | ||
|
||
- compatible: should be "rockchip,rk3328-cru" | ||
- reg: physical base address of the controller and length of memory mapped | ||
region. | ||
- #clock-cells: should be 1. | ||
- #reset-cells: should be 1. | ||
|
||
Optional Properties: | ||
|
||
- rockchip,grf: phandle to the syscon managing the "general register files" | ||
If missing pll rates are not changeable, due to the missing pll lock status. | ||
|
||
Each clock is assigned an identifier and client nodes can use this identifier | ||
to specify the clock which they consume. All available clocks are defined as | ||
preprocessor macros in the dt-bindings/clock/rk3328-cru.h headers and can be | ||
used in device tree sources. Similar macros exist for the reset sources in | ||
these files. | ||
|
||
External clocks: | ||
|
||
There are several clocks that are generated outside the SoC. It is expected | ||
that they are defined using standard clock bindings with following | ||
clock-output-names: | ||
- "xin24m" - crystal input - required, | ||
- "clkin_i2s" - external I2S clock - optional, | ||
- "gmac_clkin" - external GMAC clock - optional | ||
- "phy_50m_out" - output clock of the pll in the mac phy | ||
|
||
Example: Clock controller node: | ||
|
||
cru: clock-controller@ff440000 { | ||
compatible = "rockchip,rk3328-cru"; | ||
reg = <0x0 0xff440000 0x0 0x1000>; | ||
rockchip,grf = <&grf>; | ||
|
||
#clock-cells = <1>; | ||
#reset-cells = <1>; | ||
}; | ||
|
||
Example: UART controller node that consumes the clock generated by the clock | ||
controller: | ||
|
||
uart0: serial@ff120000 { | ||
compatible = "snps,dw-apb-uart"; | ||
reg = <0xff120000 0x100>; | ||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; | ||
reg-shift = <2>; | ||
reg-io-width = <4>; | ||
clocks = <&cru SCLK_UART0>; | ||
}; |
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
20 changes: 20 additions & 0 deletions
20
Documentation/devicetree/bindings/clock/stericsson,abx500.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,20 @@ | ||
Clock bindings for ST-Ericsson ABx500 clocks | ||
|
||
Required properties : | ||
- compatible : shall contain the following: | ||
"stericsson,ab8500-clk" | ||
- #clock-cells should be <1> | ||
|
||
The ABx500 clocks need to be placed as a subnode of an AB8500 | ||
device node, see mfd/ab8500.txt | ||
|
||
All available clocks are defined as preprocessor macros in | ||
dt-bindings/clock/ste-ab8500.h header and can be used in device | ||
tree sources. | ||
|
||
Example: | ||
|
||
clock-controller { | ||
compatible = "stericsson,ab8500-clk"; | ||
#clock-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,28 @@ | ||
Allwinner A80 Display Engine Clock Control Binding | ||
-------------------------------------------------- | ||
|
||
Required properties : | ||
- compatible: must contain one of the following compatibles: | ||
- "allwinner,sun9i-a80-de-clks" | ||
|
||
- reg: Must contain the registers base address and length | ||
- clocks: phandle to the clocks feeding the display engine subsystem. | ||
Three are needed: | ||
- "mod": the display engine module clock | ||
- "dram": the DRAM bus clock for the system | ||
- "bus": the bus clock for the whole display engine subsystem | ||
- clock-names: Must contain the clock names described just above | ||
- resets: phandle to the reset control for the display engine subsystem. | ||
- #clock-cells : must contain 1 | ||
- #reset-cells : must contain 1 | ||
|
||
Example: | ||
de_clocks: clock@3000000 { | ||
compatible = "allwinner,sun9i-a80-de-clks"; | ||
reg = <0x03000000 0x30>; | ||
clocks = <&ccu CLK_DE>, <&ccu CLK_SDRAM>, <&ccu CLK_BUS_DE>; | ||
clock-names = "mod", "dram", "bus"; | ||
resets = <&ccu RST_BUS_DE>; | ||
#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,24 @@ | ||
Allwinner A80 USB Clock Control Binding | ||
--------------------------------------- | ||
|
||
Required properties : | ||
- compatible: must contain one of the following compatibles: | ||
- "allwinner,sun9i-a80-usb-clocks" | ||
|
||
- reg: Must contain the registers base address and length | ||
- clocks: phandle to the clocks feeding the USB subsystem. Two are needed: | ||
- "bus": the bus clock for the whole USB subsystem | ||
- "hosc": the high frequency oscillator (usually at 24MHz) | ||
- clock-names: Must contain the clock names described just above | ||
- #clock-cells : must contain 1 | ||
- #reset-cells : must contain 1 | ||
|
||
Example: | ||
usb_clocks: clock@a08000 { | ||
compatible = "allwinner,sun9i-a80-usb-clks"; | ||
reg = <0x00a08000 0x8>; | ||
clocks = <&ccu CLK_BUS_USB>, <&osc24M>; | ||
clock-names = "bus", "hosc"; | ||
#clock-cells = <1>; | ||
#reset-cells = <1>; | ||
}; |
Oops, something went wrong.