diff --git a/firmware/export/s5l8702.h b/firmware/export/s5l8702.h index 7cc5646c9e..338d7a5e16 100644 --- a/firmware/export/s5l8702.h +++ b/firmware/export/s5l8702.h @@ -562,6 +562,7 @@ struct dma_lli /////LCD///// #define LCD_BASE (0x38300000) +#define LCD_CONFIG (*((uint32_t volatile*)(0x38300000))) #define LCD_WCMD (*((uint32_t volatile*)(0x38300004))) #define LCD_STATUS (*((uint32_t volatile*)(0x3830001c))) #define LCD_WDATA (*((uint32_t volatile*)(0x38300040))) diff --git a/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c b/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c index c9719afa60..3cc2c9d5c8 100644 --- a/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c +++ b/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c @@ -154,6 +154,8 @@ void lcd_init_device(void) semaphore_init(&lcd_wakeup, 1, 0); mutex_init(&lcd_mutex); lcd_type = (PDAT6 & 0x30) >> 4; + while (!(LCD_STATUS & 0x2)); + LCD_CONFIG = 0x80100db0; } /*** Update functions ***/