forked from beagleboard/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 branch 'for-4.13-ti-clkctrl' of https://github.com/t-kristo/lin…
…ux-pm into clk-next * 'for-4.13-ti-clkctrl' of https://github.com/t-kristo/linux-pm: clk: ti: omap4: add clkctrl clock data dt-bindings: clk: add omap4 clkctrl definitions clk: ti: add support for clkctrl clocks Documentation: dt-bindings: Add binding documentation for TI clkctrl clocks
- Loading branch information
Showing
6 changed files
with
1,395 additions
and
1 deletion.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
Texas Instruments clkctrl clock binding | ||
|
||
Texas Instruments SoCs can have a clkctrl clock controller for each | ||
interconnect target module. The clkctrl clock controller manages functional | ||
and interface clocks for each module. Each clkctrl controller can also | ||
gate one or more optional functional clocks for a module, and can have one | ||
or more clock muxes. There is a clkctrl clock controller typically for each | ||
interconnect target module on omap4 and later variants. | ||
|
||
The clock consumers can specify the index of the clkctrl clock using | ||
the hardware offset from the clkctrl instance register space. The optional | ||
clocks can be specified by clkctrl hardware offset and the index of the | ||
optional clock. | ||
|
||
For more information, please see the Linux clock framework binding at | ||
Documentation/devicetree/bindings/clock/clock-bindings.txt. | ||
|
||
Required properties : | ||
- compatible : shall be "ti,clkctrl" | ||
- #clock-cells : shall contain 2 with the first entry being the instance | ||
offset from the clock domain base and the second being the | ||
clock index | ||
|
||
Example: Clock controller node on omap 4430: | ||
|
||
&cm2 { | ||
l4per: cm@1400 { | ||
cm_l4per@0 { | ||
cm_l4per_clkctrl: clk@20 { | ||
compatible = "ti,clkctrl"; | ||
reg = <0x20 0x1b0>; | ||
#clock-cells = <2>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
Example: Preprocessor helper macros in dt-bindings/clock/ti-clkctrl.h | ||
|
||
#define OMAP4_CLKCTRL_OFFSET 0x20 | ||
#define OMAP4_CLKCTRL_INDEX(offset) ((offset) - OMAP4_CLKCTRL_OFFSET) | ||
#define MODULEMODE_HWCTRL 1 | ||
#define MODULEMODE_SWCTRL 2 | ||
|
||
#define OMAP4_GPTIMER10_CLKTRL OMAP4_CLKCTRL_INDEX(0x28) | ||
#define OMAP4_GPTIMER11_CLKTRL OMAP4_CLKCTRL_INDEX(0x30) | ||
#define OMAP4_GPTIMER2_CLKTRL OMAP4_CLKCTRL_INDEX(0x38) | ||
... | ||
#define OMAP4_GPIO2_CLKCTRL OMAP_CLKCTRL_INDEX(0x60) | ||
|
||
Example: Clock consumer node for GPIO2: | ||
|
||
&gpio2 { | ||
clocks = <&cm_l4per_clkctrl OMAP4_GPIO2_CLKCTRL 0 | ||
&cm_l4per_clkctrl OMAP4_GPIO2_CLKCTRL 8>; | ||
}; |
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
Oops, something went wrong.