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 = <®_3p3v>; > > VDDD-supply = <®_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