diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2013-06-13 02:12:01 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2013-06-13 02:25:15 +0200 |
commit | f9cb5de58020936812653c578c79c79a13bc626c (patch) | |
tree | d1d6c29207472bea4daa68d2fffd7e8dbfac998b /utils/hwstub/tools/lua/zenv.lua | |
parent | c5357940ab0108b4102442d07825c44d5be0d22f (diff) | |
download | rockbox-f9cb5de58020936812653c578c79c79a13bc626c.tar.gz rockbox-f9cb5de58020936812653c578c79c79a13bc626c.zip |
hwstub: introduce lua code for the STMP and Creative ZEN V/Mozaic
Change-Id: Ice5f509a2e0d2114436d4760f338b9203ef96691
Diffstat (limited to 'utils/hwstub/tools/lua/zenv.lua')
-rw-r--r-- | utils/hwstub/tools/lua/zenv.lua | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/utils/hwstub/tools/lua/zenv.lua b/utils/hwstub/tools/lua/zenv.lua new file mode 100644 index 0000000000..5a6779c876 --- /dev/null +++ b/utils/hwstub/tools/lua/zenv.lua | |||
@@ -0,0 +1,56 @@ | |||
1 | -- | ||
2 | -- ZEN V | ||
3 | -- | ||
4 | ZENV = {} | ||
5 | |||
6 | function ZENV.lcd_send(cmd, data) | ||
7 | if #cmd == 1 and cmd[1] == 0x5c then | ||
8 | STMP.lcdif.set_word_length(16) | ||
9 | STMP.lcdif.set_data_swizzle("NONE") | ||
10 | else | ||
11 | STMP.lcdif.set_word_length(8) | ||
12 | STMP.lcdif.set_data_swizzle("NONE") | ||
13 | end | ||
14 | STMP.lcdif.send_pio(false, cmd) | ||
15 | STMP.lcdif.send_pio(true, data) | ||
16 | end | ||
17 | |||
18 | function ZENV.lcd_init() | ||
19 | STMP.pinctrl.lcdif.setup_system(16, false) | ||
20 | STMP.pinctrl.pin(3, 16).muxsel("GPIO") | ||
21 | STMP.pinctrl.pin(3, 16).disable() | ||
22 | if STMP.pinctrl.pin(3, 16).read() == 0 then | ||
23 | STMP.debug("ZENV: need lcd power init") | ||
24 | STMP.pinctrl.pin(0, 27).muxsel("GPIO") | ||
25 | STMP.pinctrl.pin(0, 27).enable() | ||
26 | STMP.pinctrl.pin(0, 27).set() | ||
27 | end | ||
28 | |||
29 | STMP.lcdif.init() | ||
30 | STMP.lcdif.set_system_timing(2, 2, 2, 2) | ||
31 | STMP.lcdif.set_reset(1) | ||
32 | STMP.lcdif.set_reset(0) | ||
33 | STMP.lcdif.set_reset(1) | ||
34 | |||
35 | ZENV.lcd_send({0xca}, {0x7f}) | ||
36 | ZENV.lcd_send({0xa0}, {0x75}) | ||
37 | ZENV.lcd_send({0xc7}, {0x08}) | ||
38 | ZENV.lcd_send({0xbe}, {0x18}) | ||
39 | ZENV.lcd_send({0xc1}, {0x7b, 0x69, 0x9f}) | ||
40 | ZENV.lcd_send({0xb1}, {0x1f}) | ||
41 | ZENV.lcd_send({0xb3}, {0x80}) | ||
42 | ZENV.lcd_send({0xbb}, {0x00, 0x00, 0x00}) | ||
43 | ZENV.lcd_send({0xad}, {0x8a}) | ||
44 | ZENV.lcd_send({0xb0}, {0x00}) | ||
45 | ZENV.lcd_send({0xd1}, {0x02}) | ||
46 | ZENV.lcd_send({0xb9}, {}) | ||
47 | ZENV.lcd_send({0x92}, {0x01}) | ||
48 | ZENV.lcd_send({0xa2}, {0x80}) | ||
49 | ZENV.lcd_send({0x9e}, {}) | ||
50 | ZENV.lcd_send({0xa6}, {}) | ||
51 | ZENV.lcd_send({0xaf}, {}) | ||
52 | end | ||
53 | |||
54 | function ZENV.init() | ||
55 | ZENV.lcd_init() | ||
56 | end | ||