iMX6 UL BSP Porting for 16 bits LCD parallel interface display

cancel
Showing results for 
Search instead for 
Did you mean: 

iMX6 UL BSP Porting for 16 bits LCD parallel interface display

1,720 Views
ftosoratti
Contributor II

Hello,

we need to port the Yocto Project BSP to a custom board based mainly on imx6ul evk.

Our board includes a 16bit TFT display with a SITRONIX ST7789V controller.

Questions:

1) Is It sufficient to modify the device tree file imx6ul-14x14-evk.dts to make the display work?

2) Can anyone has an example to follow to modify the dts for these type of displays?

3) We Need to modify other source files in the BSP? Examples?

We are working with the following BSP version: fsl-yocto-L4.1.15_2.0.0-ga.

Thanks in advance for any helpful answer.

Best Regards,

Francesco.

UPDATE!!:

Finally we solved our problem and the display driver works, applying the solution in the following post:

https://community.nxp.com/docs/DOC-331754 

The right configuration was with 18 bpp and 16 bit bus width, but to apply the patch correctly we had to download the  L3.14.52_1.1.0_GA NXP Kernel.

We applied the patch to the old kernel then, we simply copied the patched files, to the right paths, to the folder of the fsl-yocto-L4.1.15_2.0.0-ga after menuconfig command via bitbake.

0 Kudos
6 Replies

316 Views
igorpadykov
NXP TechSupport
NXP TechSupport

Hi Francesco

ST7789V has MCU parallel 8080-series MCU Interface (8-bit, 9-bit, 16-bit & 18-bit)

and one can check patch on

Patch to support MPU 8080 LCD on iMX6UL and iMX7D 

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

0 Kudos

316 Views
ftosoratti
Contributor II

Thank you very much Igor.

We applied the patch to our version of the BSP (some modification needed because of different source codes paths).

We successfully compiled all the source codes.

In the next days we will try to connect the display to imx6ul evk by means of an interfacing board to test if it works.

Best Regards,

Francesco.

0 Kudos

316 Views
dingfeng
Contributor I

Hi Francesco,

Have you successful let st7789v work well with imx6ulevk? I also use this patch to kernel version  4.1.15_2.0.0-ga, but I face some error message like below, do you have the same error with me?

when I run driver I face below error:
 mxsfb 21c8000.lcdif: failed to find mxc display driver

And when I run test app, I face below error:

 mxsfb 21c8000.lcdif: mxsfb_mpu_wait_for_ready timeout!

Thanks

0 Kudos

316 Views
ftosoratti
Contributor II

We tried to apply the patch to this kernel, but the LCD shows images on only one quarter of the total area, but the resolution is the same 240x320, and the colors appear not correctly.

The only modification with respect of the above patch was that in the  mxsfb_st7789s_qvga.c source files, because we have 16 bit (16 LCDIF_DATA pins) connected to the display.

static struct mpu_lcd_config lcd_config = {
.bus_mode = MPU_BUS_8080,
.interface_width = 16,
.panel_bpp = 16,
};

We also change the dts to use 16 bit LCD DATA bits:

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

Have you, some ideas to fix this?

 

Thanks in advance for any helpful answer.

 

Best Regards,

Francesco.

0 Kudos

316 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Hi Frandesco,

Since there is only1/4 of the display, I think there is not enough data sent out from LCDIF port, but I don't have 16 bits i80 display and board.

Maybe you can send data without DMA, just write data to LCDIF_DATA register and check if it can work or not? Then you can confirm the LCDIF register setting is OK or not. After that works, you can focus on DMA setting.

0 Kudos

316 Views
ftosoratti
Contributor II

Hi,

at this time we have not already tested our display, but after we have applied the SW patch we have tried that the imx6ul evk still works with its LCD evaluation board.

We are making an interface board to connect and test our display with imx6ul evk.

We will share our results as soon as possible.

Best Regards,

Francesco.

0 Kudos