Re: [PATCH v3 4/4] arm64: dts: rk3399-pinephone-pro: Add internal display support

2022-12-29 Thread Javier Martinez Canillas
Hello Tom,

On Thu, 29 Dec 2022 at 10:39 Tom Fitzhenry  wrote:

> On 27/12/22 22:03, Javier Martinez Canillas wrote:
> > From: Ondrej Jirman 
> >
> > The phone's display is using Hannstar LCD panel, and Goodix based
> > touchscreen. Support it.
> >
> > Signed-off-by: Ondrej Jirman 
> > Co-developed-by: Martijn Braam 
> > Signed-off-by: Martijn Braam 
> > Co-developed-by: Kamil Trzciński 
> > Signed-off-by: Kamil Trzciński 
> > Signed-off-by: Javier Martinez Canillas 
>
> Tested-by: Tom Fitzhenry 
>
> Display and touchscreen works on my Pinephone Pro, thanks for the
> mainlining!
>

Thanks for testing it!


> > @@ -367,6 +474,10 @@ vcc1v8_codec_en: vcc1v8-codec-en {
> >   };
> >   };
> >
> > +&pwm0 {
> > + status = "okay";
> > +};
>
> Please move &pwm0 before &sdio0, to keep this ~alphabetical.


Sure. I’ll do that in v4.

Best regards,
Javier


Re: [PATCH v3 4/4] arm64: dts: rk3399-pinephone-pro: Add internal display support

2022-12-29 Thread Tom Fitzhenry

On 27/12/22 22:03, Javier Martinez Canillas wrote:

From: Ondrej Jirman 

The phone's display is using Hannstar LCD panel, and Goodix based
touchscreen. Support it.

Signed-off-by: Ondrej Jirman 
Co-developed-by: Martijn Braam 
Signed-off-by: Martijn Braam 
Co-developed-by: Kamil Trzciński 
Signed-off-by: Kamil Trzciński 
Signed-off-by: Javier Martinez Canillas 


Tested-by: Tom Fitzhenry 

Display and touchscreen works on my Pinephone Pro, thanks for the 
mainlining!



@@ -367,6 +474,10 @@ vcc1v8_codec_en: vcc1v8-codec-en {
};
  };
  
+&pwm0 {

+   status = "okay";
+};


Please move &pwm0 before &sdio0, to keep this ~alphabetical.


[PATCH v3 4/4] arm64: dts: rk3399-pinephone-pro: Add internal display support

2022-12-27 Thread Javier Martinez Canillas
From: Ondrej Jirman 

The phone's display is using Hannstar LCD panel, and Goodix based
touchscreen. Support it.

Signed-off-by: Ondrej Jirman 
Co-developed-by: Martijn Braam 
Signed-off-by: Martijn Braam 
Co-developed-by: Kamil Trzciński 
Signed-off-by: Kamil Trzciński 
Signed-off-by: Javier Martinez Canillas 
---

(no changes since v2)

Changes in v2:
- Fix regulator node names (Maya Matuszczyk).
- Drop non-existent "poweroff-in-suspend" property (Maya Matuszczyk).
- Remove unnecessary comments in panel node (Maya Matuszczyk).

 .../dts/rockchip/rk3399-pinephone-pro.dts | 123 ++
 1 file changed, 123 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts 
b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 0e4442b59a55..55048236eef7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -29,6 +29,12 @@ chosen {
stdout-path = "serial2:150n8";
};
 
+   backlight: backlight {
+   compatible = "pwm-backlight";
+   pwms = <&pwm0 0 100 0>;
+   pwm-delay-us = <1>;
+   };
+
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
@@ -81,6 +87,32 @@ vcc1v8_codec: vcc1v8-codec-regulator {
regulator-max-microvolt = <180>;
vin-supply = <&vcc3v3_sys>;
};
+
+   /* MIPI DSI panel 1.8v supply */
+   vcc1v8_lcd: vcc1v8-lcd-regulator {
+   compatible = "regulator-fixed";
+   enable-active-high;
+   regulator-name = "vcc1v8_lcd";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   vin-supply = <&vcc3v3_sys>;
+   gpio = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&display_pwren1>;
+   };
+
+   /* MIPI DSI panel 2.8v supply */
+   vcc2v8_lcd: vcc2v8-lcd-regulator {
+   compatible = "regulator-fixed";
+   enable-active-high;
+   regulator-name = "vcc2v8_lcd";
+   regulator-min-microvolt = <280>;
+   regulator-max-microvolt = <280>;
+   vin-supply = <&vcc3v3_sys>;
+   gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&display_pwren>;
+   };
 };
 
 &cpu_l0 {
@@ -111,6 +143,11 @@ &emmc_phy {
status = "okay";
 };
 
+&gpu {
+   mali-supply = <&vdd_gpu>;
+   status = "okay";
+};
+
 &i2c0 {
clock-frequency = <40>;
i2c-scl-rising-time-ns = <168>;
@@ -193,6 +230,9 @@ vcc3v0_touch: LDO_REG2 {
regulator-name = "vcc3v0_touch";
regulator-min-microvolt = <300>;
regulator-max-microvolt = <300>;
+   regulator-state-mem {
+   regulator-off-in-suspend;
+   };
};
 
vcca1v8_codec: LDO_REG3 {
@@ -326,6 +366,25 @@ opp07 {
};
 };
 
+&i2c3 {
+   i2c-scl-rising-time-ns = <450>;
+   i2c-scl-falling-time-ns = <15>;
+   status = "okay";
+
+   touchscreen@14 {
+   compatible = "goodix,gt917s";
+   reg = <0x14>;
+   interrupt-parent = <&gpio3>;
+   interrupts = ;
+   irq-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>;
+   reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>;
+   AVDD28-supply = <&vcc3v0_touch>;
+   VDDIO-supply = <&vcc3v0_touch>;
+   touchscreen-size-x = <720>;
+   touchscreen-size-y = <1440>;
+   };
+};
+
 &io_domains {
bt656-supply = <&vcc1v8_dvp>;
audio-supply = <&vcca1v8_codec>;
@@ -334,6 +393,40 @@ &io_domains {
status = "okay";
 };
 
+&mipi_dsi {
+   status = "okay";
+   clock-master;
+
+   ports {
+   mipi_out: port@1 {
+   #address-cells = <0>;
+   #size-cells = <0>;
+   reg = <1>;
+
+   mipi_out_panel: endpoint {
+   remote-endpoint = <&mipi_in_panel>;
+   };
+   };
+   };
+
+   panel@0 {
+   compatible = "hannstar,hsd060bhw4";
+   reg = <0>;
+   backlight = <&backlight>;
+   reset-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_LOW>;
+   vcc-supply = <&vcc2v8_lcd>;
+   iovcc-supply = <&vcc1v8_lcd>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&display_rst_l>;
+
+   port {
+   mipi_in_panel: endpoint {
+   remote-endpoint = <&mipi_out_pa