linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V3] ARM: dts: imx7d-pico: Add LCD support
@ 2019-10-29 10:17 Joris Offouga
  2019-10-30  8:27 ` Marco Felsch
  0 siblings, 1 reply; 3+ messages in thread
From: Joris Offouga @ 2019-10-29 10:17 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Otavio Salvador, Shawn Guo, Sascha Hauer, open list,
	Joris Offouga, Rob Herring, NXP Linux Team,
	Pengutronix Kernel Team, Fabio Estevam

From: Fabio Estevam <festevam@gmail.com>

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

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Joris Offouga <offougajoris@gmail.com>
---
 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH V3] ARM: dts: imx7d-pico: Add LCD support
  2019-10-29 10:17 [PATCH V3] ARM: dts: imx7d-pico: Add LCD support Joris Offouga
@ 2019-10-30  8:27 ` Marco Felsch
  2020-01-01 23:47   ` Joris Offouga
  0 siblings, 1 reply; 3+ messages in thread
From: Marco Felsch @ 2019-10-30  8:27 UTC (permalink / raw)
  To: Joris Offouga
  Cc: Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Otavio Salvador, Fabio Estevam, Sascha Hauer, open list,
	Rob Herring, NXP Linux Team, Pengutronix Kernel Team, Shawn Guo,
	linux-arm-kernel

Hi Joris,

On 19-10-29 11:17, Joris Offouga wrote:
> From: Fabio Estevam <festevam@gmail.com>
> 
> Add support for the VXT VL050-8048NT-C01 panel connected through
> the 24 bit parallel LCDIF interface.
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> Signed-off-by: Joris Offouga <offougajoris@gmail.com>
> ---
>  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 |

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH V3] ARM: dts: imx7d-pico: Add LCD support
  2019-10-30  8:27 ` Marco Felsch
@ 2020-01-01 23:47   ` Joris Offouga
  0 siblings, 0 replies; 3+ messages in thread
From: Joris Offouga @ 2020-01-01 23:47 UTC (permalink / raw)
  To: Marco Felsch
  Cc: Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Otavio Salvador, Fabio Estevam, Sascha Hauer, open list,
	Rob Herring, NXP Linux Team, Pengutronix Kernel Team, Shawn Guo,
	linux-arm-kernel

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<festevam@gmail.com>
>>
>> Add support for the VXT VL050-8048NT-C01 panel connected through
>> the 24 bit parallel LCDIF interface.
>>
>> Signed-off-by: Fabio Estevam<festevam@gmail.com>
>> Signed-off-by: Otavio Salvador<otavio@ossystems.com.br>
>> Signed-off-by: Joris Offouga<offougajoris@gmail.com>
>> ---
>>   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
>>
>>
>>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-01 23:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-29 10:17 [PATCH V3] ARM: dts: imx7d-pico: Add LCD support Joris Offouga
2019-10-30  8:27 ` Marco Felsch
2020-01-01 23:47   ` Joris Offouga

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).