优化lcd驱动背光获取唤醒源的方式
This commit is contained in:
parent
5d71fcb5db
commit
796620b3ab
|
@ -88,8 +88,10 @@ static int panel_timing_init(int disp, int lcd_index,
|
||||||
STARTUP_START_PWM_VALUE _/
|
STARTUP_START_PWM_VALUE _/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define WEIGHT_ADDR 0x4307F000 // 权重加载的内存地址处
|
#ifndef CONFIG_MEM_OPERATION
|
||||||
|
#define WEIGHT_ADDR 0x4304B000 // 权重加载的内存地址处
|
||||||
#define M_PAGE_SIZE (4 * 1024) // 内存对齐,应该是4K
|
#define M_PAGE_SIZE (4 * 1024) // 内存对齐,应该是4K
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
HAS_APP_WAKEUP_SOURCE_NONE,
|
HAS_APP_WAKEUP_SOURCE_NONE,
|
||||||
|
@ -115,6 +117,11 @@ static has_startup_bl_t startup_bl = {
|
||||||
.timer_flag = 0,
|
.timer_flag = 0,
|
||||||
.timer.data = 0,
|
.timer.data = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(CONFIG_MEM_OPERATION)
|
||||||
|
extern unsigned char mem_get_wakeup_source(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
static int disp_check_timing_param(struct disp_panel_para *panel)
|
static int disp_check_timing_param(struct disp_panel_para *panel)
|
||||||
{
|
{
|
||||||
|
@ -1314,7 +1321,9 @@ static s32 disp_lcd_backlight_enable(struct disp_device *lcd)
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
#if defined(CONFIG_DISP2_HAS_SUPPORT_FRONT_WKSRCBL) || defined(CONFIG_DISP2_HAS_SUPPORT_BACK_WKSRCBL)
|
#if defined(CONFIG_DISP2_HAS_SUPPORT_FRONT_WKSRCBL) || defined(CONFIG_DISP2_HAS_SUPPORT_BACK_WKSRCBL)
|
||||||
|
#ifndef CONFIG_MEM_OPERATION
|
||||||
void __iomem *vaddr = NULL;
|
void __iomem *vaddr = NULL;
|
||||||
|
#endif
|
||||||
unsigned char wakeupsource = 0;
|
unsigned char wakeupsource = 0;
|
||||||
#endif
|
#endif
|
||||||
if ((lcd == NULL) || (lcdp == NULL)) {
|
if ((lcd == NULL) || (lcdp == NULL)) {
|
||||||
|
@ -1354,12 +1363,16 @@ static s32 disp_lcd_backlight_enable(struct disp_device *lcd)
|
||||||
disp_sys_gpio_request(gpio_info, 1);
|
disp_sys_gpio_request(gpio_info, 1);
|
||||||
}
|
}
|
||||||
#if defined(CONFIG_DISP2_HAS_SUPPORT_FRONT_WKSRCBL) || defined(CONFIG_DISP2_HAS_SUPPORT_BACK_WKSRCBL)
|
#if defined(CONFIG_DISP2_HAS_SUPPORT_FRONT_WKSRCBL) || defined(CONFIG_DISP2_HAS_SUPPORT_BACK_WKSRCBL)
|
||||||
|
#if defined(CONFIG_MEM_OPERATION)
|
||||||
|
wakeupsource = mem_get_wakeup_source();
|
||||||
|
#else
|
||||||
vaddr = memremap(WEIGHT_ADDR, M_PAGE_SIZE, MEMREMAP_WB);
|
vaddr = memremap(WEIGHT_ADDR, M_PAGE_SIZE, MEMREMAP_WB);
|
||||||
if (vaddr)
|
if (vaddr)
|
||||||
{
|
{
|
||||||
wakeupsource = readb(vaddr);
|
wakeupsource = readb(vaddr);
|
||||||
memunmap(vaddr);
|
memunmap(vaddr);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((wakeupsource != HAS_APP_WAKEUP_SOURCE_BACK_PANEL) && (wakeupsource != HAS_APP_WAKEUP_SOURCE_NONE))
|
if ((wakeupsource != HAS_APP_WAKEUP_SOURCE_BACK_PANEL) && (wakeupsource != HAS_APP_WAKEUP_SOURCE_NONE))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue