18c2ecf20Sopenharmony_ciBinding for TI DaVinci Power Sleep Controller (PSC)
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe PSC provides power management, clock gating and reset functionality. It is
48c2ecf20Sopenharmony_ciprimarily used for clocking.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciRequired properties:
78c2ecf20Sopenharmony_ci- compatible: shall be one of:
88c2ecf20Sopenharmony_ci	- "ti,da850-psc0" for PSC0 on DA850/OMAP-L138/AM18XX
98c2ecf20Sopenharmony_ci	- "ti,da850-psc1" for PSC1 on DA850/OMAP-L138/AM18XX
108c2ecf20Sopenharmony_ci- reg: physical base address and size of the controller's register area
118c2ecf20Sopenharmony_ci- #clock-cells: from common clock binding; shall be set to 1
128c2ecf20Sopenharmony_ci- #power-domain-cells: from generic power domain binding; shall be set to 1.
138c2ecf20Sopenharmony_ci- clocks: phandles to clocks corresponding to the clock-names property
148c2ecf20Sopenharmony_ci- clock-names: list of parent clock names - depends on compatible value
158c2ecf20Sopenharmony_ci	- for "ti,da850-psc0", shall be "pll0_sysclk1", "pll0_sysclk2",
168c2ecf20Sopenharmony_ci	  "pll0_sysclk4", "pll0_sysclk6", "async1"
178c2ecf20Sopenharmony_ci	- for "ti,da850-psc1", shall be "pll0_sysclk2", "pll0_sysclk4", "async3"
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciOptional properties:
208c2ecf20Sopenharmony_ci- #reset-cells: from reset binding; shall be set to 1 - only applicable when
218c2ecf20Sopenharmony_ci  at least one local domain provides a local reset.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciConsumers:
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	Clock, power domain and reset consumers shall use the local power domain
268c2ecf20Sopenharmony_ci	module ID (LPSC) as the index corresponding to the clock cell. Refer to
278c2ecf20Sopenharmony_ci	the device-specific datasheet to find these numbers. NB: Most local
288c2ecf20Sopenharmony_ci	domains	only provide a clock/power domain and not a reset.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciExamples:
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	psc0: clock-controller@10000 {
338c2ecf20Sopenharmony_ci		compatible = "ti,da850-psc0";
348c2ecf20Sopenharmony_ci		reg = <0x10000 0x1000>;
358c2ecf20Sopenharmony_ci		#clock-cells = <1>;
368c2ecf20Sopenharmony_ci		#power-domain-cells = <1>;
378c2ecf20Sopenharmony_ci		#reset-cells = <1>;
388c2ecf20Sopenharmony_ci		clocks = <&pll0_sysclk 1>, <&pll0_sysclk 2>,
398c2ecf20Sopenharmony_ci			 <&pll0_sysclk 4>, <&pll0_sysclk 6>, <&async1_clk>;
408c2ecf20Sopenharmony_ci		clock_names = "pll0_sysclk1", "pll0_sysclk2",
418c2ecf20Sopenharmony_ci			      "pll0_sysclk4", "pll0_sysclk6", "async1";
428c2ecf20Sopenharmony_ci	};
438c2ecf20Sopenharmony_ci	psc1: clock-controller@227000 {
448c2ecf20Sopenharmony_ci		compatible = "ti,da850-psc1";
458c2ecf20Sopenharmony_ci		reg = <0x227000 0x1000>;
468c2ecf20Sopenharmony_ci		#clock-cells = <1>;
478c2ecf20Sopenharmony_ci		#power-domain-cells = <1>;
488c2ecf20Sopenharmony_ci		clocks = <&pll0_sysclk 2>, <&pll0_sysclk 4>, <&async3_clk>;
498c2ecf20Sopenharmony_ci		clock_names = "pll0_sysclk2", "pll0_sysclk4", "async3";
508c2ecf20Sopenharmony_ci	};
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	/* consumer */
538c2ecf20Sopenharmony_ci	dsp: dsp@11800000 {
548c2ecf20Sopenharmony_ci		compatible = "ti,da850-dsp";
558c2ecf20Sopenharmony_ci		reg = <0x11800000 0x40000>,
568c2ecf20Sopenharmony_ci		      <0x11e00000 0x8000>,
578c2ecf20Sopenharmony_ci		      <0x11f00000 0x8000>,
588c2ecf20Sopenharmony_ci		      <0x01c14044 0x4>,
598c2ecf20Sopenharmony_ci		      <0x01c14174 0x8>;
608c2ecf20Sopenharmony_ci		reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
618c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
628c2ecf20Sopenharmony_ci		interrupts = <28>;
638c2ecf20Sopenharmony_ci		clocks = <&psc0 15>;
648c2ecf20Sopenharmony_ci		power-domains = <&psc0 15>;
658c2ecf20Sopenharmony_ci		resets = <&psc0 15>;
668c2ecf20Sopenharmony_ci	};
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciAlso see:
698c2ecf20Sopenharmony_ci- Documentation/devicetree/bindings/clock/clock-bindings.txt
708c2ecf20Sopenharmony_ci- Documentation/devicetree/bindings/power/power-domain.yaml
718c2ecf20Sopenharmony_ci- Documentation/devicetree/bindings/reset/reset.txt
72