Add DT entries for the sc7280 venus encoder/decoder.
Change since v4:
rebased on latest linux-next tree.
this patch depends on [1].
[1] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=529463
Co-developed-by: Mansur Alisha Shaik <[email protected]>
Signed-off-by: Dikshita Agarwal <[email protected]>
---
arch/arm64/boot/dts/qcom/sc7280.dtsi | 75 ++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index 3e96604..88de534 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -73,6 +73,11 @@
reg = <0x0 0x80b00000 0x0 0x100000>;
};
+ video_mem: memory@8b200000 {
+ reg = <0x0 0x8b200000 0x0 0x500000>;
+ no-map;
+ };
+
ipa_fw_mem: memory@8b700000 {
reg = <0 0x8b700000 0 0x10000>;
no-map;
@@ -1398,6 +1403,76 @@
};
};
+ venus: video-codec@aa00000 {
+ compatible = "qcom,sc7280-venus";
+ reg = <0 0x0aa00000 0 0xd0600>;
+ interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+
+ clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>,
+ <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>,
+ <&videocc VIDEO_CC_VENUS_AHB_CLK>,
+ <&videocc VIDEO_CC_MVS0_CORE_CLK>,
+ <&videocc VIDEO_CC_MVS0_AXI_CLK>;
+ clock-names = "core", "bus", "iface",
+ "vcodec_core", "vcodec_bus";
+
+ power-domains = <&videocc MVSC_GDSC>,
+ <&videocc MVS0_GDSC>,
+ <&rpmhpd SC7280_CX>;
+ power-domain-names = "venus", "vcodec0", "cx";
+ operating-points-v2 = <&venus_opp_table>;
+
+ interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_VENUS_CFG 0>,
+ <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
+ interconnect-names = "cpu-cfg", "video-mem";
+
+ iommus = <&apps_smmu 0x2180 0x20>,
+ <&apps_smmu 0x2184 0x20>;
+ memory-region = <&video_mem>;
+
+ video-decoder {
+ compatible = "venus-decoder";
+ };
+
+ video-encoder {
+ compatible = "venus-encoder";
+ };
+
+ video-firmware {
+ iommus = <&apps_smmu 0x21a2 0x0>;
+ };
+
+ venus_opp_table: venus-opp-table {
+ compatible = "operating-points-v2";
+
+ opp-133330000 {
+ opp-hz = /bits/ 64 <133330000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-240000000 {
+ opp-hz = /bits/ 64 <240000000>;
+ required-opps = <&rpmhpd_opp_svs>;
+ };
+
+ opp-335000000 {
+ opp-hz = /bits/ 64 <335000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>;
+ };
+
+ opp-424000000 {
+ opp-hz = /bits/ 64 <424000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+
+ opp-460000000 {
+ opp-hz = /bits/ 64 <460000000>;
+ required-opps = <&rpmhpd_opp_turbo>;
+ };
+ };
+
+ };
+
videocc: clock-controller@aaf0000 {
compatible = "qcom,sc7280-videocc";
reg = <0 0xaaf0000 0 0x10000>;
--
2.7.4
Hi Dikshita,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on next-20210810]
[cannot apply to robh/for-next v5.14-rc5 v5.14-rc4 v5.14-rc3 v5.14-rc5]
[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/Dikshita-Agarwal/arm64-dts-qcom-sc7280-Add-venus-DT-node/20210811-160941
base: 92d00774360dfd4151f15ab9905c643347b9f242
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 10.3.0
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
# https://github.com/0day-ci/linux/commit/cea97e9e68d2174bcb82f2b0ff1aa52c7499c6a7
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Dikshita-Agarwal/arm64-dts-qcom-sc7280-Add-venus-DT-node/20210811-160941
git checkout cea97e9e68d2174bcb82f2b0ff1aa52c7499c6a7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
All errors (new ones prefixed by >>):
>> Error: arch/arm64/boot/dts/qcom/sc7280.dtsi:1408.23-24 syntax error
>> FATAL ERROR: Unable to parse input tree
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
Hello,
A gentle reminder for review.
Thanks,
Dikshita
On 2021-08-11 13:34, Dikshita Agarwal wrote:
> Add DT entries for the sc7280 venus encoder/decoder.
>
> Change since v4:
> rebased on latest linux-next tree.
>
> this patch depends on [1].
>
> [1]
> https://patchwork.kernel.org/project/linux-arm-msm/list/?series=529463
>
> Co-developed-by: Mansur Alisha Shaik <[email protected]>
> Signed-off-by: Dikshita Agarwal <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sc7280.dtsi | 75
> ++++++++++++++++++++++++++++++++++++
> 1 file changed, 75 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi
> b/arch/arm64/boot/dts/qcom/sc7280.dtsi
> index 3e96604..88de534 100644
> --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
> @@ -73,6 +73,11 @@
> reg = <0x0 0x80b00000 0x0 0x100000>;
> };
>
> + video_mem: memory@8b200000 {
> + reg = <0x0 0x8b200000 0x0 0x500000>;
> + no-map;
> + };
> +
> ipa_fw_mem: memory@8b700000 {
> reg = <0 0x8b700000 0 0x10000>;
> no-map;
> @@ -1398,6 +1403,76 @@
> };
> };
>
> + venus: video-codec@aa00000 {
> + compatible = "qcom,sc7280-venus";
> + reg = <0 0x0aa00000 0 0xd0600>;
> + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +
> + clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>,
> + <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>,
> + <&videocc VIDEO_CC_VENUS_AHB_CLK>,
> + <&videocc VIDEO_CC_MVS0_CORE_CLK>,
> + <&videocc VIDEO_CC_MVS0_AXI_CLK>;
> + clock-names = "core", "bus", "iface",
> + "vcodec_core", "vcodec_bus";
> +
> + power-domains = <&videocc MVSC_GDSC>,
> + <&videocc MVS0_GDSC>,
> + <&rpmhpd SC7280_CX>;
> + power-domain-names = "venus", "vcodec0", "cx";
> + operating-points-v2 = <&venus_opp_table>;
> +
> + interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2
> SLAVE_VENUS_CFG 0>,
> + <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
> + interconnect-names = "cpu-cfg", "video-mem";
> +
> + iommus = <&apps_smmu 0x2180 0x20>,
> + <&apps_smmu 0x2184 0x20>;
> + memory-region = <&video_mem>;
> +
> + video-decoder {
> + compatible = "venus-decoder";
> + };
> +
> + video-encoder {
> + compatible = "venus-encoder";
> + };
> +
> + video-firmware {
> + iommus = <&apps_smmu 0x21a2 0x0>;
> + };
> +
> + venus_opp_table: venus-opp-table {
> + compatible = "operating-points-v2";
> +
> + opp-133330000 {
> + opp-hz = /bits/ 64 <133330000>;
> + required-opps = <&rpmhpd_opp_low_svs>;
> + };
> +
> + opp-240000000 {
> + opp-hz = /bits/ 64 <240000000>;
> + required-opps = <&rpmhpd_opp_svs>;
> + };
> +
> + opp-335000000 {
> + opp-hz = /bits/ 64 <335000000>;
> + required-opps = <&rpmhpd_opp_svs_l1>;
> + };
> +
> + opp-424000000 {
> + opp-hz = /bits/ 64 <424000000>;
> + required-opps = <&rpmhpd_opp_nom>;
> + };
> +
> + opp-460000000 {
> + opp-hz = /bits/ 64 <460000000>;
> + required-opps = <&rpmhpd_opp_turbo>;
> + };
> + };
> +
> + };
> +
> videocc: clock-controller@aaf0000 {
> compatible = "qcom,sc7280-videocc";
> reg = <0 0xaaf0000 0 0x10000>;