diff options
author | Bryan O'Donoghue <bryan.odonoghue@linaro.org> | 2022-05-09 16:51:44 +0100 |
---|---|---|
committer | Bryan O'Donoghue <bryan.odonoghue@linaro.org> | 2022-11-07 23:33:59 +0000 |
commit | 714973e14fa86c3f53b4ac00cf4e50d2638d5861 (patch) | |
tree | 1444cd322007bdafad576b29288c2130cdc22246 | |
parent | e01933d9ef84e593b8975329c4f68714f9cdf556 (diff) |
arm64: dts: Add msm8939 venus encoder/decoder hardware
The msm9836/msm8939 has two available encoder/decoder capable blocks. In
upstream we support a dedicated encoder and a dedicated decoder.
As far as I understand it, it would be feasible to have two decoders or two
encoders for parallel work like say decoding a video stream to each of the
DSI outputs.
Here though we add-in as per the upstream standard of fixed encoder and
fixed decoder at the first and second co-processor blocks.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-rw-r--r-- | arch/arm64/boot/dts/qcom/msm8939.dtsi | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm8939.dtsi b/arch/arm64/boot/dts/qcom/msm8939.dtsi index 1385b2570c30..9023b89d4bed 100644 --- a/arch/arm64/boot/dts/qcom/msm8939.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8939.dtsi @@ -1381,6 +1381,41 @@ }; }; + venus: video-codec@1d00000 { + compatible = "qcom,msm8939-venus"; + reg = <0x01d00000 0xff000>; + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&gcc VENUS_GDSC>; + clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, + <&gcc GCC_VENUS0_AHB_CLK>, + <&gcc GCC_VENUS0_AXI_CLK>; + clock-names = "core", "iface", "bus"; + + interconnects = <&bimc MASTER_AMPSS_M0 &pcnoc SLAVE_VENUS_CFG>, + <&snoc_mm MASTER_VIDEO_P0 &bimc SLAVE_EBI_CH0>; + interconnect-names = "cpu-cfg", "video-mem"; + + iommus = <&apps_iommu 5>; + memory-region = <&venus_mem>; + + resets = <&gcc GCC_VENUS0_BCR>; + status = "okay"; + + video-decoder { + compatible = "venus-decoder"; + clocks = <&gcc GCC_VENUS0_CORE0_VCODEC0_CLK>; + clock-names = "vcodec0_core"; + power-domains = <&gcc VENUS_CORE0_GDSC>; + }; + + video-encoder { + compatible = "venus-encoder"; + clocks = <&gcc GCC_VENUS0_CORE1_VCODEC0_CLK>; + clock-names = "vcodec1_core"; + power-domains = <&gcc VENUS_CORE1_GDSC>; + }; + }; + apps_iommu: iommu@1ef0000 { compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; reg = <0x01ef0000 0x3000>; |