rockbox/utils/hwstub/tools/lua/stmp/digctl.lua

49 lines
1.3 KiB
Lua
Raw Normal View History

---
--- DIGCTL
---
STMP.digctl = {}
local h = HELP:get_topic("STMP"):create_topic("digctl")
h:add("The STMP.digctl table handles the digctl device for all STMPs.")
local hh = h:create_topic("package")
hh:add("The STMP.digctl.package() function returns the name of the package.")
hh:add("The following packages can be returned:")
hh:add("* bga100")
hh:add("* bga169")
hh:add("* tqfp100")
hh:add("* lqfp100")
hh:add("* lqfp128")
function STMP.digctl.package()
local pack = nil
if STMP.is_stmp3600() then
HW.DIGCTL.CTRL.PACKAGE_SENSE_ENABLE.set()
if HW.DIGCTL.STATUS.PACKAGE_TYPE.read() == 1 then
pack = "lqfp100"
else
pack = "bga169"
end
HW.DIGCTL.CTRL.PACKAGE_SENSE_ENABLE.clr()
elseif STMP.is_stmp3700() or STMP.is_stmp3770() or STMP.is_imx233() then
local t = HW.DIGCTL.STATUS.PACKAGE_TYPE.read()
if t == 0 then pack = "bga169"
elseif t == 1 then pack = "bga100"
elseif t == 2 then pack = "tqfp100"
elseif t == 3 then pack = "tqfp128"
end
end
return pack
end
function STMP.digctl.udelay(us)
local tend = HW.DIGCTL.MICROSECONDS.read() + us
while HW.DIGCTL.MICROSECONDS.read() < tend do
end
end
function STMP.digctl.mdelay(ms)
STMP.digctl.udelay(ms * 1000)
end