diff mbox series

[v2,3/3] arm64: dts: qcom: sm8250: Add venus DT node

Message ID 20210222132817.1807788-4-bryan.odonoghue@linaro.org
State New
Headers show
Series dts: qcom: sm8250: Enable venus related DT nodes | expand

Commit Message

Bryan O'Donoghue Feb. 22, 2021, 1:28 p.m. UTC
Add DT entries for the sm8250 venus encoder/decoder.

Co-developed-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Jonathan Marek <jonathan@marek.ca>

Co-developed-by: Dikshita Agarwal <dikshita@qti.qualcomm.com>
Signed-off-by: Dikshita Agarwal <dikshita@qti.qualcomm.com>

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 60 ++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

-- 
2.29.2

Comments

kernel test robot Feb. 22, 2021, 9:17 p.m. UTC | #1
Hi Bryan,

I love your patch! Yet something to improve:

[auto build test ERROR on robh/for-next]
[also build test ERROR on v5.11]
[cannot apply to next-20210222]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Bryan-O-Donoghue/dts-qcom-sm8250-Enable-venus-related-DT-nodes/20210222-213330
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-randconfig-r025-20210222 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/626c987912941b0f7bbf278824764ea53a5a13ad
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Bryan-O-Donoghue/dts-qcom-sm8250-Enable-venus-related-DT-nodes/20210222-213330
        git checkout 626c987912941b0f7bbf278824764ea53a5a13ad
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> Error: arch/arm64/boot/dts/qcom/sm8250.dtsi:1827.16-17 syntax error
   FATAL ERROR: Unable to parse input tree

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Dmitry Baryshkov Feb. 22, 2021, 9:39 p.m. UTC | #2
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

On Mon, 22 Feb 2021 at 16:29, Bryan O'Donoghue
<bryan.odonoghue@linaro.org> wrote:
>
> Add DT entries for the sm8250 venus encoder/decoder.
>
> Co-developed-by: Jonathan Marek <jonathan@marek.ca>
> Signed-off-by: Jonathan Marek <jonathan@marek.ca>
> Co-developed-by: Dikshita Agarwal <dikshita@qti.qualcomm.com>
> Signed-off-by: Dikshita Agarwal <dikshita@qti.qualcomm.com>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8250.dtsi | 60 ++++++++++++++++++++++++++++
>  1 file changed, 60 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index 3639792411ce..6b6993995eca 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -14,6 +14,7 @@
>  #include <dt-bindings/soc/qcom,rpmh-rsc.h>
>  #include <dt-bindings/thermal/thermal.h>
>  #include <dt-bindings/clock/qcom,videocc-sm8250.h>
> +#include <dt-bindings/interconnect/qcom,sm8250.h>
>
>  / {
>         interrupt-parent = <&intc>;
> @@ -1811,6 +1812,65 @@ usb_2_dwc3: dwc3@a800000 {
>                         };
>                 };
>
> +               venus: video-codec@aa00000 {
> +                       compatible = "qcom,sm8250-venus";
> +                       reg = <0 0x0aa00000 0 0x100000>;
> +                       interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +                       power-domains = <&videocc MVS0C_GDSC>,
> +                                       <&videocc MVS0_GDSC>,
> +                                       <&rpmhpd SM8250_MX>;
> +                       power-domain-names = "venus", "vcodec0", "mx";
> +                       operating-points-v2 = <&venus_opp_table>;
> +
> +                       clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
> +                                <&videocc VIDEO_CC_MVS0C_CLK>,
> +                                <&videocc VIDEO_CC_MVS0_CLK>;
> +                       clock-names = "iface", "core", "vcodec0_core";
> +
> +                       interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_VENUS_CFG>,
> +                                       <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI_CH0>;
> +                       interconnect-names = "cpu-cfg", "video-mem";
> +
> +                       iommus = <&apps_smmu 0x2100 0x0400>;
> +                       memory-region = <&video_mem>;
> +
> +                       resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>,
> +                                <&videocc VIDEO_CC_MVS0C_CLK_ARES>;
> +                       reset-names = "bus", "core";
> +
> +                       video-decoder {
> +                               compatible = "venus-decoder";
> +                       };
> +
> +                       video-encoder {
> +                               compatible = "venus-encoder";
> +                       };
> +
> +                       venus_opp_table: venus-opp-table {
> +                               compatible = "operating-points-v2";
> +
> +                               opp-720000000 {
> +                                       opp-hz = /bits/ 64 <720000000>;
> +                                       required-opps = <&rpmhpd_opp_low_svs>;
> +                               };
> +
> +                               opp-1014000000 {
> +                                       opp-hz = /bits/ 64 <1014000000>;
> +                                       required-opps = <&rpmhpd_opp_svs>;
> +                               };
> +
> +                               opp-1098000000 {
> +                                       opp-hz = /bits/ 64 <1098000000>;
> +                                       required-opps = <&rpmhpd_opp_svs_l1>;
> +                               };
> +
> +                               opp-1332000000 {
> +                                       opp-hz = /bits/ 64 <1332000000>;
> +                                       required-opps = <&rpmhpd_opp_nom>;
> +                               };
> +                       };
> +               };
> +
>                 videocc: clock-controller@abf0000 {
>                         compatible = "qcom,sm8250-videocc";
>                         reg = <0 0x0abf0000 0 0x10000>;
> --
> 2.29.2
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 3639792411ce..6b6993995eca 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -14,6 +14,7 @@ 
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
 #include <dt-bindings/thermal/thermal.h>
 #include <dt-bindings/clock/qcom,videocc-sm8250.h>
+#include <dt-bindings/interconnect/qcom,sm8250.h>
 
 / {
 	interrupt-parent = <&intc>;
@@ -1811,6 +1812,65 @@  usb_2_dwc3: dwc3@a800000 {
 			};
 		};
 
+		venus: video-codec@aa00000 {
+			compatible = "qcom,sm8250-venus";
+			reg = <0 0x0aa00000 0 0x100000>;
+			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+			power-domains = <&videocc MVS0C_GDSC>,
+					<&videocc MVS0_GDSC>,
+					<&rpmhpd SM8250_MX>;
+			power-domain-names = "venus", "vcodec0", "mx";
+			operating-points-v2 = <&venus_opp_table>;
+
+			clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
+				 <&videocc VIDEO_CC_MVS0C_CLK>,
+				 <&videocc VIDEO_CC_MVS0_CLK>;
+			clock-names = "iface", "core", "vcodec0_core";
+
+			interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_VENUS_CFG>,
+					<&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI_CH0>;
+			interconnect-names = "cpu-cfg", "video-mem";
+
+			iommus = <&apps_smmu 0x2100 0x0400>;
+			memory-region = <&video_mem>;
+
+			resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>,
+				 <&videocc VIDEO_CC_MVS0C_CLK_ARES>;
+			reset-names = "bus", "core";
+
+			video-decoder {
+				compatible = "venus-decoder";
+			};
+
+			video-encoder {
+				compatible = "venus-encoder";
+			};
+
+			venus_opp_table: venus-opp-table {
+				compatible = "operating-points-v2";
+
+				opp-720000000 {
+					opp-hz = /bits/ 64 <720000000>;
+					required-opps = <&rpmhpd_opp_low_svs>;
+				};
+
+				opp-1014000000 {
+					opp-hz = /bits/ 64 <1014000000>;
+					required-opps = <&rpmhpd_opp_svs>;
+				};
+
+				opp-1098000000 {
+					opp-hz = /bits/ 64 <1098000000>;
+					required-opps = <&rpmhpd_opp_svs_l1>;
+				};
+
+				opp-1332000000 {
+					opp-hz = /bits/ 64 <1332000000>;
+					required-opps = <&rpmhpd_opp_nom>;
+				};
+			};
+		};
+
 		videocc: clock-controller@abf0000 {
 			compatible = "qcom,sm8250-videocc";
 			reg = <0 0x0abf0000 0 0x10000>;