How to interface LCD (1024x600) to Imx6ul ?

cancel
Showing results for 
Search instead for 
Did you mean: 

How to interface LCD (1024x600) to Imx6ul ?

1,120 Views
Contributor I

Hi Team,

I am using imx6ul custom board and interface to Display-tech lcd (1024x600).

Some changes in device tree file but lcd not working. First trying to configure display next touch.

We are given GPIO pin for back-light control and able to changing.

My device tree :

&lcdif {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lcdif_dat
                     &pinctrl_lcdif_ctrl>;
        display = <&display0>;
        status = "okay";

        display0: display {
                bits-per-pixel = <16>;
                bus-width = <24>;

                display-timings {
                        native-mode = <&timing0>;
                        timing0: timing0 {
                                clock-frequency =<50000000>;
                                hactive = <1024>;
                                vactive = <600>;
                                hfront-porch = <0>;
                                hback-porch = <0>;
                                hsync-len = <176>;
                                vback-porch = <0>;
                                vfront-porch = <0>;
                 vsync-len = <25>;
                                hsync-active = <0>;
                                vsync-active = <0>;
                                de-active = <1>;
                                pixelclk-active = <0>;
                        };
                };
        };
};

pinctrl_lcdif_dat: lcdifdatgrp {
                        fsl,pins = <
                                MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      0x79
                                MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x79
                                MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x79
                                MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x79
                                MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x79
                                MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x79
                                MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x79
                                MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x79
                                MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x79
                                MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x79
                                MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x79
                                MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x79
                                MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x79
                                MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x79
                                MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x79
                                MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x79
                                MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x79
                                MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x79
                                MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      0x79
                                MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      0x79
                                MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      0x79
                                MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      0x79
                                MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      0x79
                                MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      0x79
                        >;
                };

Boot Logs :

imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/flexcan1grp
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/pwm1grp
backlight supply power not found, using dummy regulator
21c8000.lcdif supply lcd not found, using dummy regulator
mxsfb 21c8000.lcdif: failed to find mxc display driver
Console: switching to colour frame buffer device 128x37
mxsfb 21c8000.lcdif: mxs wait for pan flip timeout
mxsfb 21c8000.lcdif: initialized
imx-sdma 20ec000.sdma: loaded firmware 3.3
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 18, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 69, base_baud = 5000000) is a IMX
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 70, base_baud = 5000000) is a IMX
imx-rng 2284000.rngb: iMX RNG Registered.
[drm] Initialized
[drm] Initialized vivante 1.0.0 20120216 on minor 0

edt_ft5x06 1-0038: touchscreen probe failed
input: iMX6UL Touchscreen Controller as /devices/soc0/soc/2000000.aips-bus/2040000.tsc/input/input2

Labels (1)
0 Kudos
7 Replies

307 Views
Contributor I

Dear igor,

Thanks for reply,

Device tree file changes as per the above link, while booting observed one issues.

Logs :

imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/flexcan1grp
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/pwm1grp.

How to calculate the address value ( MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      0x79) -> 0x79.

0 Kudos

307 Views
NXP TechSupport
NXP TechSupport

Hi naveen

>How to calculate the address value ( MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      0x79) -> 0x79.

one can look at sect.30.5.229 SW_PAD_CTL_PAD_LCD_DATA00 SW PAD Control
Register (IOMUXC_SW_PAD_CTL_PAD_LCD_DATA00) i.MX6UL Reference Manual

http://www.nxp.com/docs/en/reference-manual/IMX6ULRM.pdf

Best regards
igor

0 Kudos

307 Views
Contributor I

Thanks for the reply,

issue :1 . Interfaced  LCD is 24bit and developed board is 18 bit, for 24bit lcd  6 more pins are required.

PWM and CAN pins are added for 24 but lcd. I commented in my device tree file but some errors are observed.

My device tree configuration :

          compatible = "pwm-backlight";
                pwms = <&pwm1 0 20000>;
                brightness-levels = <0 4 8 16 32 64 128 255>;
                default-brightness-level = <6>;
                status = "disable";
        };
&pwm1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm1>;
        status = "disabled";
};   pinctrl_pwm1: pwm1grp {
                        fsl,pins = <
                        /*MX6UL_PAD_LCD_DATA00__PWM1_OUT                0x110b0*/
                        >;
                };

Error logs :

imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/pwm1grp     

2. lcif driver loading errors are observed in logs.

21c8000.lcdif supply lcd not found, using dummy regulator
mxsfb 21c8000.lcdif: failed to find mxc display driver                                                                                                                                                                            

3. some pan flip timout error observed.   

mxsfb 21c8000.lcdif: mxs wait for pan flip timeout
mxsfb 21c8000.lcdif: mxs wait for pan flip timeout
mxsfb 21c8000.lcdif: mxs wait for pan flip timeout
mxsfb 21c8000.lcdif: mxs wait for pan flip timeout
mxsfb 21c8000.lcdif: mxs wait for pan flip timeout
0 Kudos

307 Views
Contributor I

1. I am able to load the driver and created interrupts.

root@imx6ul-var-dart:~# cat /proc/interrupts

220:          0  gpio-mxc  17 Edge      edt-ft5x06

2. Input device  created

[    2.426747] input: EP0790M09 as /devices/soc0/soc/2100000.aips-bus/21a4000.i2c/i2c-1/1-0038/input/input1

3. When press touch not responding

root@imx6ul-var-dart:~# evtest /dev/input/touchscreen0
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "EP0790M09"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max     1023
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max      599
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max        4
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max     1023
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      599
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)

4. I able to read device id and some other commands data using below command

root@imx6ul-var-dart:~# i2cget -y -f 1 0x38 0x02 (Number of touch points)
0x03

root@imx6ul-var-dart:~# i2cget -y -f 1 0x38 0x00 (working mode)
0x00

How to calibrate touch screens and run my qt qtplication.

0 Kudos

307 Views
NXP TechSupport
NXP TechSupport

DART-6UL was developed and supported by Variscite, one can post question on its wiki:

DART-6UL Yocto Morty Build Yocto release - Variscite Wiki 

Best regards
igor

0 Kudos

307 Views
Contributor I

Dear Igor,

Thanks for the reply,  This issues already posted but no reply ..Please give me any solution for this issues.

Regards,

Nv

0 Kudos

307 Views
NXP TechSupport
NXP TechSupport

Hi naveen

one can try with latest nxp bsps from source.codeaurora.org/external/imx/linux-imx

imx6ul-14x14-evk.dts\dts\boot\arm\arch - linux-imx - i.MX Linux kernel 

use appropriate kernel boot parameter which can be found in linux documentation (Release Notes) on

i.MX Software | NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos