summaryrefslogtreecommitdiff
path: root/utils/hwstub/tools/lua/zenv.lua
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-06-13 02:12:01 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-06-13 02:25:15 +0200
commitf9cb5de58020936812653c578c79c79a13bc626c (patch)
treed1d6c29207472bea4daa68d2fffd7e8dbfac998b /utils/hwstub/tools/lua/zenv.lua
parentc5357940ab0108b4102442d07825c44d5be0d22f (diff)
downloadrockbox-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.lua56
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--
4ZENV = {}
5
6function 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)
16end
17
18function 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}, {})
52end
53
54function ZENV.init()
55 ZENV.lcd_init()
56end