linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] dts: qcom: sm8250: Enable venus related DT nodes
@ 2021-02-22 13:28 Bryan O'Donoghue
  2021-02-22 13:28 ` [PATCH v2 1/3] arm64: dts: qcom: sm8250: add mmcx regulator Bryan O'Donoghue
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2021-02-22 13:28 UTC (permalink / raw)
  To: robh+dt, devicetree, linux-arm-msm, stanimir.varbanov, agross,
	bjorn.andersson
  Cc: bryan.odonoghue, jonathan, dikshita

V2:

I noticed this series doesn't apply/build against device-tree/dt/next

- Adds dependency patch from Dmitry
- Adds "#include <dt-bindings/interconnect/qcom,sm8250.h>"

Depends on dt-binding:
https://www.spinics.net/lists/devicetree/msg406892.html

V1:
Adds
- videocc
  The clock controller for the Venus core and codec blocks

- venus
  The SoC DT description for the core, encoder, decoder + associated

The second patch is contingent on application of this pending patch
https://www.spinics.net/lists/linux-arm-msm/msg80960.html


Bryan O'Donoghue (1):
  arm64: dts: qcom: sm8250: Add venus DT node

Dmitry Baryshkov (1):
  arm64: dts: qcom: sm8250: add mmcx regulator

Jonathan Marek (1):
  arm64: dts: qcom: sm8250: Add videocc DT node

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

-- 
2.29.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/3] arm64: dts: qcom: sm8250: add mmcx regulator
  2021-02-22 13:28 [PATCH v2 0/3] dts: qcom: sm8250: Enable venus related DT nodes Bryan O'Donoghue
@ 2021-02-22 13:28 ` Bryan O'Donoghue
  2021-02-22 13:28 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add videocc DT node Bryan O'Donoghue
  2021-02-22 13:28 ` [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus " Bryan O'Donoghue
  2 siblings, 0 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2021-02-22 13:28 UTC (permalink / raw)
  To: robh+dt, devicetree, linux-arm-msm, stanimir.varbanov, agross,
	bjorn.andersson
  Cc: bryan.odonoghue, jonathan, dikshita, Dmitry Baryshkov

From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Add regulator controlling MMCX power domain to be used by display clock
controller on SM8250.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 65acd1f381eb..81eaa2508d5c 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -214,6 +214,13 @@ memory@80000000 {
 		reg = <0x0 0x80000000 0x0 0x0>;
 	};
 
+	mmcx_reg: mmcx-reg {
+		compatible = "regulator-fixed-domain";
+		power-domains = <&rpmhpd SM8250_MMCX>;
+		required-opps = <&rpmhpd_opp_low_svs>;
+		regulator-name = "MMCX";
+	};
+
 	pmu {
 		compatible = "arm,armv8-pmuv3";
 		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add videocc DT node
  2021-02-22 13:28 [PATCH v2 0/3] dts: qcom: sm8250: Enable venus related DT nodes Bryan O'Donoghue
  2021-02-22 13:28 ` [PATCH v2 1/3] arm64: dts: qcom: sm8250: add mmcx regulator Bryan O'Donoghue
@ 2021-02-22 13:28 ` Bryan O'Donoghue
  2021-02-22 13:28 ` [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus " Bryan O'Donoghue
  2 siblings, 0 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2021-02-22 13:28 UTC (permalink / raw)
  To: robh+dt, devicetree, linux-arm-msm, stanimir.varbanov, agross,
	bjorn.andersson
  Cc: bryan.odonoghue, jonathan, dikshita

From: Jonathan Marek <jonathan@marek.ca>

This commit adds the videocc DTS node for sm8250.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 81eaa2508d5c..3639792411ce 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -13,6 +13,7 @@
 #include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
 #include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/clock/qcom,videocc-sm8250.h>
 
 / {
 	interrupt-parent = <&intc>;
@@ -1810,6 +1811,19 @@ usb_2_dwc3: dwc3@a800000 {
 			};
 		};
 
+		videocc: clock-controller@abf0000 {
+			compatible = "qcom,sm8250-videocc";
+			reg = <0 0x0abf0000 0 0x10000>;
+			clocks = <&gcc GCC_VIDEO_AHB_CLK>,
+				 <&rpmhcc RPMH_CXO_CLK>,
+				 <&rpmhcc RPMH_CXO_CLK_A>;
+			mmcx-supply = <&mmcx_reg>;
+			clock-names = "iface", "bi_tcxo", "bi_tcxo_ao";
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+			#power-domain-cells = <1>;
+		};
+
 		pdc: interrupt-controller@b220000 {
 			compatible = "qcom,sm8250-pdc", "qcom,pdc";
 			reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x60>;
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus DT node
  2021-02-22 13:28 [PATCH v2 0/3] dts: qcom: sm8250: Enable venus related DT nodes Bryan O'Donoghue
  2021-02-22 13:28 ` [PATCH v2 1/3] arm64: dts: qcom: sm8250: add mmcx regulator Bryan O'Donoghue
  2021-02-22 13:28 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add videocc DT node Bryan O'Donoghue
@ 2021-02-22 13:28 ` Bryan O'Donoghue
  2021-02-22 21:17   ` kernel test robot
  2021-02-22 21:39   ` Dmitry Baryshkov
  2 siblings, 2 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2021-02-22 13:28 UTC (permalink / raw)
  To: robh+dt, devicetree, linux-arm-msm, stanimir.varbanov, agross,
	bjorn.andersson
  Cc: bryan.odonoghue, jonathan, dikshita

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus DT node
  2021-02-22 13:28 ` [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus " Bryan O'Donoghue
@ 2021-02-22 21:17   ` kernel test robot
  2021-02-22 21:39   ` Dmitry Baryshkov
  1 sibling, 0 replies; 6+ messages in thread
From: kernel test robot @ 2021-02-22 21:17 UTC (permalink / raw)
  To: Bryan O'Donoghue, robh+dt, devicetree, linux-arm-msm,
	stanimir.varbanov, agross, bjorn.andersson
  Cc: kbuild-all, clang-built-linux, bryan.odonoghue, jonathan, dikshita

[-- Attachment #1: Type: text/plain, Size: 1872 bytes --]

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37344 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus DT node
  2021-02-22 13:28 ` [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus " Bryan O'Donoghue
  2021-02-22 21:17   ` kernel test robot
@ 2021-02-22 21:39   ` Dmitry Baryshkov
  1 sibling, 0 replies; 6+ messages in thread
From: Dmitry Baryshkov @ 2021-02-22 21:39 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: Rob Herring,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DRM DRIVER FOR MSM ADRENO GPU, Stanimir Varbanov,
	Andy Gross, Bjorn Andersson, Jonathan Marek, dikshita

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
>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-02-22 21:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-22 13:28 [PATCH v2 0/3] dts: qcom: sm8250: Enable venus related DT nodes Bryan O'Donoghue
2021-02-22 13:28 ` [PATCH v2 1/3] arm64: dts: qcom: sm8250: add mmcx regulator Bryan O'Donoghue
2021-02-22 13:28 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add videocc DT node Bryan O'Donoghue
2021-02-22 13:28 ` [PATCH v2 3/3] arm64: dts: qcom: sm8250: Add venus " Bryan O'Donoghue
2021-02-22 21:17   ` kernel test robot
2021-02-22 21:39   ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).