您的位置:首页 > 其它

I.MX6 U-boot Kernel backlight setting

2016-03-07 09:24 323 查看
/*********************************************************************
*              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);

......
}
......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: