diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2016-02-07 21:46:58 +0000 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2016-04-08 19:38:18 +0200 |
commit | f6c61eb11a13f7a5141a980f56b9a14b3309c449 (patch) | |
tree | d1c4a4d992f88e40eacb65d5e046b595fdcb512a /utils/hwstub/tools/lua/stmp.lua | |
parent | a2f4c5201d78b9f351834b0512623eeac622280f (diff) | |
download | rockbox-f6c61eb11a13f7a5141a980f56b9a14b3309c449.tar.gz rockbox-f6c61eb11a13f7a5141a980f56b9a14b3309c449.zip |
hwstub: port hwstub_shell to the new library
Also use this opportunity to cleanup support for multiple devices: the shell
now supports dynamic changes in the device and will call init() everytime
a new device is selected, to prepare a new environment. The shell now
honors register width on register read/write. The shell also provides access
to variants as follows by creating a subtable under the register using the
variant type in UPPER case and having the same layout as a register.
For example if register HW.GPIO.DIR has variants "set" and "clr", those can
be used like this:
HW.GPIO.DIR.SET.write(0xff)
HW.GPIO.DIR.CLR.write(0xff00)
Change-Id: I943947fa98bce875de0cba4338e8b7196a4c1165
Diffstat (limited to 'utils/hwstub/tools/lua/stmp.lua')
-rw-r--r-- | utils/hwstub/tools/lua/stmp.lua | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/utils/hwstub/tools/lua/stmp.lua b/utils/hwstub/tools/lua/stmp.lua index 807c18df8d..ea1cde9c6d 100644 --- a/utils/hwstub/tools/lua/stmp.lua +++ b/utils/hwstub/tools/lua/stmp.lua @@ -1,7 +1,6 @@ --- --- Chip Identification --- - STMP = { info = {} } local h = HELP:create_topic("STMP") @@ -49,18 +48,6 @@ function STMP.is_stmp3600() return hwstub.dev.stmp.chipid >= 0x3600 and hwstub.dev.stmp.chipid < 0x3700 end -if STMP.is_imx233() then - identify("STMP3780 (aka i.MX233)", "imx233", "imx233") -elseif STMP.is_stmp3700() then - identify("STMP3700", "stmp3700", "stmp3700") -elseif STMP.is_stmp3770() then - identify("STMP3770", "stmp3770", "stmp3700") -elseif STMP.is_stmp3600() then - identify("STMP3600", "stmp3600", "stmp3600") -else - print(string.format("Unable to identify this chip as a STMP: chipid=0x%x", hwstub.dev.stmp.chipid)); -end - hh = h:create_topic("debug") hh:add("STMP.debug(...) prints some debug output if STMP.debug_on is true and does nothing otherwise.") @@ -70,11 +57,24 @@ function STMP.debug(...) if STMP.debug_on then print(...) end end -if STMP.info.chip ~= nil then - require "stmp/digctl" - require "stmp/pinctrl" - require "stmp/lcdif" - require "stmp/pwm" - require "stmp/clkctrl" - require "stmp/i2c" -end
\ No newline at end of file +-- init +function STMP.init() + if STMP.is_imx233() then + identify("STMP3780 (aka i.MX233)", "imx233", "imx233") + elseif STMP.is_stmp3700() then + identify("STMP3700", "stmp3700", "stmp3700") + elseif STMP.is_stmp3770() then + identify("STMP3770", "stmp3770", "stmp3700") + elseif STMP.is_stmp3600() then + identify("STMP3600", "stmp3600", "stmp3600") + else + print(string.format("Unable to identify this chip as a STMP: chipid=0x%x", hwstub.dev.stmp.chipid)); + end +end + +require "stmp/digctl" +require "stmp/pinctrl" +require "stmp/lcdif" +require "stmp/pwm" +require "stmp/clkctrl" +require "stmp/i2c"
\ No newline at end of file |