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