On 1/25/24 22:56, Luca Weiss wrote:
From: Vladimir Lypak <vladimir.ly...@gmail.com>

Add the GPU node for the Adreno 506 found on this family of SoCs. The
clock speeds are a bit different per SoC variant, SDM450 maxes out at
600MHz while MSM8953 (= SDM625) goes up to 650MHz and SDM632 goes up to
725MHz.

To achieve this, create a new sdm450.dtsi to hold the 600MHz OPP and
use the new dtsi for sdm450-motorola-ali.

Signed-off-by: Vladimir Lypak <vladimir.ly...@gmail.com>
Co-developed-by: Luca Weiss <l...@z3ntu.xyz>
Signed-off-by: Luca Weiss <l...@z3ntu.xyz>
---
  arch/arm64/boot/dts/qcom/msm8953.dtsi            | 115 +++++++++++++++++++++++
  arch/arm64/boot/dts/qcom/sdm450-motorola-ali.dts |   2 +-
  arch/arm64/boot/dts/qcom/sdm450.dtsi             |  14 +++
  arch/arm64/boot/dts/qcom/sdm632.dtsi             |   8 ++
  4 files changed, 138 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi 
b/arch/arm64/boot/dts/qcom/msm8953.dtsi
index 91d083871ab0..1fe0c0c4fd15 100644
--- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
@@ -1046,6 +1046,94 @@ mdss_dsi1_phy: phy@1a96400 {
                        };
                };
+ gpu: gpu@1c00000 {
+                       compatible = "qcom,adreno-506.0", "qcom,adreno";
+                       reg = <0x01c00000 0x40000>;
+                       reg-names = "kgsl_3d0_reg_memory";
+                       interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+
+                       clocks = <&gcc GCC_OXILI_GFX3D_CLK>,
+                                <&gcc GCC_OXILI_AHB_CLK>,
+                                <&gcc GCC_BIMC_GFX_CLK>,
+                                <&gcc GCC_BIMC_GPU_CLK>,
+                                <&gcc GCC_OXILI_TIMER_CLK>,
+                                <&gcc GCC_OXILI_AON_CLK>;
+                       clock-names = "core",
+                                     "iface",
+                                     "mem_iface",
+                                     "alt_mem_iface",
+                                     "rbbmtimer",
+                                     "alwayson";
+                       power-domains = <&gcc OXILI_GX_GDSC>;
+
+                       iommus = <&gpu_iommu 0>;
+                       operating-points-v2 = <&gpu_opp_table>;
+
+                       #cooling-cells = <2>;
+
+                       status = "disabled";
+
+                       zap-shader {
+                               memory-region = <&zap_shader_region>;
+                       };
+
+                       gpu_opp_table: opp-table {
+                               compatible = "operating-points-v2";
+
+                               opp-19200000 {
+                                       opp-hz = /bits/ 64 <19200000>;
+                                       opp-supported-hw = <0xff>;
+                                       required-opps = <&rpmpd_opp_min_svs>;
+                               };

If you remove all OPPs but this one, can the GPU still spit out pixels?

Konrad

Reply via email to