summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/hwstub/tools/lua/rk27xx.lua8
-rw-r--r--utils/hwstub/tools/lua/rk27xx/lradc.lua12
2 files changed, 20 insertions, 0 deletions
diff --git a/utils/hwstub/tools/lua/rk27xx.lua b/utils/hwstub/tools/lua/rk27xx.lua
new file mode 100644
index 0000000000..2a5bb9287c
--- /dev/null
+++ b/utils/hwstub/tools/lua/rk27xx.lua
@@ -0,0 +1,8 @@
1---
2--- Chip Identification
3---
4
5RK27XX = {}
6
7hwstub.soc:select("rk27xx")
8require 'rk27xx/lcdif'
diff --git a/utils/hwstub/tools/lua/rk27xx/lradc.lua b/utils/hwstub/tools/lua/rk27xx/lradc.lua
new file mode 100644
index 0000000000..943bdac72e
--- /dev/null
+++ b/utils/hwstub/tools/lua/rk27xx/lradc.lua
@@ -0,0 +1,12 @@
1RK27XX.adc = {}
2
3function RK27XX.adc.init()
4 -- setup ADC clock divider to reach max 1MHz
5 HW.SCU.DIVCON1.write(bit32.replace(HW.SCU.DIVCON1.read(), 49, 10, 8))
6end
7
8function RK27XX.adc.read(channel)
9 HW.ADC.CTRL.write(bit32.bor(bit32.lshift(1,4), bit32.lshift(1,3), bit32.band(channel,3)))
10 -- udelay(20)
11 return bit32.band(HW.ADC.DATA.read(), 0x3ff)
12end