summaryrefslogtreecommitdiff
path: root/utils/hwstub/tools/lua/rk27xx/lradc.lua
blob: 943bdac72efbcf58a0a9135de545e52e599acdd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
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