Re: [PATCH 7/7] ARM: dts: r8a7742-iwg21d-q7: Add LCD support

From: Lad, Prabhakar
Date: Thu Aug 13 2020 - 08:55:08 EST


Hi Laurent,

Thank you for the review.

On Tue, Aug 11, 2020 at 12:26 PM Laurent Pinchart
<laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
>
> Hi Prabhakar,
>
> Thank you for the patch.
>
> On Fri, Aug 07, 2020 at 06:49:54PM +0100, Lad Prabhakar wrote:
> > The iwg21d comes with a 7" capacitive touch screen, therefore
> > add support for it.
> >
> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
> > Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@xxxxxxxxxxxxxx>
> > ---
> > arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++++++++++
> > 1 file changed, 84 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > index b3461a61a4bf..cf59fd61e422 100644
> > --- a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > +++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > @@ -30,6 +30,7 @@
> >
> > /dts-v1/;
> > #include "r8a7742-iwg21m.dtsi"
> > +#include <dt-bindings/pwm/pwm.h>
> >
> > / {
> > model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H";
> > @@ -52,6 +53,50 @@
> > clock-frequency = <26000000>;
> > };
> >
> > + lcd_backlight: backlight {
> > + compatible = "pwm-backlight";
> > + pwms = <&tpu 2 5000000 0>;
> > + brightness-levels = <0 4 8 16 32 64 128 255>;
> > + pinctrl-0 = <&backlight_pins>;
> > + pinctrl-names = "default";
> > + default-brightness-level = <7>;
> > + enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
>
> It's actually a power supply, not an enable GPIO, but it doesn't matter
> much, I don't think there's a need to declare a regulator just for the
> sake of it.
>
Agreed will leave it as is.

> > + };
> > +
> > + lvds-receiver {
> > + compatible = "ti,ds90cf384a", "lvds-decoder";
> > + powerdown-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
>
> This should be handled as a shared power supply, as it's also needed for
> the touch screen. Biju has sent patches for the iwg20d that fixes a
> probe issue due to that problem, I think you can just copy the fix.
>
Done.

> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + lvds_receiver_in: endpoint {
> > + remote-endpoint = <&lvds0_out>;
> > + };
> > + };
> > + port@1 {
> > + reg = <1>;
> > + lvds_receiver_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + };
> > + };
> > + };
> > + };
> > +
> > + panel {
> > + compatible = "edt,etm0700g0dh6";
> > + backlight = <&lcd_backlight>;
> > +
> > + port {
> > + panel_in: endpoint {
> > + remote-endpoint = <&lvds_receiver_out>;
> > + };
> > + };
> > + };
> > +
> > reg_1p5v: 1p5v {
> > compatible = "regulator-fixed";
> > regulator-name = "1P5V";
> > @@ -129,12 +174,31 @@
> > VDDIO-supply = <&reg_3p3v>;
> > VDDD-supply = <&reg_1p5v>;
> > };
> > +
> > + touch: touchpanel@38 {
> > + compatible = "edt,edt-ft5406";
> > + reg = <0x38>;
> > + interrupt-parent = <&gpio0>;
> > + interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
>
> Should the reset GPIO also be wired ? It seems to be shared with the
> audio codec though, which is annoying.
>
Done.

> > + };
> > };
> >
> > &cmt0 {
> > status = "okay";
> > };
> >
> > +&du {
> > + status = "okay";
> > +};
> > +
> > +&gpio0 {
> > + touch-interrupt {
> > + gpio-hog;
> > + gpios = <24 GPIO_ACTIVE_LOW>;
> > + input;
> > + };
>
> Is this needed, or does requesting the interrupt in the touch screen
> driver configured the GPIO to an input automatically ?
>
Yes this is needed, the touch driver does not configure the pin as
GPIO input without this touch doesn't work.

Cheers,
Prabhakar