Re: [PATCH v3 14/15] arm64: dts: rockchip: Enable eDP0 display on RK3588S EVB1 board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry,

On 2024/12/20 13:38, Dmitry Baryshkov wrote:
On Fri, 20 Dec 2024 at 04:38, Damon Ding <damon.ding@xxxxxxxxxxxxxx> wrote:

Hi Dmitry,

On 2024/12/20 8:20, Dmitry Baryshkov wrote:
On Thu, Dec 19, 2024 at 04:06:03PM +0800, Damon Ding wrote:
Add the necessary DT changes to enable eDP0 on RK3588S EVB1 board:
- Add edp-panel node
- Set pinctrl of pwm12 for backlight
- Enable edp0/hdptxphy0/vp2

Signed-off-by: Damon Ding <damon.ding@xxxxxxxxxxxxxx>

---

Changes in v2:
- Remove brightness-levels and default-brightness-level properties in
    backlight node.
- Add the detail DT changes to commit message.

Changes in v3:
- Use aux-bus instead of platform bus for edp-panel.
---
   .../boot/dts/rockchip/rk3588s-evb1-v10.dts    | 52 +++++++++++++++++++
   1 file changed, 52 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
index bc4077575beb..9547ab18e596 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
@@ -9,6 +9,7 @@
   #include <dt-bindings/gpio/gpio.h>
   #include <dt-bindings/input/input.h>
   #include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
   #include <dt-bindings/usb/pd.h>
   #include "rk3588s.dtsi"

@@ -238,6 +239,41 @@ &combphy2_psu {
      status = "okay";
   };

+&edp0 {
+    force-hpd;
+    status = "okay";
+
+    aux-bus {
+            panel {
+                    compatible = "lg,lp079qx1-sp0v";

Why do you need the particular compat string here? Can you use the
generic "edp-panel" instead? What if the user swaps the panel?


The eDP panels used in conjunction with the RK3588S EVB1 have broken
identification, which is one of the valid reasons for using a particular
compat string. So the generic_edp_panel_probe() can not return success
when using the "edp-panel".

Broken how? I don't see such info in the commit message.


The log related to the broken identification may be like:

[ 0.623793] panel-simple-dp-aux aux-fdec0000.edp: Unknown panel ETC 0x0000, using conservative timings

The eDP panel used in RK3588S EVB1 is indeed the LP079QX1_SP0V model, it should be also reasonable to use the "lg,lp079qx1-sp0v".

And I will mention all of the above in the commit message for the next version.


+                    backlight = <&backlight>;
+                    power-supply = <&vcc3v3_lcd_edp>;
+
+                    port {
+                            panel_in_edp: endpoint {
+                                    remote-endpoint = <&edp_out_panel>;
+                            };
+                    };
+            };
+    };
+};
+
+&edp0_in {
+    edp0_in_vp2: endpoint {
+            remote-endpoint = <&vp2_out_edp0>;
+    };
+};
+
+&edp0_out {
+    edp_out_panel: endpoint {
+            remote-endpoint = <&panel_in_edp>;
+    };
+};
+
+&hdptxphy0 {
+    status = "okay";
+};
+
   &i2c3 {
      status = "okay";

@@ -399,6 +435,7 @@ usbc0_int: usbc0-int {
   };

   &pwm12 {
+    pinctrl-0 = <&pwm12m1_pins>;
      status = "okay";
   };

@@ -1168,3 +1205,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 {
              };
      };
   };
+
+&vop_mmu {
+    status = "okay";
+};
+
+&vop {
+    status = "okay";
+};
+
+&vp2 {
+    vp2_out_edp0: endpoint@ROCKCHIP_VOP2_EP_EDP0 {
+            reg = <ROCKCHIP_VOP2_EP_EDP0>;
+            remote-endpoint = <&edp0_in_vp2>;
+    };
+};
--
2.34.1


Best regards
Damon




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux