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. > + }; > + > + 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. > + > + 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. > + }; > }; > > &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 ? > +}; > + > &hsusb { > pinctrl-0 = <&usb0_pins>; > pinctrl-names = "default"; > @@ -165,6 +229,11 @@ > function = "avb"; > }; > > + backlight_pins: backlight { > + groups = "tpu0_to2"; > + function = "tpu0"; > + }; > + > i2c2_pins: i2c2 { > groups = "i2c2_b"; > function = "i2c2"; > @@ -208,6 +277,17 @@ > }; > }; > > +&lvds0 { > + status = "okay"; > + ports { > + port@1 { > + lvds0_out: endpoint { > + remote-endpoint = <&lvds_receiver_in>; > + }; > + }; > + }; > +}; > + > &rcar_sound { > pinctrl-0 = <&sound_pins>; > pinctrl-names = "default"; > @@ -261,6 +341,10 @@ > shared-pin; > }; > > +&tpu { > + status = "okay"; > +}; > + > &usbphy { > status = "okay"; > }; -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel