162306a36Sopenharmony_ciOMAP Control Module bindings
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciControl Module contains miscellaneous features under it based on SoC type.
462306a36Sopenharmony_ciPincontrol is one common feature, and it has a specialized support
562306a36Sopenharmony_cidescribed in [1]. Typically some clock nodes are also under control module.
662306a36Sopenharmony_ciSyscon is used to share register level access to drivers external to
762306a36Sopenharmony_cicontrol module driver itself.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciSee [2] for documentation about clock/clockdomain nodes.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci[1] Documentation/devicetree/bindings/pinctrl/pinctrl-single.yaml
1262306a36Sopenharmony_ci[2] Documentation/devicetree/bindings/clock/ti/*
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciRequired properties:
1562306a36Sopenharmony_ci- compatible:	Must be one of:
1662306a36Sopenharmony_ci		"ti,am3-scm"
1762306a36Sopenharmony_ci		"ti,am4-scm"
1862306a36Sopenharmony_ci		"ti,dm814-scrm"
1962306a36Sopenharmony_ci		"ti,dm816-scrm"
2062306a36Sopenharmony_ci		"ti,omap2-scm"
2162306a36Sopenharmony_ci		"ti,omap3-scm"
2262306a36Sopenharmony_ci		"ti,omap4-scm-core"
2362306a36Sopenharmony_ci		"ti,omap4-scm-padconf-core"
2462306a36Sopenharmony_ci		"ti,omap4-scm-wkup"
2562306a36Sopenharmony_ci		"ti,omap4-scm-padconf-wkup"
2662306a36Sopenharmony_ci		"ti,omap5-scm-core"
2762306a36Sopenharmony_ci		"ti,omap5-scm-padconf-core"
2862306a36Sopenharmony_ci		"ti,omap5-scm-wkup-pad-conf"
2962306a36Sopenharmony_ci		"ti,dra7-scm-core"
3062306a36Sopenharmony_ci- reg:		Contains Control Module register address range
3162306a36Sopenharmony_ci		(base address and length)
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciOptional properties:
3462306a36Sopenharmony_ci- clocks:	clocks for this module
3562306a36Sopenharmony_ci- clockdomains:	clockdomains for this module
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciExamples:
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciscm: scm@2000 {
4062306a36Sopenharmony_ci	compatible = "ti,omap3-scm", "simple-bus";
4162306a36Sopenharmony_ci	reg = <0x2000 0x2000>;
4262306a36Sopenharmony_ci	#address-cells = <1>;
4362306a36Sopenharmony_ci	#size-cells = <1>;
4462306a36Sopenharmony_ci	ranges = <0 0x2000 0x2000>;
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	omap3_pmx_core: pinmux@30 {
4762306a36Sopenharmony_ci		compatible = "ti,omap3-padconf",
4862306a36Sopenharmony_ci			     "pinctrl-single";
4962306a36Sopenharmony_ci		reg = <0x30 0x230>;
5062306a36Sopenharmony_ci		#address-cells = <1>;
5162306a36Sopenharmony_ci		#size-cells = <0>;
5262306a36Sopenharmony_ci		#interrupt-cells = <1>;
5362306a36Sopenharmony_ci		interrupt-controller;
5462306a36Sopenharmony_ci		pinctrl-single,register-width = <16>;
5562306a36Sopenharmony_ci		pinctrl-single,function-mask = <0xff1f>;
5662306a36Sopenharmony_ci	};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	scm_conf: scm_conf@270 {
5962306a36Sopenharmony_ci		compatible = "syscon";
6062306a36Sopenharmony_ci		reg = <0x270 0x330>;
6162306a36Sopenharmony_ci		#address-cells = <1>;
6262306a36Sopenharmony_ci		#size-cells = <1>;
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci		scm_clocks: clocks {
6562306a36Sopenharmony_ci			#address-cells = <1>;
6662306a36Sopenharmony_ci			#size-cells = <0>;
6762306a36Sopenharmony_ci		};
6862306a36Sopenharmony_ci	};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	scm_clockdomains: clockdomains {
7162306a36Sopenharmony_ci	};
7262306a36Sopenharmony_ci}
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci&scm_clocks {
7562306a36Sopenharmony_ci	mcbsp5_mux_fck: mcbsp5_mux_fck {
7662306a36Sopenharmony_ci		#clock-cells = <0>;
7762306a36Sopenharmony_ci		compatible = "ti,composite-mux-clock";
7862306a36Sopenharmony_ci		clocks = <&core_96m_fck>, <&mcbsp_clks>;
7962306a36Sopenharmony_ci		ti,bit-shift = <4>;
8062306a36Sopenharmony_ci		reg = <0x02d8>;
8162306a36Sopenharmony_ci	};
8262306a36Sopenharmony_ci};
83