优化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 _/
|
||||
*/
|
||||
|
||||
#define WEIGHT_ADDR 0x4307F000 // 权重加载的内存地址处
|
||||
#ifndef CONFIG_MEM_OPERATION
|
||||
#define WEIGHT_ADDR 0x4304B000 // 权重加载的内存地址处
|
||||
#define M_PAGE_SIZE (4 * 1024) // 内存对齐,应该是4K
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
HAS_APP_WAKEUP_SOURCE_NONE,
|
||||
|
@ -115,6 +117,11 @@ static has_startup_bl_t startup_bl = {
|
|||
.timer_flag = 0,
|
||||
.timer.data = 0,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_MEM_OPERATION)
|
||||
extern unsigned char mem_get_wakeup_source(void);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
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;
|
||||
|
||||
#if defined(CONFIG_DISP2_HAS_SUPPORT_FRONT_WKSRCBL) || defined(CONFIG_DISP2_HAS_SUPPORT_BACK_WKSRCBL)
|
||||
#ifndef CONFIG_MEM_OPERATION
|
||||
void __iomem *vaddr = NULL;
|
||||
#endif
|
||||
unsigned char wakeupsource = 0;
|
||||
#endif
|
||||
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);
|
||||
}
|
||||
#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);
|
||||
if (vaddr)
|
||||
{
|
||||
wakeupsource = readb(vaddr);
|
||||
memunmap(vaddr);
|
||||
}
|
||||
#endif
|
||||
|
||||
if ((wakeupsource != HAS_APP_WAKEUP_SOURCE_BACK_PANEL) && (wakeupsource != HAS_APP_WAKEUP_SOURCE_NONE))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue