Skip to contentSkip to conversation

arm64: dts: sdm845: add video nodes

PATCH Superseded Malathi Gottam 4 participants 5 messages Nov 20, 2018 – Jan 16, 2019

Subsystems (4)

v1 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm64: dts: sdm845: add video nodes

This adds video nodes to sdm845 based on the examples in the bindings.

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
arch/arm64/boot/dts/qcom/sdm845.dtsi +34 -0
index 0c9a2aa..d82487d 100644
@@ -84,6 +84,10 @@
 			reg = <0 0x86200000 0 0x2d00000>;
 			no-map;
 		};
+		venus_region: venus@95800000 {
+			reg = <0x0 0x95800000 0x0 0x500000>;
+			no-map;
+		};
 	};
 
 	cpus {
@@ -1103,5 +1107,35 @@
 				status = "disabled";
 			};
 		};
+
+		video-codec@aa00000 {
+			compatible = "qcom,sdm845-venus";
+			reg = <0x0aa00000 0xff000>;
+			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+			power-domains = <&videocc VENUS_GDSC>;
+			clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
+				 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
+				 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
+			clock-names = "core", "iface", "bus";
+			iommus = <&apps_smmu 0x10a0 0x8>,
+				 <&apps_smmu 0x10b0 0x0>;
+			memory-region = <&venus_region>;
+
+			video-core0 {
+				compatible = "venus-decoder";
+				clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC0_GDSC>;
+			};
+
+			video-core1 {
+				compatible = "venus-encoder";
+				clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC1_GDSC>;
+			};
+		};
 	};
 };
Signature · 1 line
1.9.1
#1 lore raw

Hi Malathi,

Quoted 15 lines · Malathi Gottam

This adds video nodes to sdm845 based on the examples in the bindings.

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 34 
++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
arch/arm64/boot/dts/qcom/sdm845.dtsi +0 -0
index 0c9a2aa..d82487d 100644

arch/arm64/boot/dts/qcom/sdm845.dtsi line 90

Quoted 7 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +4 -0
@@ -84,6 +84,10 @@
 			reg = <0 0x86200000 0 0x2d00000>;
 			no-map;
 		};
+		venus_region: venus@95800000 {
+			reg = <0x0 0x95800000 0x0 0x500000>;
+			no-map;
+		};

nit: Please make this venus_region: memory@95800000 instead and add a new line before venus_region.

Quoted 39 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +30 -0
 	};
 
 	cpus {
@@ -1103,5 +1107,35 @@
 				status = "disabled";
 			};
 		};
+
+		video-codec@aa00000 {
+			compatible = "qcom,sdm845-venus";
+			reg = <0x0aa00000 0xff000>;
+			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+			power-domains = <&videocc VENUS_GDSC>;
+			clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
+				 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
+				 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
+			clock-names = "core", "iface", "bus";
+			iommus = <&apps_smmu 0x10a0 0x8>,
+				 <&apps_smmu 0x10b0 0x0>;
+			memory-region = <&venus_region>;
+
+			video-core0 {
+				compatible = "venus-decoder";
+				clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC0_GDSC>;
+			};
+
+			video-core1 {
+				compatible = "venus-encoder";
+				clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC1_GDSC>;
+			};
+		};
 	};
 };
Signature · 3 lines
-- Sibi Sankar --
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.
#2 lore raw
In reply to Malathi Gottam
Quoted 14 lines · Malathi Gottam

This adds video nodes to sdm845 based on the examples in the bindings.

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
arch/arm64/boot/dts/qcom/sdm845.dtsi +0 -0
index 0c9a2aa..d82487d 100644

arch/arm64/boot/dts/qcom/sdm845.dtsi line 88

Quoted 5 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +2 -0
@@ -84,6 +84,10 @@
                        reg = <0 0x86200000 0 0x2d00000>;
                        no-map;
                };
+               venus_region: venus@95800000 {
+                       reg = <0x0 0x95800000 0x0 0x500000>;

Note that the driver expects a size of 0x600000 here and will fail to probe if this is smaller.

#3 lore raw

Hi Alex,

Quoted 10 lines · Alexandre Courbot
Quoted 9 lines · Malathi Gottam

This adds video nodes to sdm845 based on the examples in the bindings.

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
Quoted 14 lines

arch/arm64/boot/dts/qcom/sdm845.dtsi line 88

Quoted 10 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +2 -0
index 0c9a2aa..d82487d 100644
@@ -84,6 +84,10 @@
                        reg = <0 0x86200000 0 0x2d00000>;
                        no-map;
                };
+               venus_region: venus@95800000 {
+                       reg = <0x0 0x95800000 0x0 0x500000>;

Note that the driver expects a size of 0x600000 here and will fail to probe if this is smaller.

I have to send a patch to fix that size mismatch as we discussed that it the other mail thread.

Signature · 2 lines
regards,
Stan
#4 lore raw

Hi Alex,

Quoted 28 lines · Stanimir Varbanov

Hi Alex,

Quoted 10 lines · Alexandre Courbot
Quoted 9 lines · Malathi Gottam

This adds video nodes to sdm845 based on the examples in the bindings.

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
Quoted 14 lines

arch/arm64/boot/dts/qcom/sdm845.dtsi line 88

Quoted 10 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +2 -0
index 0c9a2aa..d82487d 100644
@@ -84,6 +84,10 @@
                        reg = <0 0x86200000 0 0x2d00000>;
                        no-map;
                };
+               venus_region: venus@95800000 {
+                       reg = <0x0 0x95800000 0x0 0x500000>;

Note that the driver expects a size of 0x600000 here and will fail to probe if this is smaller.

Quoted 3 lines

I have to send a patch to fix that size mismatch as we discussed that it the other mail thread.

I sent the size mismatch patch here:

https://patchwork.kernel.org/patch/10753645/

Signature · 2 lines
regards,
Stan