~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/clock/ti-clkctrl.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Texas Instruments clkctrl clock binding
  2 
  3 Texas Instruments SoCs can have a clkctrl clock controller for each
  4 interconnect target module. The clkctrl clock controller manages functional
  5 and interface clocks for each module. Each clkctrl controller can also
  6 gate one or more optional functional clocks for a module, and can have one
  7 or more clock muxes. There is a clkctrl clock controller typically for each
  8 interconnect target module on omap4 and later variants.
  9 
 10 The clock consumers can specify the index of the clkctrl clock using
 11 the hardware offset from the clkctrl instance register space. The optional
 12 clocks can be specified by clkctrl hardware offset and the index of the
 13 optional clock.
 14 
 15 For more information, please see the Linux clock framework binding at
 16 Documentation/devicetree/bindings/clock/clock-bindings.txt.
 17 
 18 Required properties :
 19 - compatible : shall be "ti,clkctrl" or a clock domain specific name:
 20                "ti,clkctrl-l4-cfg"
 21                "ti,clkctrl-l4-per"
 22                "ti,clkctrl-l4-secure"
 23                "ti,clkctrl-l4-wkup"
 24 - clock-output-names : from common clock binding
 25 - #clock-cells : shall contain 2 with the first entry being the instance
 26                  offset from the clock domain base and the second being the
 27                  clock index
 28 - reg : clock registers
 29 
 30 Example: Clock controller node on omap 4430:
 31 
 32 &cm2 {
 33         l4per: cm@1400 {
 34                 cm_l4per@0 {
 35                         cm_l4per_clkctrl: clock@20 {
 36                                 compatible = "ti,clkctrl";
 37                                 clock-output-names = "l4_per";
 38                                 reg = <0x20 0x1b0>;
 39                                 #clock-cells = <2>;
 40                         };
 41                 };
 42         };
 43 };
 44 
 45 Example: Preprocessor helper macros in dt-bindings/clock/ti-clkctrl.h
 46 
 47 #define OMAP4_CLKCTRL_OFFSET            0x20
 48 #define OMAP4_CLKCTRL_INDEX(offset)     ((offset) - OMAP4_CLKCTRL_OFFSET)
 49 #define MODULEMODE_HWCTRL               1
 50 #define MODULEMODE_SWCTRL               2
 51 
 52 #define OMAP4_GPTIMER10_CLKTRL          OMAP4_CLKCTRL_INDEX(0x28)
 53 #define OMAP4_GPTIMER11_CLKTRL          OMAP4_CLKCTRL_INDEX(0x30)
 54 #define OMAP4_GPTIMER2_CLKTRL           OMAP4_CLKCTRL_INDEX(0x38)
 55 ...
 56 #define OMAP4_GPIO2_CLKCTRL             OMAP_CLKCTRL_INDEX(0x60)
 57 
 58 Example: Clock consumer node for GPIO2:
 59 
 60 &gpio2 {
 61        clocks = <&cm_l4per_clkctrl OMAP4_GPIO2_CLKCTRL 0
 62                  &cm_l4per_clkctrl OMAP4_GPIO2_CLKCTRL 8>;
 63 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php