Message ID | 1580323253-3281-2-git-send-email-marian-cristian.rotariu.rb@bp.renesas.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | iwg22d-sodimm: enable RGB LCD panel | expand |
Hi Marian-Cristian, On Wed, Jan 29, 2020 at 7:58 PM Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com> wrote: > On the Generic SODIMM Development Platform there is an RGB LCD panel > directly connected to the DU output. It uses the TPU0 as backlight, one > GPIO pull-up configuration for power enable, R[2:7], G[2:7], B[2:7], > VSYNC, HSYNC, DU0_DISP and, DU0_CLK as inputs. > > There is no encoder between the DU and the panel, therefore the default > connector driver is used. > > Signed-off-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com> > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Thanks for your patch! > --- a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts > +++ b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts > @@ -79,6 +79,52 @@ > states = <3300000 1 > 1800000 0>; > }; > + > + vccq_panel: regulator-vccq-panel { > + compatible = "regulator-fixed"; > + regulator-name = "Panel VccQ"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&gpio1 13 GPIO_ACTIVE_LOW>; > + enable-active-high; > + }; > + > + backlight { > + compatible = "pwm-backlight"; > + pwms = <&tpu 3 5000000 GPIO_ACTIVE_LOW>; > + brightness-levels = <0 4 8 16 32 64 128 255>; > + default-brightness-level = <7>; > + pinctrl-0 = <&backlight_pins>; > + pinctrl-names = "default"; > + }; > + > + lcd { > + compatible = "edt,etm043080dh6gp", "simple-panel"; According to the latest panel-simple.yaml, the "simple-panel" should be dropped... > + power-supply = <&vccq_panel>; > + > + ports { > + port@0 { > + lcd_in: endpoint { > + remote-endpoint = <&du_out_rgb0>; > + }; > + }; > + }; ... and there should only be a single "port". > + }; > +}; > + > +&du { > + pinctrl-0 = <&du0_pins>; > + pinctrl-names = "default"; > + > + status = "okay"; > + > + ports { > + port@0 { > + endpoint { > + remote-endpoint = <&lcd_in>; > + }; > + }; > + }; > }; > > &avb { > @@ -150,11 +196,21 @@ > function = "avb"; > }; > > + backlight_pins: backlight { > + renesas,groups = "tpu_to3"; According to my schematics, DISP_BL_GPIO is connected to TPUTO3_C(GP0_21), so this should be "tpu_to3_c". > + renesas,function = "tpu"; > + }; > + > can0_pins: can0 { > groups = "can0_data"; > function = "can0"; > }; > > + du0_pins: du0 { > + renesas,groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out"; > + renesas,function = "du0"; > + }; > + > hscif1_pins: hscif1 { > groups = "hscif1_data", "hscif1_ctrl"; > function = "hscif1"; Gr{oetje,eeting}s, Geert
Hi Geert, Thank you for your review! > -----Original Message----- > From: Geert Uytterhoeven <geert@linux-m68k.org> > Sent: 02 March 2020 13:40 > To: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com> > Cc: Linux-Renesas <linux-renesas-soc@vger.kernel.org>; Chris Paterson > <Chris.Paterson2@renesas.com>; Prabhakar Mahadev Lad > <prabhakar.mahadev-lad.rj@bp.renesas.com> > Subject: Re: [PATCH 1/2] ARM: dts: iwg22d-sodimm: enable LCD panel > > Hi Marian-Cristian, > > On Wed, Jan 29, 2020 at 7:58 PM Marian-Cristian Rotariu <marian- > cristian.rotariu.rb@bp.renesas.com> wrote: > > On the Generic SODIMM Development Platform there is an RGB LCD panel > > directly connected to the DU output. It uses the TPU0 as backlight, > > one GPIO pull-up configuration for power enable, R[2:7], G[2:7], > > B[2:7], VSYNC, HSYNC, DU0_DISP and, DU0_CLK as inputs. > > > > There is no encoder between the DU and the panel, therefore the > > default connector driver is used. > > > > Signed-off-by: Marian-Cristian Rotariu > > <marian-cristian.rotariu.rb@bp.renesas.com> > > Reviewed-by: Lad Prabhakar <prabhakar.mahadev- > lad.rj@bp.renesas.com> > > Thanks for your patch! > > > --- a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts > > +++ b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts > > @@ -79,6 +79,52 @@ > > states = <3300000 1 > > 1800000 0>; > > }; > > + > > + vccq_panel: regulator-vccq-panel { > > + compatible = "regulator-fixed"; > > + regulator-name = "Panel VccQ"; > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + gpio = <&gpio1 13 GPIO_ACTIVE_LOW>; > > + enable-active-high; > > + }; > > + > > + backlight { > > + compatible = "pwm-backlight"; > > + pwms = <&tpu 3 5000000 GPIO_ACTIVE_LOW>; > > + brightness-levels = <0 4 8 16 32 64 128 255>; > > + default-brightness-level = <7>; > > + pinctrl-0 = <&backlight_pins>; > > + pinctrl-names = "default"; > > + }; > > + > > + lcd { > > + compatible = "edt,etm043080dh6gp", "simple-panel"; > > According to the latest panel-simple.yaml, the "simple-panel" should be > dropped... I will drop "simple-panel" in v2. > > > + power-supply = <&vccq_panel>; > > + > > + ports { > > + port@0 { > > + lcd_in: endpoint { > > + remote-endpoint = <&du_out_rgb0>; > > + }; > > + }; > > + }; > > ... and there should only be a single "port". Indeed, I will fix it. > > > + }; > > +}; > > + > > +&du { > > + pinctrl-0 = <&du0_pins>; > > + pinctrl-names = "default"; > > + > > + status = "okay"; > > + > > + ports { > > + port@0 { > > + endpoint { > > + remote-endpoint = <&lcd_in>; > > + }; > > + }; > > + }; > > }; > > > > &avb { > > @@ -150,11 +196,21 @@ > > function = "avb"; > > }; > > > > + backlight_pins: backlight { > > + renesas,groups = "tpu_to3"; > > According to my schematics, DISP_BL_GPIO is connected to > TPUTO3_C(GP0_21), so this should be "tpu_to3_c". This is a rather big mistake as I did not test the brightness of the panel. I have now retested the v2 patch and the various level of brightness work fine. I will send the v2 in a bit. Best regards, Marian
diff --git a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts index ce6603b..878113a 100644 --- a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts +++ b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts @@ -79,6 +79,52 @@ states = <3300000 1 1800000 0>; }; + + vccq_panel: regulator-vccq-panel { + compatible = "regulator-fixed"; + regulator-name = "Panel VccQ"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio1 13 GPIO_ACTIVE_LOW>; + enable-active-high; + }; + + backlight { + compatible = "pwm-backlight"; + pwms = <&tpu 3 5000000 GPIO_ACTIVE_LOW>; + brightness-levels = <0 4 8 16 32 64 128 255>; + default-brightness-level = <7>; + pinctrl-0 = <&backlight_pins>; + pinctrl-names = "default"; + }; + + lcd { + compatible = "edt,etm043080dh6gp", "simple-panel"; + power-supply = <&vccq_panel>; + + ports { + port@0 { + lcd_in: endpoint { + remote-endpoint = <&du_out_rgb0>; + }; + }; + }; + }; +}; + +&du { + pinctrl-0 = <&du0_pins>; + pinctrl-names = "default"; + + status = "okay"; + + ports { + port@0 { + endpoint { + remote-endpoint = <&lcd_in>; + }; + }; + }; }; &avb { @@ -150,11 +196,21 @@ function = "avb"; }; + backlight_pins: backlight { + renesas,groups = "tpu_to3"; + renesas,function = "tpu"; + }; + can0_pins: can0 { groups = "can0_data"; function = "can0"; }; + du0_pins: du0 { + renesas,groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out"; + renesas,function = "du0"; + }; + hscif1_pins: hscif1 { groups = "hscif1_data", "hscif1_ctrl"; function = "hscif1"; @@ -230,6 +286,10 @@ shared-pin; }; +&tpu { + status = "okay"; +}; + &usbphy { status = "okay"; };