ARM: dts: imx7d-pico: Add LCD support
authorFabio Estevam <festevam@gmail.com>
Wed, 1 Jan 2020 23:57:18 +0000 (00:57 +0100)
committerShawn Guo <shawnguo@kernel.org>
Thu, 9 Jan 2020 09:17:42 +0000 (17:17 +0800)
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>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx7d-pico.dtsi

index 6f50ebf..e57da0d 100644 (file)
@@ -7,12 +7,42 @@
 #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";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_reg_lcdreg_on>;
+               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";
        };
 };
 
+&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>;
 };
 
 &pwm4 { /* Backlight */
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm4>;
        status = "okay";
 };
 
                >;
        };
 
+       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
                >;
        };
 
+       pinctrl_pwm4: pwm4grp{
+               fsl,pins = <
+                       MX7D_PAD_GPIO1_IO11__PWM4_OUT   0x7f
+               >;
+       };
+
        pinctrl_reg_wlreg_on: regregongrp {
                fsl,pins = <
                        MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16        0x59
                >;
        };
 
+       pinctrl_reg_lcdreg_on: reglcdongrp {
+       fsl,pins = <
+                       MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6     0x59
+               >;
+       };
+
        pinctrl_wdog: wdoggrp {
                fsl,pins = <
                        MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B  0x74