1* Qualcomm Venus video encoder/decoder accelerators
2
3- compatible:
4	Usage: required
5	Value type: <stringlist>
6	Definition: Value should contain one of:
7		- "qcom,msm8916-venus"
8		- "qcom,msm8996-venus"
9		- "qcom,sdm845-venus"
10- reg:
11	Usage: required
12	Value type: <prop-encoded-array>
13	Definition: Register base address and length of the register map.
14- interrupts:
15	Usage: required
16	Value type: <prop-encoded-array>
17	Definition: Should contain interrupt line number.
18- clocks:
19	Usage: required
20	Value type: <prop-encoded-array>
21	Definition: A List of phandle and clock specifier pairs as listed
22		    in clock-names property.
23- clock-names:
24	Usage: required for msm8916
25	Value type: <stringlist>
26	Definition: Should contain the following entries:
27		- "core"	Core video accelerator clock
28		- "iface"	Video accelerator AHB clock
29		- "bus"		Video accelerator AXI clock
30- clock-names:
31	Usage: required for msm8996
32	Value type: <stringlist>
33	Definition: Should contain the following entries:
34		- "core"	Core video accelerator clock
35		- "iface"	Video accelerator AHB clock
36		- "bus"		Video accelerator AXI clock
37		- "mbus"	Video MAXI clock
38- power-domains:
39	Usage: required
40	Value type: <prop-encoded-array>
41	Definition: A phandle and power domain specifier pairs to the
42		    power domain which is responsible for collapsing
43		    and restoring power to the peripheral.
44- iommus:
45	Usage: required
46	Value type: <prop-encoded-array>
47	Definition: A list of phandle and IOMMU specifier pairs.
48- memory-region:
49	Usage: required
50	Value type: <phandle>
51	Definition: reference to the reserved-memory for the firmware
52		    memory region.
53
54* Subnodes
55The Venus video-codec node must contain two subnodes representing
56video-decoder and video-encoder.
57
58Every of video-encoder or video-decoder subnode should have:
59
60- compatible:
61	Usage: required
62	Value type: <stringlist>
63	Definition: Value should contain "venus-decoder" or "venus-encoder"
64- clocks:
65	Usage: required for msm8996
66	Value type: <prop-encoded-array>
67	Definition: A List of phandle and clock specifier pairs as listed
68		    in clock-names property.
69- clock-names:
70	Usage: required for msm8996
71	Value type: <stringlist>
72	Definition: Should contain the following entries:
73		- "core"	Subcore video accelerator clock
74
75- power-domains:
76	Usage: required for msm8996
77	Value type: <prop-encoded-array>
78	Definition: A phandle and power domain specifier pairs to the
79		    power domain which is responsible for collapsing
80		    and restoring power to the subcore.
81
82* An Example
83	video-codec@1d00000 {
84		compatible = "qcom,msm8916-venus";
85		reg = <0x01d00000 0xff000>;
86		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
87		clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
88			 <&gcc GCC_VENUS0_AHB_CLK>,
89			 <&gcc GCC_VENUS0_AXI_CLK>;
90		clock-names = "core", "iface", "bus";
91		power-domains = <&gcc VENUS_GDSC>;
92		iommus = <&apps_iommu 5>;
93		memory-region = <&venus_mem>;
94
95		video-decoder {
96			compatible = "venus-decoder";
97			clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
98			clock-names = "core";
99			power-domains = <&mmcc VENUS_CORE0_GDSC>;
100		};
101
102		video-encoder {
103			compatible = "venus-encoder";
104			clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
105			clock-names = "core";
106			power-domains = <&mmcc VENUS_CORE1_GDSC>;
107		};
108	};
109