• I.MX6 U-boot Kernel backlight setting


    /*********************************************************************
     *              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);
            
            ......
        }
        ......
  • 相关阅读:
    PHP中的__clone()
    如何使用windows的计划任务?计划任务?
    (mysql)触发器、事件、事务、函数
    mysql子查询 exists,not exists,all和any
    MySQL 获得当前日期时间时间戳 函数
    JavaScript从数组中删除指定值元素的方法
    monorepo仓库管理方式探秘
    浏览器和Node 中的Event Loop
    Promise原理探究及实现
    yarn or npm 版本固化如何选择
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5249437.html
Copyright © 2020-2023  润新知