Patch to support MPU 8080 LCD on iMX6UL and iMX7D

Document created by Qiang Li Employee on May 30, 2016Last modified by Qiang Li Employee on Aug 1, 2016
Version 2Show 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
       &pinctrl_lcdif_ctrl>;
display = <&display0>;
status = "okay";

display0: display {
  mpu-mode;
  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_for_iMX7D.patch

15 people found this helpful

Outcomes