summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Bukat <marcin.bukat@gmail.com>2014-06-15 12:53:28 +0200
committerMarcin Bukat <marcin.bukat@gmail.com>2014-06-15 12:53:28 +0200
commit4f950e0af98bc75ec9d6aa59d85da8b1c7d1a5ae (patch)
treea1b902e9bb0ed501c014fbb9f98432d3d719fbec
parent6c106a79c63ea3168016304a1518cdf23dd3b683 (diff)
hwstub: Add support for rk27xx lradc block
Change-Id: I8fe15ad8207ac7098944bb85d6b66b91b9858e8f
-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 @@
+---
+--- Chip Identification
+---
+
+RK27XX = {}
+
+hwstub.soc:select("rk27xx")
+require '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 @@
+RK27XX.adc = {}
+
+function RK27XX.adc.init()
+ -- setup ADC clock divider to reach max 1MHz
+ HW.SCU.DIVCON1.write(bit32.replace(HW.SCU.DIVCON1.read(), 49, 10, 8))
+end
+
+function RK27XX.adc.read(channel)
+ HW.ADC.CTRL.write(bit32.bor(bit32.lshift(1,4), bit32.lshift(1,3), bit32.band(channel,3)))
+ -- udelay(20)
+ return bit32.band(HW.ADC.DATA.read(), 0x3ff)
+end