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