linux-kernel.vger.kernel.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: Fabio Estevam, Otavio Salvador, Joris Offouga, Rob Herring,
	Mark Rutland, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	NXP Linux Team,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

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


^ 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: linux-arm-kernel, Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Otavio Salvador, Shawn Guo, Sascha Hauer, open list, Rob Herring,
	NXP Linux Team, Pengutronix Kernel Team, Fabio Estevam

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 |

^ 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: linux-arm-kernel, Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Otavio Salvador, Shawn Guo, Sascha Hauer, open list, Rob Herring,
	NXP Linux Team, Pengutronix Kernel Team, Fabio Estevam

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
>>
>>
>>

^ 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).