2019-10-29 17:57:55

by Joris Offouga

[permalink] [raw]
Subject: [PATCH V3] ARM: dts: imx7d-pico: Add LCD support

From: Fabio Estevam <[email protected]>

Add support for the VXT VL050-8048NT-C01 panel connected through
the 24 bit parallel LCDIF interface.

Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Otavio Salvador <[email protected]>
Signed-off-by: Joris Offouga <[email protected]>
---
Changes v2 -> v3
rename pintcrl_backlight to pinctrl_pwm4
sort the nodes alphabetical

Changes v1 -> v2
change "From:" Joris Offouga to Fabio Estevam
set Joris Offouga signed-off to the last one

arch/arm/boot/dts/imx7d-pico.dtsi | 82 +++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)

diff --git a/arch/arm/boot/dts/imx7d-pico.dtsi b/arch/arm/boot/dts/imx7d-pico.dtsi
index 6f50ebf31a0a..9c7c2c45e6aa 100644
--- a/arch/arm/boot/dts/imx7d-pico.dtsi
+++ b/arch/arm/boot/dts/imx7d-pico.dtsi
@@ -7,12 +7,40 @@
#include "imx7d.dtsi"

/ {
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm4 0 50000 0>;
+ brightness-levels = <0 36 72 108 144 180 216 255>;
+ default-brightness-level = <6>;
+ };
+
/* Will be filled by the bootloader */
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0>;
};

+ panel {
+ compatible = "vxt,vl050-8048nt-c01";
+ backlight = <&backlight>;
+ power-supply = <&reg_lcd_3v3>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&display_out>;
+ };
+ };
+ };
+
+ reg_lcd_3v3: regulator-lcd-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "lcd-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
reg_wlreg_on: regulator-wlreg_on {
compatible = "regulator-fixed";
pinctrl-names = "default";
@@ -230,6 +258,18 @@
};
};

+&lcdif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lcdif>;
+ status = "okay";
+
+ port {
+ display_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+};
+
&sai1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai1>;
@@ -260,6 +300,8 @@
};

&pwm4 { /* Backlight */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm4>;
status = "okay";
};

@@ -413,6 +455,40 @@
>;
};

+ pinctrl_lcdif: lcdifgrp {
+ fsl,pins = <
+ MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79
+ MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79
+ MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79
+ MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79
+ MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79
+ MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79
+ MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79
+ MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79
+ MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79
+ MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79
+ MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79
+ MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79
+ MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79
+ MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79
+ MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79
+ MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79
+ MX7D_PAD_LCD_DATA16__LCD_DATA16 0x79
+ MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79
+ MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79
+ MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79
+ MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79
+ MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79
+ MX7D_PAD_LCD_DATA22__LCD_DATA22 0x79
+ MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79
+ MX7D_PAD_LCD_CLK__LCD_CLK 0x79
+ MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x78
+ MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x78
+ MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x78
+ MX7D_PAD_LCD_RESET__GPIO3_IO4 0x14
+ >;
+ };
+
pinctrl_pwm1: pwm1 {
fsl,pins = <
MX7D_PAD_GPIO1_IO08__PWM1_OUT 0x7f
@@ -431,6 +507,12 @@
>;
};

+ pinctrl_pwm4: pwm4grp{
+ fsl,pins = <
+ MX7D_PAD_GPIO1_IO11__PWM4_OUT 0x0
+ >;
+ };
+
pinctrl_reg_wlreg_on: regregongrp {
fsl,pins = <
MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16 0x59
--
2.17.1


2019-10-30 08:28:53

by Marco Felsch

[permalink] [raw]
Subject: Re: [PATCH V3] ARM: dts: imx7d-pico: Add LCD support

Hi Joris,

On 19-10-29 11:17, Joris Offouga wrote:
> From: Fabio Estevam <[email protected]>
>
> Add support for the VXT VL050-8048NT-C01 panel connected through
> the 24 bit parallel LCDIF interface.
>
> Signed-off-by: Fabio Estevam <[email protected]>
> Signed-off-by: Otavio Salvador <[email protected]>
> Signed-off-by: Joris Offouga <[email protected]>
> ---
> Changes v2 -> v3
> rename pintcrl_backlight to pinctrl_pwm4
> sort the nodes alphabetical
>
> Changes v1 -> v2
> change "From:" Joris Offouga to Fabio Estevam
> set Joris Offouga signed-off to the last one
>
> arch/arm/boot/dts/imx7d-pico.dtsi | 82 +++++++++++++++++++++++++++++++
> 1 file changed, 82 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx7d-pico.dtsi b/arch/arm/boot/dts/imx7d-pico.dtsi
> index 6f50ebf31a0a..9c7c2c45e6aa 100644
> --- a/arch/arm/boot/dts/imx7d-pico.dtsi
> +++ b/arch/arm/boot/dts/imx7d-pico.dtsi
> @@ -7,12 +7,40 @@
> #include "imx7d.dtsi"
>
> / {
> + backlight: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm4 0 50000 0>;
^
still not needed

> + brightness-levels = <0 36 72 108 144 180 216 255>;
> + default-brightness-level = <6>;
> + };
> +
> /* Will be filled by the bootloader */
> memory@80000000 {
> device_type = "memory";
> reg = <0x80000000 0>;
> };
>
> + panel {
> + compatible = "vxt,vl050-8048nt-c01";
> + backlight = <&backlight>;
> + power-supply = <&reg_lcd_3v3>;
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&display_out>;
> + };
> + };
> + };
> +
> + reg_lcd_3v3: regulator-lcd-3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "lcd-3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;

Where happens the muxing for this gpio?

> + enable-active-high;
> + };
> +
> reg_wlreg_on: regulator-wlreg_on {
> compatible = "regulator-fixed";
> pinctrl-names = "default";
> @@ -230,6 +258,18 @@
> };
> };
>
> +&lcdif {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_lcdif>;
> + status = "okay";
> +
> + port {
> + display_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> +};
> +
> &sai1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_sai1>;
> @@ -260,6 +300,8 @@
> };
>
> &pwm4 { /* Backlight */
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pwm4>;
> status = "okay";
> };
>
> @@ -413,6 +455,40 @@
> >;
> };
>
> + pinctrl_lcdif: lcdifgrp {
> + fsl,pins = <
> + MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79
> + MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79
> + MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79
> + MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79
> + MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79
> + MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79
> + MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79
> + MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79
> + MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79
> + MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79
> + MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79
> + MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79
> + MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79
> + MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79
> + MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79
> + MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79
> + MX7D_PAD_LCD_DATA16__LCD_DATA16 0x79
> + MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79
> + MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79
> + MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79
> + MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79
> + MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79
> + MX7D_PAD_LCD_DATA22__LCD_DATA22 0x79
> + MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79
> + MX7D_PAD_LCD_CLK__LCD_CLK 0x79
> + MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x78
> + MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x78
> + MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x78
> + MX7D_PAD_LCD_RESET__GPIO3_IO4 0x14
> + >;
> + };
> +
> pinctrl_pwm1: pwm1 {
> fsl,pins = <
> MX7D_PAD_GPIO1_IO08__PWM1_OUT 0x7f
> @@ -431,6 +507,12 @@
> >;
> };
>
> + pinctrl_pwm4: pwm4grp{
> + fsl,pins = <
> + MX7D_PAD_GPIO1_IO11__PWM4_OUT 0x0
^
Is this muxing value valid?

Regards,
Marco

> + >;
> + };
> +
> pinctrl_reg_wlreg_on: regregongrp {
> fsl,pins = <
> MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16 0x59
> --
> 2.17.1
>
>
>

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2020-01-01 23:48:58

by Joris Offouga

[permalink] [raw]
Subject: Re: [PATCH V3] ARM: dts: imx7d-pico: Add LCD support

Hi Marco,

Sorry for the delay,

Le 30/10/2019 à 09:27, Marco Felsch a écrit :
> Hi Joris,
>
> On 19-10-29 11:17, Joris Offouga wrote:
>> From: Fabio Estevam<[email protected]>
>>
>> Add support for the VXT VL050-8048NT-C01 panel connected through
>> the 24 bit parallel LCDIF interface.
>>
>> Signed-off-by: Fabio Estevam<[email protected]>
>> Signed-off-by: Otavio Salvador<[email protected]>
>> Signed-off-by: Joris Offouga<[email protected]>
>> ---
>> Changes v2 -> v3
>> rename pintcrl_backlight to pinctrl_pwm4
>> sort the nodes alphabetical
>>
>> Changes v1 -> v2
>> change "From:" Joris Offouga to Fabio Estevam
>> set Joris Offouga signed-off to the last one
>>
>> arch/arm/boot/dts/imx7d-pico.dtsi | 82 +++++++++++++++++++++++++++++++
>> 1 file changed, 82 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx7d-pico.dtsi b/arch/arm/boot/dts/imx7d-pico.dtsi
>> index 6f50ebf31a0a..9c7c2c45e6aa 100644
>> --- a/arch/arm/boot/dts/imx7d-pico.dtsi
>> +++ b/arch/arm/boot/dts/imx7d-pico.dtsi
>> @@ -7,12 +7,40 @@
>> #include "imx7d.dtsi"
>>
>> / {
>> + backlight: backlight {
>> + compatible = "pwm-backlight";
>> + pwms = <&pwm4 0 50000 0>;
> ^
> still not needed

This is necessary, because it's not provide, we have this warning :

  DTC     arch/arm/boot/dts/imx7d-pico-pi.dtb
arch/arm/boot/dts/imx7d-pico.dtsi:12.17-40: Warning (pwms_property):
/backlight:pwms: property size (12) too small for cell size 3

>> + brightness-levels = <0 36 72 108 144 180 216 255>;
>> + default-brightness-level = <6>;
>> + };
>> +
>> /* Will be filled by the bootloader */
>> memory@80000000 {
>> device_type = "memory";
>> reg = <0x80000000 0>;
>> };
>>
>> + panel {
>> + compatible = "vxt,vl050-8048nt-c01";
>> + backlight = <&backlight>;
>> + power-supply = <&reg_lcd_3v3>;
>> +
>> + port {
>> + panel_in: endpoint {
>> + remote-endpoint = <&display_out>;
>> + };
>> + };
>> + };
>> +
>> + reg_lcd_3v3: regulator-lcd-3v3 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "lcd-3v3";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
> Where happens the muxing for this gpio?

I add it for V4

Thanks

>
>> + enable-active-high;
>> + };
>> +
>> reg_wlreg_on: regulator-wlreg_on {
>> compatible = "regulator-fixed";
>> pinctrl-names = "default";
>> @@ -230,6 +258,18 @@
>> };
>> };
>>
>> +&lcdif {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_lcdif>;
>> + status = "okay";
>> +
>> + port {
>> + display_out: endpoint {
>> + remote-endpoint = <&panel_in>;
>> + };
>> + };
>> +};
>> +
>> &sai1 {
>> pinctrl-names = "default";
>> pinctrl-0 = <&pinctrl_sai1>;
>> @@ -260,6 +300,8 @@
>> };
>>
>> &pwm4 { /* Backlight */
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_pwm4>;
>> status = "okay";
>> };
>>
>> @@ -413,6 +455,40 @@
>> >;
>> };
>>
>> + pinctrl_lcdif: lcdifgrp {
>> + fsl,pins = <
>> + MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79
>> + MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79
>> + MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79
>> + MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79
>> + MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79
>> + MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79
>> + MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79
>> + MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79
>> + MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79
>> + MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79
>> + MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79
>> + MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79
>> + MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79
>> + MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79
>> + MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79
>> + MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79
>> + MX7D_PAD_LCD_DATA16__LCD_DATA16 0x79
>> + MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79
>> + MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79
>> + MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79
>> + MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79
>> + MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79
>> + MX7D_PAD_LCD_DATA22__LCD_DATA22 0x79
>> + MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79
>> + MX7D_PAD_LCD_CLK__LCD_CLK 0x79
>> + MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x78
>> + MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x78
>> + MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x78
>> + MX7D_PAD_LCD_RESET__GPIO3_IO4 0x14
>> + >;
>> + };
>> +
>> pinctrl_pwm1: pwm1 {
>> fsl,pins = <
>> MX7D_PAD_GPIO1_IO08__PWM1_OUT 0x7f
>> @@ -431,6 +507,12 @@
>> >;
>> };
>>
>> + pinctrl_pwm4: pwm4grp{
>> + fsl,pins = <
>> + MX7D_PAD_GPIO1_IO11__PWM4_OUT 0x0
> ^
> Is this muxing value valid?

I fix for V4

Regards,

Joris

>
> Regards,
> Marco
>
>> + >;
>> + };
>> +
>> pinctrl_reg_wlreg_on: regregongrp {
>> fsl,pins = <
>> MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16 0x59
>> --
>> 2.17.1
>>
>>
>>