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-07-04 02:02:55 +0100 |
commit | 6f56cb82102a519091b3672777e093a3c4a8af8f (patch) | |
tree | a9c392d5ad16692f7e3a70a30e3a1ad87b2ddf9a | |
parent | e3affb5d9a07c522e6c734b948f4ac677fbb44f8 (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 | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm8939.dtsi b/arch/arm64/boot/dts/qcom/msm8939.dtsi index 7ed0fb5c7b39..d9cf042c4f59 100644 --- a/arch/arm64/boot/dts/qcom/msm8939.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8939.dtsi @@ -1377,6 +1377,42 @@ }; }; + venus: video-codec@1d00000 { + compatible = "qcom,msm8939-venus"; + reg = <0x01d00000 0xff000>; + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&gcc VENUS_GDSC>, + <&gcc VENUS_CORE0_GDSC>, + <&gcc VENUS_CORE1_GDSC>; + power-domain-names = "venus", "vcodec0", "vcodec1"; + + clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, + <&gcc GCC_VENUS0_AHB_CLK>, + <&gcc GCC_VENUS0_AXI_CLK>, + <&gcc GCC_VENUS0_CORE0_VCODEC0_CLK>, + <&gcc GCC_VENUS0_CORE1_VCODEC0_CLK>; + clock-names = "core", "iface", "bus", + "vcodec0_core", "vcodec1_core"; + + 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"; + }; + + video-encoder { + compatible = "venus-encoder"; + }; + }; + apps_iommu: iommu@1ef0000 { compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; reg = <0x01ef0000 0x3000>; |