Patch to support MPU 8080 LCD on iMX6UL and iMX7D

Document created by Qiang Li - Mpu Se Employee on May 30, 2016Last modified by Qiang Li - Mpu Se Employee on Feb 21, 2020
Version 7Show Document
  • View in full screen mode

1. Description

    These patches are used to support MPU 8080 LCD on L3.14.52_1.1.0_GA BSP.
    They are based on ELCDIF hardware module, iMX6UL and iMX7D is the reference platform.


2. File List
-- 0001-Add-ST7789S-MPU-LCD-support-for-iMX6UL-board.patch
   Patch to support MPU display for iMX6UL, ST7789S 240*320 panel is the example.


-- 0002-Add-ST7735R-MPU-LCD-support-for-iMX7D-board.patch
   Patch to support MPU display for iMX7D, ST7735R 128*128 panel is the example.


-- readme.txt
   this file, please refer to it before use the patches


3. Requirement

- iMX6UL EVK board or iMX7D SabreSD board.

- L3.14.52_1.1.0_GA kernel.


4. How to use

-- Copy the patch files to kernel folder.
    $ cd ~/L3.14.52_GA1.1.0/build-imx7dsabresd-X11/tmp/work/imx7dsabresd-poky-linux-gnueabi/linux-imx/3.14.52-r0/git
    $ git apply ./0001-Add-ST7789S-MPU-LCD-support-for-iMX6UL-board.patch
    $ git apply ./0002-Add-ST7735R-MPU-LCD-support-for-iMX7D-board.patch


-- Build the new kernel image:
    $ cd ~/L3.14.52_GA1.1.0/build-imx7dsabresd-X11/tmp/work/imx7dsabresd-poky-linux-gnueabi/linux-imx/3.14.52-r0/git
    $ export CROSS_COMPILE=~/L3.14.52_GA1.1.0/build-imx7dsabresd-X11/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
    $ export ARCH=arm
    $ make imx_v7_defconfig
    $ make zImage
    $ make dtbs


5. How to add a new MPU panel
    1) in dts file, such as imx6ul-14x14-evk-i80lcd.dts, update the panel name "lcd_panel",
       update the PINs in "pinctrl_lcdif_dat" and "pinctrl_lcdif_ctrl" for the new panel,
       the reset and rs PINs can be from GPIO pin, lcd_reset_gpio and lcd_rs_gpio.

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

display0: display {
  lcd_reset_gpio = <&gpio3 14 0>;
  lcd_panel = "ST7789S-QVGA";


    2) Reference to "mxsfb_st7789s_qvga.c", add a new panel driver code.


    3) Add the new panel support in Makefile and Kconfig under "drivers/video/mxc/"


    4) Add the new panel support in file "mxsfb.c" and "mxsfb.h"


    5) Add the new panel support in default kernel config file "imx_v7_defconfig"


Note: mpu_lcd_fb_test.tar.gz is the test application, for 8080 display, it is not sync display, so software need call ioctl to refresh the LCD.



2016-08-02: Add the uboot reference patch for iMX7D.

File: L3.14.52_Uboot_mpu_display.patch



20 people found this helpful