On Wed Nov 22, 2023 at 2:17 PM CET, Vikash Garodia wrote: > > On 10/2/2023 7:50 PM, Luca Weiss wrote: > > If the video-firmware node is present, the venus driver assumes we're on > > a system that doesn't use TZ for starting venus, like on ChromeOS > > devices. > > > > Move the video-firmware node to chrome-common.dtsi so we can use venus > > on a non-ChromeOS devices. > > > > At the same time also disable the venus node by default in the dtsi, > > like it's done on other SoCs. > > > > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > > Signed-off-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx> > > --- > > arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi | 8 ++++++++ > > arch/arm64/boot/dts/qcom/sc7280.dtsi | 6 ++---- > > 2 files changed, 10 insertions(+), 4 deletions(-) > > > > diff --git a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi > > index 5d462ae14ba1..cd491e46666d 100644 > > --- a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi > > +++ b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi > > @@ -104,6 +104,14 @@ &scm { > > dma-coherent; > > }; > > > > +&venus { > > + status = "okay"; > > + > > + video-firmware { > > + iommus = <&apps_smmu 0x21a2 0x0>; > > + }; > > +}; > > + > > &watchdog { > > status = "okay"; > > }; > > diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi > > index 66f1eb83cca7..fa53f54d4675 100644 > > --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi > > +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi > > @@ -3740,6 +3740,8 @@ venus: video-codec@aa00000 { > > <&apps_smmu 0x2184 0x20>; > > memory-region = <&video_mem>; > > > > + status = "disabled"; > > + > > video-decoder { > > compatible = "venus-decoder"; > > }; > > @@ -3748,10 +3750,6 @@ video-encoder { > > compatible = "venus-encoder"; > > }; > > > > - video-firmware { > > - iommus = <&apps_smmu 0x21a2 0x0>; > > - }; > > - > > venus_opp_table: opp-table { > > compatible = "operating-points-v2"; > > > > > Changes look good. Is this tested on SC7280 ? Hi Vikash, I didn't test it myself on sc7280 (just qcm6490-fp5) but dtx_diff reports no differences except for status = okay property being added, so there should be no change on those boards. See below. Regards Luca --- test-pre/sc7280-crd-r3.dtb +++ test-post/sc7280-crd-r3.dtb @@ -5744,6 +5744,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x13b 0x01 0x13b 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-crd.dtb +++ test-post/sc7280-herobrine-crd.dtb @@ -6117,6 +6117,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x147 0x01 0x147 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-crd-pro.dtb +++ test-post/sc7280-herobrine-crd-pro.dtb @@ -6112,6 +6112,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x147 0x01 0x147 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-evoker.dtb +++ test-post/sc7280-herobrine-evoker.dtb @@ -6058,6 +6058,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x14b 0x01 0x14b 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-evoker-lte.dtb +++ test-post/sc7280-herobrine-evoker-lte.dtb @@ -6121,6 +6121,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x151 0x01 0x151 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-herobrine-r1.dtb +++ test-post/sc7280-herobrine-herobrine-r1.dtb @@ -6108,6 +6108,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x14f 0x01 0x14f 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-villager-r0.dtb +++ test-post/sc7280-herobrine-villager-r0.dtb @@ -6049,6 +6049,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x145 0x01 0x145 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-villager-r1.dtb +++ test-post/sc7280-herobrine-villager-r1.dtb @@ -6037,6 +6037,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x142 0x01 0x142 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-villager-r1-lte.dtb +++ test-post/sc7280-herobrine-villager-r1-lte.dtb @@ -6100,6 +6100,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x148 0x01 0x148 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-zombie.dtb +++ test-post/sc7280-herobrine-zombie.dtb @@ -6031,6 +6031,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x146 0x01 0x146 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-zombie-lte.dtb +++ test-post/sc7280-herobrine-zombie-lte.dtb @@ -6094,6 +6094,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x14c 0x01 0x14c 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-zombie-nvme.dtb +++ test-post/sc7280-herobrine-zombie-nvme.dtb @@ -6031,6 +6031,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x146 0x01 0x146 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-herobrine-zombie-nvme-lte.dtb +++ test-post/sc7280-herobrine-zombie-nvme-lte.dtb @@ -6094,6 +6094,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x14c 0x01 0x14c 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-idp2.dtb +++ test-post/sc7280-idp2.dtb @@ -5677,6 +5677,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x138 0x01 0x138 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; --- test-pre/sc7280-idp.dtb +++ test-post/sc7280-idp.dtb @@ -5642,6 +5642,7 @@ power-domain-names = "venus\0vcodec0\0cx"; power-domains = <0x133 0x01 0x133 0x00 0x34 0x00>; reg = <0x00 0xaa00000 0x00 0xd0600>; + status = "okay"; opp-table { compatible = "operating-points-v2"; > > Regards, > Vikash