Patch to support MPU 8080 LCD on iMX6UL and iMX7D

Document created by Qiang Li - Mpu Se Employee on May 30, 2016Last modified by ebiz_ws_prod on Dec 13, 2017
Version 6Show 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

Original Attachment has been moved to: L3.14.52_Uboot_mpu_display_for_iMX7D.patch.zip

Original Attachment has been moved to: mpu_lcd_fb_test.tar.gz

Original Attachment has been moved to: L3.14.52-MPU-8080-LCD-Patch.zip

18 people found this helpful

Attachments

    Outcomes