18c2ecf20Sopenharmony_ciAmlogic Meson Power Controller
28c2ecf20Sopenharmony_ci==============================
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciThe Amlogic Meson SoCs embeds an internal Power domain controller.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciVPU Power Domain
78c2ecf20Sopenharmony_ci----------------
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciThe Video Processing Unit power domain is controlled by this power controller,
108c2ecf20Sopenharmony_cibut the domain requires some external resources to meet the correct power
118c2ecf20Sopenharmony_cisequences.
128c2ecf20Sopenharmony_ciThe bindings must respect the power domain bindings as described in the file
138c2ecf20Sopenharmony_cipower-domain.yaml
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciDevice Tree Bindings:
168c2ecf20Sopenharmony_ci---------------------
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciRequired properties:
198c2ecf20Sopenharmony_ci- compatible: should be one of the following :
208c2ecf20Sopenharmony_ci	- "amlogic,meson-gx-pwrc-vpu" for the Meson GX SoCs
218c2ecf20Sopenharmony_ci	- "amlogic,meson-g12a-pwrc-vpu" for the Meson G12A SoCs
228c2ecf20Sopenharmony_ci- #power-domain-cells: should be 0
238c2ecf20Sopenharmony_ci- amlogic,hhi-sysctrl: phandle to the HHI sysctrl node
248c2ecf20Sopenharmony_ci- resets: phandles to the reset lines needed for this power demain sequence
258c2ecf20Sopenharmony_ci	as described in ../reset/reset.txt
268c2ecf20Sopenharmony_ci- clocks: from common clock binding: handle to VPU and VAPB clocks
278c2ecf20Sopenharmony_ci- clock-names: from common clock binding: must contain "vpu", "vapb"
288c2ecf20Sopenharmony_ci	corresponding to entry in the clocks property.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciParent node should have the following properties :
318c2ecf20Sopenharmony_ci- compatible: "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd"
328c2ecf20Sopenharmony_ci- reg: base address and size of the AO system control register space.
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciExample:
358c2ecf20Sopenharmony_ci-------
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciao_sysctrl: sys-ctrl@0 {
388c2ecf20Sopenharmony_ci	compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd";
398c2ecf20Sopenharmony_ci	reg =  <0x0 0x0 0x0 0x100>;
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	pwrc_vpu: power-controller-vpu {
428c2ecf20Sopenharmony_ci		compatible = "amlogic,meson-gx-pwrc-vpu";
438c2ecf20Sopenharmony_ci		#power-domain-cells = <0>;
448c2ecf20Sopenharmony_ci		amlogic,hhi-sysctrl = <&sysctrl>;
458c2ecf20Sopenharmony_ci		resets = <&reset RESET_VIU>,
468c2ecf20Sopenharmony_ci			 <&reset RESET_VENC>,
478c2ecf20Sopenharmony_ci			 <&reset RESET_VCBUS>,
488c2ecf20Sopenharmony_ci			 <&reset RESET_BT656>,
498c2ecf20Sopenharmony_ci			 <&reset RESET_DVIN_RESET>,
508c2ecf20Sopenharmony_ci			 <&reset RESET_RDMA>,
518c2ecf20Sopenharmony_ci			 <&reset RESET_VENCI>,
528c2ecf20Sopenharmony_ci			 <&reset RESET_VENCP>,
538c2ecf20Sopenharmony_ci			 <&reset RESET_VDAC>,
548c2ecf20Sopenharmony_ci			 <&reset RESET_VDI6>,
558c2ecf20Sopenharmony_ci			 <&reset RESET_VENCL>,
568c2ecf20Sopenharmony_ci			 <&reset RESET_VID_LOCK>;
578c2ecf20Sopenharmony_ci		clocks = <&clkc CLKID_VPU>,
588c2ecf20Sopenharmony_ci			 <&clkc CLKID_VAPB>;
598c2ecf20Sopenharmony_ci		clock-names = "vpu", "vapb";
608c2ecf20Sopenharmony_ci	};
618c2ecf20Sopenharmony_ci};
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci
64