diff options
Diffstat (limited to 'firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c')
-rw-r--r-- | firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c | 27 |
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 | ||
123 | void lcd_off(void) | 129 | void 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 | ||
127 | void lcd_on(void) | 154 | void lcd_on(void) |