diff mbox series

[v2] ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Message ID 20200813140041.5082-1-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive)
State New, archived
Headers show
Series [v2] ARM: dts: r8a7742-iwg21d-q7: Add LCD support | expand

Commit Message

Prabhakar Aug. 13, 2020, 2 p.m. UTC
The iwg21d comes with a 7" capacitive touch screen, therefore
add support for it.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
---
v1->v2
* This patch is part of series [1] (rest of the patches have be accepted
  by Geert [2]).
* Added regulator for lvds
* Added reset pin for touchpanel
* This patch is based on series [3]

[1] https://patchwork.kernel.org/project/linux-renesas-soc/list/
    ?series=330277
[2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
    renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
[3] https://patchwork.kernel.org/project/linux-renesas-soc/list/
    ?series=330957
---
 arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 99 +++++++++++++++++++++++++
 1 file changed, 99 insertions(+)

Comments

Laurent Pinchart Aug. 24, 2020, 12:48 a.m. UTC | #1
Hi Prabhakar,

Thank you for the patch.

On Thu, Aug 13, 2020 at 03:00:41PM +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@bp.renesas.com>
> Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>

Everything seems to match the schematics :-)

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> v1->v2
> * This patch is part of series [1] (rest of the patches have be accepted
>   by Geert [2]).
> * Added regulator for lvds
> * Added reset pin for touchpanel
> * This patch is based on series [3]
> 
> [1] https://patchwork.kernel.org/project/linux-renesas-soc/list/
>     ?series=330277
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
>     renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
> [3] https://patchwork.kernel.org/project/linux-renesas-soc/list/
>     ?series=330957
> ---
>  arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 99 +++++++++++++++++++++++++
>  1 file changed, 99 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> index b3461a61a4bf..9bf4fbd9c736 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,51 @@
>  		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>;
> +	};
> +
> +	lvds-receiver {
> +		compatible = "ti,ds90cf384a", "lvds-decoder";
> +		vcc-supply = <&vcc_3v3_tft1>;
> +
> +		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>;
> +		power-supply = <&vcc_3v3_tft1>;
> +
> +		port {
> +			panel_in: endpoint {
> +				remote-endpoint = <&lvds_receiver_out>;
> +			};
> +		};
> +	};
> +
>  	reg_1p5v: 1p5v {
>  		compatible = "regulator-fixed";
>  		regulator-name = "1P5V";
> @@ -75,6 +121,17 @@
>  		};
>  	};
>  
> +	vcc_3v3_tft1: regulator-panel {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "vcc-3v3-tft1";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		enable-active-high;
> +		startup-delay-us = <500>;
> +		gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>;
> +	};
> +
>  	vcc_sdhi2: regulator-vcc-sdhi2 {
>  		compatible = "regulator-fixed";
>  
> @@ -129,12 +186,34 @@
>  		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>;
> +		/* GP1_29 is also shared with audio codec reset pin */
> +		reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
> +		vcc-supply = <&vcc_3v3_tft1>;
> +	};
>  };
>  
>  &cmt0 {
>  	status = "okay";
>  };
>  
> +&du {
> +	status = "okay";
> +};
> +
> +&gpio0 {
> +	touch-interrupt {
> +		gpio-hog;
> +		gpios = <24 GPIO_ACTIVE_LOW>;
> +		input;
> +	};
> +};
> +
>  &hsusb {
>  	pinctrl-0 = <&usb0_pins>;
>  	pinctrl-names = "default";
> @@ -165,6 +244,11 @@
>  		function = "avb";
>  	};
>  
> +	backlight_pins: backlight {
> +		groups = "tpu0_to2";
> +		function = "tpu0";
> +	};
> +
>  	i2c2_pins: i2c2 {
>  		groups = "i2c2_b";
>  		function = "i2c2";
> @@ -208,6 +292,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 +356,10 @@
>  	shared-pin;
>  };
>  
> +&tpu {
> +	status = "okay";
> +};
> +
>  &usbphy {
>  	status = "okay";
>  };
Lad, Prabhakar Sept. 27, 2020, 1:01 p.m. UTC | #2
Hi Laurent,

On Mon, Aug 24, 2020 at 1:48 AM Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
>
> Hi Prabhakar,
>
> Thank you for the patch.
>
> On Thu, Aug 13, 2020 at 03:00:41PM +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@bp.renesas.com>
> > Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
>
> Everything seems to match the schematics :-)
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> > ---
> > v1->v2
> > * This patch is part of series [1] (rest of the patches have be accepted
> >   by Geert [2]).
> > * Added regulator for lvds
> > * Added reset pin for touchpanel
> > * This patch is based on series [3]
> >
> > [1] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> >     ?series=330277
> > [2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> >     renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
> > [3] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> >     ?series=330957
> > ---
> >  arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 99 +++++++++++++++++++++++++
> >  1 file changed, 99 insertions(+)
> >
Would you be queueing this patch along with DRM driver patches for v5.10 ?

Cheers,
Prabhakar

> > diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > index b3461a61a4bf..9bf4fbd9c736 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,51 @@
> >               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>;
> > +     };
> > +
> > +     lvds-receiver {
> > +             compatible = "ti,ds90cf384a", "lvds-decoder";
> > +             vcc-supply = <&vcc_3v3_tft1>;
> > +
> > +             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>;
> > +             power-supply = <&vcc_3v3_tft1>;
> > +
> > +             port {
> > +                     panel_in: endpoint {
> > +                             remote-endpoint = <&lvds_receiver_out>;
> > +                     };
> > +             };
> > +     };
> > +
> >       reg_1p5v: 1p5v {
> >               compatible = "regulator-fixed";
> >               regulator-name = "1P5V";
> > @@ -75,6 +121,17 @@
> >               };
> >       };
> >
> > +     vcc_3v3_tft1: regulator-panel {
> > +             compatible = "regulator-fixed";
> > +
> > +             regulator-name = "vcc-3v3-tft1";
> > +             regulator-min-microvolt = <3300000>;
> > +             regulator-max-microvolt = <3300000>;
> > +             enable-active-high;
> > +             startup-delay-us = <500>;
> > +             gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>;
> > +     };
> > +
> >       vcc_sdhi2: regulator-vcc-sdhi2 {
> >               compatible = "regulator-fixed";
> >
> > @@ -129,12 +186,34 @@
> >               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>;
> > +             /* GP1_29 is also shared with audio codec reset pin */
> > +             reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
> > +             vcc-supply = <&vcc_3v3_tft1>;
> > +     };
> >  };
> >
> >  &cmt0 {
> >       status = "okay";
> >  };
> >
> > +&du {
> > +     status = "okay";
> > +};
> > +
> > +&gpio0 {
> > +     touch-interrupt {
> > +             gpio-hog;
> > +             gpios = <24 GPIO_ACTIVE_LOW>;
> > +             input;
> > +     };
> > +};
> > +
> >  &hsusb {
> >       pinctrl-0 = <&usb0_pins>;
> >       pinctrl-names = "default";
> > @@ -165,6 +244,11 @@
> >               function = "avb";
> >       };
> >
> > +     backlight_pins: backlight {
> > +             groups = "tpu0_to2";
> > +             function = "tpu0";
> > +     };
> > +
> >       i2c2_pins: i2c2 {
> >               groups = "i2c2_b";
> >               function = "i2c2";
> > @@ -208,6 +292,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 +356,10 @@
> >       shared-pin;
> >  };
> >
> > +&tpu {
> > +     status = "okay";
> > +};
> > +
> >  &usbphy {
> >       status = "okay";
> >  };
>
> --
> Regards,
>
> Laurent Pinchart
Laurent Pinchart Sept. 27, 2020, 8:04 p.m. UTC | #3
Hi Prabhakar,

On Sun, Sep 27, 2020 at 02:01:50PM +0100, Lad, Prabhakar wrote:
> On Mon, Aug 24, 2020 at 1:48 AM Laurent Pinchart wrote:
> > On Thu, Aug 13, 2020 at 03:00:41PM +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@bp.renesas.com>
> > > Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
> >
> > Everything seems to match the schematics :-)
> >
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >
> > > ---
> > > v1->v2
> > > * This patch is part of series [1] (rest of the patches have be accepted
> > >   by Geert [2]).
> > > * Added regulator for lvds
> > > * Added reset pin for touchpanel
> > > * This patch is based on series [3]
> > >
> > > [1] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > >     ?series=330277
> > > [2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> > >     renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
> > > [3] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > >     ?series=330957
> > > ---
> > >  arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 99 +++++++++++++++++++++++++
> > >  1 file changed, 99 insertions(+)
>
> Would you be queueing this patch along with DRM driver patches for v5.10 ?

No, I expect Geert to do so, DT patches go through his tree. I handle
the drivers and DT bindings.

> > > diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > > index b3461a61a4bf..9bf4fbd9c736 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,51 @@
> > >               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>;
> > > +     };
> > > +
> > > +     lvds-receiver {
> > > +             compatible = "ti,ds90cf384a", "lvds-decoder";
> > > +             vcc-supply = <&vcc_3v3_tft1>;
> > > +
> > > +             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>;
> > > +             power-supply = <&vcc_3v3_tft1>;
> > > +
> > > +             port {
> > > +                     panel_in: endpoint {
> > > +                             remote-endpoint = <&lvds_receiver_out>;
> > > +                     };
> > > +             };
> > > +     };
> > > +
> > >       reg_1p5v: 1p5v {
> > >               compatible = "regulator-fixed";
> > >               regulator-name = "1P5V";
> > > @@ -75,6 +121,17 @@
> > >               };
> > >       };
> > >
> > > +     vcc_3v3_tft1: regulator-panel {
> > > +             compatible = "regulator-fixed";
> > > +
> > > +             regulator-name = "vcc-3v3-tft1";
> > > +             regulator-min-microvolt = <3300000>;
> > > +             regulator-max-microvolt = <3300000>;
> > > +             enable-active-high;
> > > +             startup-delay-us = <500>;
> > > +             gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>;
> > > +     };
> > > +
> > >       vcc_sdhi2: regulator-vcc-sdhi2 {
> > >               compatible = "regulator-fixed";
> > >
> > > @@ -129,12 +186,34 @@
> > >               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>;
> > > +             /* GP1_29 is also shared with audio codec reset pin */
> > > +             reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
> > > +             vcc-supply = <&vcc_3v3_tft1>;
> > > +     };
> > >  };
> > >
> > >  &cmt0 {
> > >       status = "okay";
> > >  };
> > >
> > > +&du {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&gpio0 {
> > > +     touch-interrupt {
> > > +             gpio-hog;
> > > +             gpios = <24 GPIO_ACTIVE_LOW>;
> > > +             input;
> > > +     };
> > > +};
> > > +
> > >  &hsusb {
> > >       pinctrl-0 = <&usb0_pins>;
> > >       pinctrl-names = "default";
> > > @@ -165,6 +244,11 @@
> > >               function = "avb";
> > >       };
> > >
> > > +     backlight_pins: backlight {
> > > +             groups = "tpu0_to2";
> > > +             function = "tpu0";
> > > +     };
> > > +
> > >       i2c2_pins: i2c2 {
> > >               groups = "i2c2_b";
> > >               function = "i2c2";
> > > @@ -208,6 +292,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 +356,10 @@
> > >       shared-pin;
> > >  };
> > >
> > > +&tpu {
> > > +     status = "okay";
> > > +};
> > > +
> > >  &usbphy {
> > >       status = "okay";
> > >  };
Geert Uytterhoeven Sept. 28, 2020, 7:26 a.m. UTC | #4
Hi Prabhakar,

On Sun, Sep 27, 2020 at 10:04 PM Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> On Sun, Sep 27, 2020 at 02:01:50PM +0100, Lad, Prabhakar wrote:
> > On Mon, Aug 24, 2020 at 1:48 AM Laurent Pinchart wrote:
> > > On Thu, Aug 13, 2020 at 03:00:41PM +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@bp.renesas.com>
> > > > Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
> > >
> > > Everything seems to match the schematics :-)
> > >
> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > >
> > > > ---
> > > > v1->v2
> > > > * This patch is part of series [1] (rest of the patches have be accepted
> > > >   by Geert [2]).
> > > > * Added regulator for lvds
> > > > * Added reset pin for touchpanel
> > > > * This patch is based on series [3]
> > > >
> > > > [1] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > > >     ?series=330277
> > > > [2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> > > >     renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
> > > > [3] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > > >     ?series=330957
> > > > ---
> > > >  arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 99 +++++++++++++++++++++++++
> > > >  1 file changed, 99 insertions(+)
> >
> > Would you be queueing this patch along with DRM driver patches for v5.10 ?
>
> No, I expect Geert to do so, DT patches go through his tree. I handle
> the drivers and DT bindings.

Indeed.

As the dependencies are now in linux-next, I'm queueing this in
renesas-devel for v5.11, after fixing all conflicts due to recent
additions, and sorting &lvds0 before &pfc.

Gr{oetje,eeting}s,

                        Geert
Prabhakar Sept. 28, 2020, 7:52 a.m. UTC | #5
Hi Geert,

> -----Original Message-----
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: 28 September 2020 08:26
> To: Lad, Prabhakar <prabhakar.csengg@gmail.com>
> Cc: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>; Magnus Damm <magnus.damm@gmail.com>; Rob Herring
> <robh+dt@kernel.org>; DRI Development <dri-devel@lists.freedesktop.org>; Linux-Renesas <linux-renesas-soc@vger.kernel.org>; open
> list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS <devicetree@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>;
> Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Subject: Re: [PATCH v2] ARM: dts: r8a7742-iwg21d-q7: Add LCD support
>
> Hi Prabhakar,
>
> On Sun, Sep 27, 2020 at 10:04 PM Laurent Pinchart
> <laurent.pinchart@ideasonboard.com> wrote:
> > On Sun, Sep 27, 2020 at 02:01:50PM +0100, Lad, Prabhakar wrote:
> > > On Mon, Aug 24, 2020 at 1:48 AM Laurent Pinchart wrote:
> > > > On Thu, Aug 13, 2020 at 03:00:41PM +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@bp.renesas.com>
> > > > > Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
> > > >
> > > > Everything seems to match the schematics :-)
> > > >
> > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > >
> > > > > ---
> > > > > v1->v2
> > > > > * This patch is part of series [1] (rest of the patches have be accepted
> > > > >   by Geert [2]).
> > > > > * Added regulator for lvds
> > > > > * Added reset pin for touchpanel
> > > > > * This patch is based on series [3]
> > > > >
> > > > > [1] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > > > >     ?series=330277
> > > > > [2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> > > > >     renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
> > > > > [3] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > > > >     ?series=330957
> > > > > ---
> > > > >  arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 99 +++++++++++++++++++++++++
> > > > >  1 file changed, 99 insertions(+)
> > >
> > > Would you be queueing this patch along with DRM driver patches for v5.10 ?
> >
> > No, I expect Geert to do so, DT patches go through his tree. I handle
> > the drivers and DT bindings.
>
> Indeed.
>
> As the dependencies are now in linux-next, I'm queueing this in
> renesas-devel for v5.11, after fixing all conflicts due to recent
> additions, and sorting &lvds0 before &pfc.
>
This also needs changing vcc-supply to power-supply for lvds receiver due to recent binding changes, probably Ill do the above and post a v3.

Cheers,
Prabhakar

> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds


Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647
Geert Uytterhoeven Sept. 29, 2020, 6:47 a.m. UTC | #6
Hi Prabhakar,

On Mon, Sep 28, 2020 at 9:52 AM Prabhakar Mahadev Lad
<prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
> > On Sun, Sep 27, 2020 at 10:04 PM Laurent Pinchart
> > <laurent.pinchart@ideasonboard.com> wrote:
> > > On Sun, Sep 27, 2020 at 02:01:50PM +0100, Lad, Prabhakar wrote:
> > > > On Mon, Aug 24, 2020 at 1:48 AM Laurent Pinchart wrote:
> > > > > On Thu, Aug 13, 2020 at 03:00:41PM +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@bp.renesas.com>
> > > > > > Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
> > > > >
> > > > > Everything seems to match the schematics :-)
> > > > >
> > > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > >
> > > > > > ---
> > > > > > v1->v2
> > > > > > * This patch is part of series [1] (rest of the patches have be accepted
> > > > > >   by Geert [2]).
> > > > > > * Added regulator for lvds
> > > > > > * Added reset pin for touchpanel
> > > > > > * This patch is based on series [3]
> > > > > >
> > > > > > [1] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > > > > >     ?series=330277
> > > > > > [2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> > > > > >     renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
> > > > > > [3] https://patchwork.kernel.org/project/linux-renesas-soc/list/
> > > > > >     ?series=330957
> > > > > > ---
> > > > > >  arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 99 +++++++++++++++++++++++++
> > > > > >  1 file changed, 99 insertions(+)
> > > >
> > > > Would you be queueing this patch along with DRM driver patches for v5.10 ?
> > >
> > > No, I expect Geert to do so, DT patches go through his tree. I handle
> > > the drivers and DT bindings.
> >
> > Indeed.
> >
> > As the dependencies are now in linux-next, I'm queueing this in
> > renesas-devel for v5.11, after fixing all conflicts due to recent
> > additions, and sorting &lvds0 before &pfc.
> >
> This also needs changing vcc-supply to power-supply for lvds receiver due to recent binding changes, probably Ill do the above and post a v3.

Oh, I didn't know that.  So please send a v3, so I can replace the commit
in my renesas-arm-dt-for-v5.11 branch.
Thanks!

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
index b3461a61a4bf..9bf4fbd9c736 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,51 @@ 
 		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>;
+	};
+
+	lvds-receiver {
+		compatible = "ti,ds90cf384a", "lvds-decoder";
+		vcc-supply = <&vcc_3v3_tft1>;
+
+		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>;
+		power-supply = <&vcc_3v3_tft1>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lvds_receiver_out>;
+			};
+		};
+	};
+
 	reg_1p5v: 1p5v {
 		compatible = "regulator-fixed";
 		regulator-name = "1P5V";
@@ -75,6 +121,17 @@ 
 		};
 	};
 
+	vcc_3v3_tft1: regulator-panel {
+		compatible = "regulator-fixed";
+
+		regulator-name = "vcc-3v3-tft1";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		enable-active-high;
+		startup-delay-us = <500>;
+		gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>;
+	};
+
 	vcc_sdhi2: regulator-vcc-sdhi2 {
 		compatible = "regulator-fixed";
 
@@ -129,12 +186,34 @@ 
 		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>;
+		/* GP1_29 is also shared with audio codec reset pin */
+		reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
+		vcc-supply = <&vcc_3v3_tft1>;
+	};
 };
 
 &cmt0 {
 	status = "okay";
 };
 
+&du {
+	status = "okay";
+};
+
+&gpio0 {
+	touch-interrupt {
+		gpio-hog;
+		gpios = <24 GPIO_ACTIVE_LOW>;
+		input;
+	};
+};
+
 &hsusb {
 	pinctrl-0 = <&usb0_pins>;
 	pinctrl-names = "default";
@@ -165,6 +244,11 @@ 
 		function = "avb";
 	};
 
+	backlight_pins: backlight {
+		groups = "tpu0_to2";
+		function = "tpu0";
+	};
+
 	i2c2_pins: i2c2 {
 		groups = "i2c2_b";
 		function = "i2c2";
@@ -208,6 +292,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 +356,10 @@ 
 	shared-pin;
 };
 
+&tpu {
+	status = "okay";
+};
+
 &usbphy {
 	status = "okay";
 };