diff options
Diffstat (limited to 'firmware/target/mips')
-rw-r--r-- | firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c | 22 | ||||
-rw-r--r-- | firmware/target/mips/ingenic_x1000/lcd-x1000.h | 8 |
2 files changed, 30 insertions, 0 deletions
diff --git a/firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c b/firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c index 19da722898..0d43a3f010 100644 --- a/firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c +++ b/firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c | |||
@@ -102,6 +102,19 @@ static const uint32_t erosqnative_lcd_cmd_enable[] = { | |||
102 | LCD_INSTR_END, | 102 | LCD_INSTR_END, |
103 | }; | 103 | }; |
104 | 104 | ||
105 | static const uint32_t erosqnative_lcd_of_compat_cmd[] = { | ||
106 | /* Pixel Format Set */ | ||
107 | LCD_INSTR_CMD, 0x3a, | ||
108 | LCD_INSTR_DAT, 0x66, /* 18 bpp */ | ||
109 | /* Exit Sleep */ | ||
110 | LCD_INSTR_CMD, 0x11, | ||
111 | LCD_INSTR_UDELAY, 120000, | ||
112 | /* Display On */ | ||
113 | LCD_INSTR_CMD, 0x29, | ||
114 | LCD_INSTR_UDELAY, 20000, | ||
115 | LCD_INSTR_END, | ||
116 | }; | ||
117 | |||
105 | /* sleep and wake copied directly from m3k */ | 118 | /* sleep and wake copied directly from m3k */ |
106 | static const uint32_t erosqnative_lcd_cmd_sleep[] = { | 119 | static const uint32_t erosqnative_lcd_cmd_sleep[] = { |
107 | /* Display OFF */ | 120 | /* Display OFF */ |
@@ -180,6 +193,15 @@ void lcd_tgt_enable(bool enable) | |||
180 | } | 193 | } |
181 | } | 194 | } |
182 | 195 | ||
196 | void lcd_tgt_enable_of(bool enable) | ||
197 | { | ||
198 | /* silence the unused parameter warning */ | ||
199 | if (enable) | ||
200 | {} | ||
201 | |||
202 | lcd_exec_commands(&erosqnative_lcd_of_compat_cmd[0]); | ||
203 | } | ||
204 | |||
183 | void lcd_tgt_sleep(bool sleep) | 205 | void lcd_tgt_sleep(bool sleep) |
184 | { | 206 | { |
185 | if(sleep) | 207 | if(sleep) |
diff --git a/firmware/target/mips/ingenic_x1000/lcd-x1000.h b/firmware/target/mips/ingenic_x1000/lcd-x1000.h index 749fac8240..e88a8733ed 100644 --- a/firmware/target/mips/ingenic_x1000/lcd-x1000.h +++ b/firmware/target/mips/ingenic_x1000/lcd-x1000.h | |||
@@ -105,6 +105,14 @@ extern void lcd_exec_commands(const uint32_t* cmdseq); | |||
105 | */ | 105 | */ |
106 | extern void lcd_tgt_enable(bool on); | 106 | extern void lcd_tgt_enable(bool on); |
107 | 107 | ||
108 | /* Enable/disable the LCD controller, but intended for booting the OF. | ||
109 | * | ||
110 | * This is only used for the Eros Q Native port, as the OF seems to be | ||
111 | * unable to initialize the LCD in the kernel boot rather than having | ||
112 | * the bootloader do it. | ||
113 | */ | ||
114 | extern void lcd_tgt_enable_of(bool on); | ||
115 | |||
108 | /* Enter or exit sleep mode to save power, normally by sending the necessary | 116 | /* Enter or exit sleep mode to save power, normally by sending the necessary |
109 | * commands with lcd_exec_commands(). | 117 | * commands with lcd_exec_commands(). |
110 | */ | 118 | */ |