/*********************************************************************
 *              I.MX6 U-boot Kernel backlight setting
 * 说明:
 *     本文主要记录I.MX6 U-boot、Kernel中如何打开、关闭背光设置。
 * 
 *                                   2016-3-7 深圳 南山平山村 曾剑锋
 ********************************************************************/


1. cat bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd/mx6q_sabresd.c
    ......
    #ifdef CONFIG_LCD
    void lcd_enable(void)
    {
        ......
        /*
         * Set LVDS panel CABC_EN0 to low to disable
         * CABC function. This function will turn backlight
         * automatically according to display content, so
         * simply disable it to get rid of annoying unstable
         * backlight phenomena.
         * 
         * • GPIO direction register (GPIO_GDIR)
         * • Data register (GPIO_DR)
         *
         * 2015-10-8 zengjf modify fot lvds backlight
         */
        reg = readl(GPIO6_BASE_ADDR + GPIO_GDIR);
        reg |= (1 << 15);
        writel(reg, GPIO6_BASE_ADDR + GPIO_GDIR);
        
        reg = readl(GPIO6_BASE_ADDR + GPIO_DR);
        //reg &= ~(1 << 15);
        reg |= (1 << 15);
        writel(reg, GPIO6_BASE_ADDR + GPIO_DR);
        
        /*
         * Set LVDS panel CABC_EN1 to low to disable
         * CABC function.
         */
        reg = readl(GPIO6_BASE_ADDR + GPIO_GDIR);
        reg |= (1 << 16);
        writel(reg, GPIO6_BASE_ADDR + GPIO_GDIR);
        
        reg = readl(GPIO6_BASE_ADDR + GPIO_DR);
        //reg &= ~(1 << 16);
        reg |= (1 << 16);
        writel(reg, GPIO6_BASE_ADDR + GPIO_DR);
        ......
    }
    ......

2. cat arch/arm/mach-mx6/board-mx6q_sabresd.c
    ......
    /*!
     * Board specific initialization.
     */
    static void __init mx6_sabresd_board_init(void)
    {
        ......
        /*
         * Disable HannStar touch panel CABC function,
         * this function turns the panel's backlight automatically
         * according to the content shown on the panel which
         * may cause annoying unstable backlight issue.
         * 
         * zengjf 2015-10-8 this also has down in uboot 
         */
        gpio_request(SABRESD_CABC_EN0, "cabc-en0");
        gpio_direction_output(SABRESD_CABC_EN0, 1);
        gpio_request(SABRESD_CABC_EN1, "cabc-en1");
        gpio_direction_output(SABRESD_CABC_EN1, 1);
        
        ......
    }
    ......