]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: qcm2290: Add Venus video node
authorJorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>
Thu, 14 Aug 2025 08:52:47 +0000 (10:52 +0200)
committerBjorn Andersson <andersson@kernel.org>
Tue, 9 Sep 2025 14:06:00 +0000 (09:06 -0500)
Add DT entries for the qcm2290 Venus encoder/decoder.

Co-developed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Link: https://lore.kernel.org/r/20250814085248.2371130-8-jorge.ramirez@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qcm2290.dtsi

index 77d7ee17ba9070a7b74d77f8b61b01680a18b4a3..527705c7d2121d3c721a1ec801de7130edf09795 100644 (file)
                                     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
                };
 
+               venus: video-codec@5a00000 {
+                       compatible = "qcom,qcm2290-venus";
+                       reg = <0 0x5a00000 0 0xf0000>;
+                       interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
+
+                       power-domains = <&gcc GCC_VENUS_GDSC>,
+                                       <&gcc GCC_VCODEC0_GDSC>,
+                                       <&rpmpd QCM2290_VDDCX>;
+                       power-domain-names = "venus",
+                                            "vcodec0",
+                                            "cx";
+                       operating-points-v2 = <&venus_opp_table>;
+
+                       clocks = <&gcc GCC_VIDEO_VENUS_CTL_CLK>,
+                                <&gcc GCC_VIDEO_AHB_CLK>,
+                                <&gcc GCC_VENUS_CTL_AXI_CLK>,
+                                <&gcc GCC_VIDEO_THROTTLE_CORE_CLK>,
+                                <&gcc GCC_VIDEO_VCODEC0_SYS_CLK>,
+                                <&gcc GCC_VCODEC0_AXI_CLK>;
+                       clock-names = "core",
+                                     "iface",
+                                     "bus",
+                                     "throttle",
+                                     "vcodec0_core",
+                                     "vcodec0_bus";
+
+                       memory-region = <&pil_video_mem>;
+                       iommus = <&apps_smmu 0x860 0x0>,
+                                <&apps_smmu 0x880 0x0>,
+                                <&apps_smmu 0x861 0x04>,
+                                <&apps_smmu 0x863 0x0>,
+                                <&apps_smmu 0x804 0xe0>;
+
+                       interconnects = <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG
+                                        &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
+                                       <&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG
+                                        &config_noc SLAVE_VENUS_CFG RPM_ACTIVE_TAG>;
+                       interconnect-names = "video-mem",
+                                            "cpu-cfg";
+
+                       venus_opp_table: opp-table {
+                               compatible = "operating-points-v2";
+
+                               opp-133333333 {
+                                       opp-hz = /bits/ 64 <133333333>;
+                                       required-opps = <&rpmpd_opp_low_svs>;
+                               };
+
+                               opp-240000000 {
+                                       opp-hz = /bits/ 64 <240000000>;
+                                       required-opps = <&rpmpd_opp_svs>;
+                               };
+                       };
+               };
+
                wifi: wifi@c800000 {
                        compatible = "qcom,wcn3990-wifi";
                        reg = <0x0 0x0c800000 0x0 0x800000>;