On 06/12/2025 13:37, David Heidelberg wrote:
On 06/12/2025 03:09, Dmitry Baryshkov wrote:
On Wed, Dec 03, 2025 at 01:40:54AM -0800, Paul Sajna wrote:
Also include other supporting msm drm nodes, including backlight

Co-developed-by: Amir Dahan <[email protected]>
Signed-off-by: Amir Dahan <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Paul Sajna <[email protected]>
---
  arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi |  8 +--
  arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts  | 75 +++++++++++++++ ++++++-----
  2 files changed, 66 insertions(+), 17 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/ arm64/boot/dts/qcom/sdm845-lg-common.dtsi
index 165523db4d49..50921af83a51 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
@@ -450,10 +450,6 @@ &cdsp_pas {
      status = "okay";
  };
-&dispcc {
-    status = "disabled";
-};
-
  &gcc {
      protected-clocks = <GCC_QSPI_CORE_CLK>,
                 <GCC_QSPI_CORE_CLK_SRC>,
@@ -517,6 +513,10 @@ led@5 {
      };
  };
+&pmi8998_wled {
+    status = "okay";
+};
+
  &sdhc_2 {
      cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>;
diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/ arm64/boot/dts/qcom/sdm845-lg-judyln.dts
index 55bfddab3afd..506e6fe8e798 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
@@ -13,19 +13,6 @@ / {
      model = "LG G7 ThinQ";
      compatible = "lg,judyln", "qcom,sdm845";
-    chosen {
-        framebuffer@9d400000 {
-            compatible = "simple-framebuffer";
-            reg = <0x0 0x9d400000 0x0 (1440 * 3120 * 4)>;
-            width = <1440>;
-            height = <3120>;
-            stride = <(1440 * 4)>;
-            format = "a8r8g8b8";
-            lab-supply = <&lab>;
-            ibb-supply = <&ibb>;
-        };
-    };

I think, you can leave simple-fb in place. MSM driver should be able to
replace it once it is loaded.

Any chance, do you know if the issue OnePlus had is then resolved?

===
/**
  * HACK:
  * Fake panel node for simple-framebuffer to calculate DPI from. Only
  * needs width & height specified. This allows us to break device link
  * from simplefb to mdss (implicitly via panel->mdp->mdss) to fix drm
  * device probe ordering. Without this, simpledrm would probe second
  * after msm-drm, and confuse userspace with 2 GPUs in /dev/dri.
  * Alternative workaround is to boot with kernel parameter
  * `fw_devlink=permissive`, which is worse, because it can hide other
  * issues with device dependencies.
  */
panel = <&fb_panel>;

fb_panel: fb-panel {
         width-mm = <68>;
         height-mm = <145>;
};
===

Ref: https://gitlab.com/sdm845/sdm845-next/-/ commit/6a0a09c4dddc1b973209f5ffea086eb7a3fc24b9

Add Sam into CC.

Okay, I did some testing without the hack on sdm845 and OnePlus 6.
Ut seems there is no longer regression, wrong sequence or errors in dmesg nor any problems when using the device, so i assume this hack is no longer needed.

Sorry about the noise, if it's still relevant, please let me know.

David


David



-
      /* Additional ThinQ key */
      gpio-keys {
          pinctrl-0 = <&vol_up_pin_a &thinq_key_default>;
@@ -67,6 +54,47 @@ &gpu_zap_shader {
      firmware-name = "qcom/sdm845/judyln/a630_zap.mbn";
  };
+&mdss {
+    status = "okay";
+};
+
+&mdss_dsi0 {
+    vdda-supply = <&vdda_mipi_dsi0_1p2>;
+
+    status = "okay";
+
+    display_panel: panel@0 {
+        reg = <0>;
+        compatible = "lg,sw49410-lh609qh1", "lg,sw49410";
+
+        backlight = <&pmi8998_wled>;
+        reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
+        width-mm = <65>;
+        height-mm = <140>;
+
+        pinctrl-0 = <&sde_dsi_active &sde_te_active_sleep>;
+        pinctrl-1 = <&sde_dsi_sleep &sde_te_active_sleep>;
+        pinctrl-names = "default", "sleep";
+
+        port {
+            panel_in: endpoint {
+                remote-endpoint = <&mdss_dsi0_out>;
+            };
+        };
+    };
+};
+
+&mdss_dsi0_phy {
+    vdds-supply = <&vdda_mipi_dsi0_pll>;
+
+    status = "okay";
+};
+
+&mdss_dsi0_out {
+    remote-endpoint = <&panel_in>;
+    data-lanes = <0 1 2 3>;
+};
+
  &mss_pil {
      firmware-name = "qcom/sdm845/judyln/mba.mbn", "qcom/sdm845/ judyln/modem.mbn";
  };
@@ -85,4 +113,25 @@ thinq_key_default: thinq-key-default-state {
          drive-strength = <2>;
          bias-pull-up;
      };
+
+    sde_dsi_active: sde-dsi-active-state {
+        pins = "gpio6";
+        function = "gpio";
+        drive-strength = <8>;
+        bias-disable;
+    };
+
+    sde_dsi_sleep: sde-dsi-sleep-state {
+        pins = "gpio6";
+        function = "gpio";
+        drive-strength = <2>;
+        bias-pull-down;
+    };
+
+    sde_te_active_sleep: sde-te-active-sleep-state {
+        pins = "gpio10";
+        function = "mdp_vsync";
+        drive-strength = <2>;
+        bias-pull-down;
+    };
  };

--
2.52.0




--
David Heidelberg


Reply via email to