• Linus Walleij's avatar
    iio: adc: add a driver for Qualcomm PM8xxx HK/XOADC · 63c3ecd9
    Linus Walleij authored
    The Qualcomm PM8xxx PMICs contain a simpler ADC than its
    successors (already in the kernel as qcom-spmi-vadc.c):
    the HK/XO ADC (Housekeeping/Chrystal oscillator ADC).
    
    As far as I can understand this is equal to the PMICs
    using SSBI transport and encompass PM8018, PM8038,
    PM8058, and PM8921, so this is shortly named PM8xxx.
    
    This ADC monitors a bunch of on-board voltages and the die
    temperature of the PMIC itself, but it can also be routed
    to convert a few external MPPs (multi-purpose pins). On
    the APQ8060 DragonBoard this feature is used to let this
    ADC convert an analog ALS (Ambient Light Sensor) voltage
    signal from a Capella CM3605 ALS into a LUX value.
    
    Developed and tested with APQ8060 DragonBoard based on
    Ivan's driver and Rama Krishna's patches. The SPMI VADC
    driver is quite different, but share enough minor
    functionality that I have split out to the common file
    in a previous patch.
    
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-arm-msm@vger.kernel.org
    Cc: Ivan T. Ivanov <iivanov.xz@gmail.com>
    Cc: Andy Gross <andy.gross@linaro.org>
    Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
    Cc: Stephen Boyd <sboyd@codeaurora.org>
    Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Cc: Rama Krishna Phani A <rphani@codeaurora.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    63c3ecd9
qcom-pm8xxx-xoadc.c 34 KB