Thread (9 messages) read the whole thread 9 messages, 3 authors, 2d ago

Re: [PATCH] arm64: dts: rockchip: Add DSI LCD display on rk3576-evb1

From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Date: 2025-10-21 15:08:41
Also in: linux-devicetree, linux-rockchip, lkml

On Monday, 20 October 2025 14:31:12 Central European Summer Time Heiko Stuebner wrote:
Am Montag, 20. Oktober 2025, 10:50:58 Mitteleuropäische Sommerzeit schrieb Alexey Charkov:
quoted
On Mon, Oct 20, 2025 at 12:31 PM Heiko Stuebner [off-list ref] wrote:
quoted
Am Montag, 20. Oktober 2025, 10:19:51 Mitteleuropäische Sommerzeit schrieb Alexey Charkov:
quoted
On Thu, Sep 25, 2025 at 12:38 AM Alexey Charkov [off-list ref] wrote:
quoted
Add support for the Rockchip W552793DBA-V10 LCD+touchscreen assembly which
comes physically attached to Rockchip RK3576 EVB1 boards.

The display part is driven by the on-chip MIPI DSI controller, and the
touchscreen is connected over I2C.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
Note that backlight support is left out for now, as it depends on PWM
support [0] which has not yet been merged.

A workaround is simply `gpioset -c 0 13=1` to set the respective GPIO
pin high and thus to light up the display unconditionally.

[0] https://lore.kernel.org/lkml/20250602-rk3576-pwm-v2-0-a6434b0ce60c@collabora.com/ (local)
---
 arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts | 89 ++++++++++++++++++++++++
 1 file changed, 89 insertions(+)
Hi Heiko,

Any thoughts about this one? Can we perhaps get it merged for -next?
Does the gpio-backlight work on that device?
That would make the gpioset hack unnecessary.
I've got a local patch using pwm-gpio and pwm-backlight as a stop-gap 
solution, but I don't think it's worth merging upstream, because the 
backlight is supposed to be driven by the hardware PWM on the same pin 
(not bit-banging the GPIO line). After all, Nicolas has been working on 
adding a proper hardware PWM driver for RK3576.

The display itself works without PWM support, and so does the touchscreen.
Right now, I don't think we have an actual timeline if/when Nicolas will
be able to work on the pwm again.
Soon(TM), I've locally reworked the PWM output stuff and core driver
into an MFD. I just need to rework the counter driver now and set up
a proper way to test that the counter works.

I'm hoping to have something next week. If not, then the week after
that.
So my idea was if we want to
integrate the baclight as you described below, to have an actual usable
display and then when the new pwm has landed switch over to that one?
But Heikooooo, DTs should describe hardware, not the lack of Linux
drivers! ;)

For what it's worth, the implementation move to MFD didn't change the
bindings as we don't leak that into the DT at all. If it took any
longer for me to get it done I'd have suggested picking the bindings
and then adding a stub GPIO PWM driver that binds to it as an interim
solution, but it's not worth the ickyness when I'm basically just
a day's work away from having this done.

Kind regards,
Nicolas Frattaroli

Heiko

quoted
My temp patch goes like this:

---
  arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts | 15 +++++++++++++++
  1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts 
b/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts
index f20cd6f2c079..5c27fff03569 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts
@@ -58,6 +58,14 @@ button-vol-up {
  		};
  	};

+	backlight: backlight {
+		compatible = "pwm-backlight";
+		brightness-levels = <20 220>;
+		default-brightness-level = <100>;
+		num-interpolated-steps = <200>;
+		pwms = <&lcd_bl_pwm 0 25000 0>;
+	};
+
  	hdmi-con {
  		compatible = "hdmi-connector";
  		type = "a";
@@ -78,6 +86,12 @@ work_led: led-0 {
  		};
  	};

+	lcd_bl_pwm: pwm {
+		#pwm-cells = <3>;
+		compatible = "pwm-gpio";
+		gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
+	};
+
  	vbus5v0_typec: regulator-vbus5v0-typec {
  		compatible = "regulator-fixed";
  		regulator-name = "vbus5v0_typec";
@@ -277,6 +291,7 @@ panel@0 {
  		compatible = "wanchanglong,w552793baa", "raydium,rm67200";
  		reg = <0>;

+		backlight = <&backlight>;
  		iovcc-supply = <&vcc3v3_lcd_n>;
  		reset-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
  		vdd-supply = <&vcc3v3_lcd_n>;





Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help