17415b0b4STero KristoOMAP Control Module bindings
27415b0b4STero Kristo
37415b0b4STero KristoControl Module contains miscellaneous features under it based on SoC type.
47415b0b4STero KristoPincontrol is one common feature, and it has a specialized support
57415b0b4STero Kristodescribed in [1]. Typically some clock nodes are also under control module.
67415b0b4STero KristoSyscon is used to share register level access to drivers external to
77415b0b4STero Kristocontrol module driver itself.
87415b0b4STero Kristo
97415b0b4STero KristoSee [2] for documentation about clock/clockdomain nodes.
107415b0b4STero Kristo
11*677a6248STony Lindgren[1] Documentation/devicetree/bindings/pinctrl/pinctrl-single.yaml
127415b0b4STero Kristo[2] Documentation/devicetree/bindings/clock/ti/*
137415b0b4STero Kristo
147415b0b4STero KristoRequired properties:
157415b0b4STero Kristo- compatible:	Must be one of:
167415b0b4STero Kristo		"ti,am3-scm"
177415b0b4STero Kristo		"ti,am4-scm"
187415b0b4STero Kristo		"ti,dm814-scrm"
197415b0b4STero Kristo		"ti,dm816-scrm"
207415b0b4STero Kristo		"ti,omap2-scm"
217415b0b4STero Kristo		"ti,omap3-scm"
227415b0b4STero Kristo		"ti,omap4-scm-core"
237415b0b4STero Kristo		"ti,omap4-scm-padconf-core"
241d6a332aSTony Lindgren		"ti,omap4-scm-wkup"
251d6a332aSTony Lindgren		"ti,omap4-scm-padconf-wkup"
26ed8509edSTero Kristo		"ti,omap5-scm-core"
27ed8509edSTero Kristo		"ti,omap5-scm-padconf-core"
28418dbeb6STero Kristo		"ti,omap5-scm-wkup-pad-conf"
29d919501fSTero Kristo		"ti,dra7-scm-core"
307415b0b4STero Kristo- reg:		Contains Control Module register address range
317415b0b4STero Kristo		(base address and length)
327415b0b4STero Kristo
337415b0b4STero KristoOptional properties:
347415b0b4STero Kristo- clocks:	clocks for this module
357415b0b4STero Kristo- clockdomains:	clockdomains for this module
367415b0b4STero Kristo
377415b0b4STero KristoExamples:
387415b0b4STero Kristo
397415b0b4STero Kristoscm: scm@2000 {
407415b0b4STero Kristo	compatible = "ti,omap3-scm", "simple-bus";
417415b0b4STero Kristo	reg = <0x2000 0x2000>;
427415b0b4STero Kristo	#address-cells = <1>;
437415b0b4STero Kristo	#size-cells = <1>;
447415b0b4STero Kristo	ranges = <0 0x2000 0x2000>;
457415b0b4STero Kristo
467415b0b4STero Kristo	omap3_pmx_core: pinmux@30 {
477415b0b4STero Kristo		compatible = "ti,omap3-padconf",
487415b0b4STero Kristo			     "pinctrl-single";
497415b0b4STero Kristo		reg = <0x30 0x230>;
507415b0b4STero Kristo		#address-cells = <1>;
517415b0b4STero Kristo		#size-cells = <0>;
527415b0b4STero Kristo		#interrupt-cells = <1>;
537415b0b4STero Kristo		interrupt-controller;
547415b0b4STero Kristo		pinctrl-single,register-width = <16>;
557415b0b4STero Kristo		pinctrl-single,function-mask = <0xff1f>;
567415b0b4STero Kristo	};
577415b0b4STero Kristo
587415b0b4STero Kristo	scm_conf: scm_conf@270 {
597415b0b4STero Kristo		compatible = "syscon";
607415b0b4STero Kristo		reg = <0x270 0x330>;
617415b0b4STero Kristo		#address-cells = <1>;
627415b0b4STero Kristo		#size-cells = <1>;
637415b0b4STero Kristo
647415b0b4STero Kristo		scm_clocks: clocks {
657415b0b4STero Kristo			#address-cells = <1>;
667415b0b4STero Kristo			#size-cells = <0>;
677415b0b4STero Kristo		};
687415b0b4STero Kristo	};
697415b0b4STero Kristo
707415b0b4STero Kristo	scm_clockdomains: clockdomains {
717415b0b4STero Kristo	};
727415b0b4STero Kristo}
737415b0b4STero Kristo
747415b0b4STero Kristo&scm_clocks {
757415b0b4STero Kristo	mcbsp5_mux_fck: mcbsp5_mux_fck {
767415b0b4STero Kristo		#clock-cells = <0>;
777415b0b4STero Kristo		compatible = "ti,composite-mux-clock";
787415b0b4STero Kristo		clocks = <&core_96m_fck>, <&mcbsp_clks>;
797415b0b4STero Kristo		ti,bit-shift = <4>;
807415b0b4STero Kristo		reg = <0x02d8>;
817415b0b4STero Kristo	};
827415b0b4STero Kristo};
83