summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c')
-rw-r--r--firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
index 07a92a970d..76e35ead30 100644
--- a/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
+++ b/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
@@ -35,6 +35,10 @@
35/* LCD type 0 register defines */ 35/* LCD type 0 register defines */
36 36
37#define R_ENTRY_MODE 0x03 37#define R_ENTRY_MODE 0x03
38#define R_DISPLAY_CONTROL_1 0x07
39#define R_POWER_CONTROL_1 0x10
40#define R_POWER_CONTROL_2 0x12
41#define R_POWER_CONTROL_3 0x13
38#define R_HORIZ_GRAM_ADDR_SET 0x20 42#define R_HORIZ_GRAM_ADDR_SET 0x20
39#define R_VERT_GRAM_ADDR_SET 0x21 43#define R_VERT_GRAM_ADDR_SET 0x21
40#define R_WRITE_DATA_TO_GRAM 0x22 44#define R_WRITE_DATA_TO_GRAM 0x22
@@ -46,6 +50,8 @@
46 50
47/* LCD type 1 register defines */ 51/* LCD type 1 register defines */
48 52
53#define R_SLEEP_IN 0x10
54#define R_DISPLAY_OFF 0x28
49#define R_COLUMN_ADDR_SET 0x2a 55#define R_COLUMN_ADDR_SET 0x2a
50#define R_ROW_ADDR_SET 0x2b 56#define R_ROW_ADDR_SET 0x2b
51#define R_MEMORY_WRITE 0x2c 57#define R_MEMORY_WRITE 0x2c
@@ -122,6 +128,27 @@ void lcd_set_flip(bool yesno)
122 128
123void lcd_off(void) 129void lcd_off(void)
124{ 130{
131 if (lcd_type == 0)
132 {
133 s5l_lcd_write_cmd_data(R_DISPLAY_CONTROL_1, 0x232);
134 s5l_lcd_write_cmd_data(R_POWER_CONTROL_3, 0x1137);
135 s5l_lcd_write_cmd_data(R_DISPLAY_CONTROL_1, 0x201);
136 s5l_lcd_write_cmd_data(R_POWER_CONTROL_3, 0x137);
137 s5l_lcd_write_cmd_data(R_DISPLAY_CONTROL_1, 0x200);
138 s5l_lcd_write_cmd_data(R_POWER_CONTROL_1, 0x680);
139 s5l_lcd_write_cmd_data(R_POWER_CONTROL_2, 0x160);
140 s5l_lcd_write_cmd_data(R_POWER_CONTROL_3, 0x127);
141 s5l_lcd_write_cmd_data(R_POWER_CONTROL_1, 0x600);
142 }
143 else
144 {
145 s5l_lcd_write_cmd(R_DISPLAY_OFF);
146 s5l_lcd_write_data(0);
147 s5l_lcd_write_data(0);
148 s5l_lcd_write_cmd(R_SLEEP_IN);
149 s5l_lcd_write_data(0);
150 s5l_lcd_write_data(0);
151 }
125} 152}
126 153
127void lcd_on(void) 154void lcd_on(void)