brintos

brintos / linux-shallow public Read only

0
0
Text · 2.1 KiB · d20db79 Raw
64 lines · plain
1Texas Instruments clkctrl clock binding2 3Texas Instruments SoCs can have a clkctrl clock controller for each4interconnect target module. The clkctrl clock controller manages functional5and interface clocks for each module. Each clkctrl controller can also6gate one or more optional functional clocks for a module, and can have one7or more clock muxes. There is a clkctrl clock controller typically for each8interconnect target module on omap4 and later variants.9 10The clock consumers can specify the index of the clkctrl clock using11the hardware offset from the clkctrl instance register space. The optional12clocks can be specified by clkctrl hardware offset and the index of the13optional clock.14 15For more information, please see the Linux clock framework binding at16Documentation/devicetree/bindings/clock/clock-bindings.txt.17 18Required 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 binding25- #clock-cells : shall contain 2 with the first entry being the instance26		 offset from the clock domain base and the second being the27		 clock index28- reg : clock registers29 30Example: 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 45Example: Preprocessor helper macros in dt-bindings/clock/ti-clkctrl.h46 47#define OMAP4_CLKCTRL_OFFSET		0x2048#define OMAP4_CLKCTRL_INDEX(offset)	((offset) - OMAP4_CLKCTRL_OFFSET)49#define MODULEMODE_HWCTRL		150#define MODULEMODE_SWCTRL		251 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 58Example: Clock consumer node for GPIO2:59 60&gpio2 {61       clocks = <&cm_l4per_clkctrl OMAP4_GPIO2_CLKCTRL 062		 &cm_l4per_clkctrl OMAP4_GPIO2_CLKCTRL 8>;63};64