[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220106173131.3279580-1-caleb.connolly@linaro.org>
Date: Thu, 6 Jan 2022 17:31:24 +0000
From: Caleb Connolly <caleb.connolly@...aro.org>
To: caleb.connolly@...aro.org, Jonathan Cameron <jic23@...nel.org>,
Lars-Peter Clausen <lars@...afoo.de>,
Rob Herring <robh+dt@...nel.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Lee Jones <lee.jones@...aro.org>, linux-iio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org
Cc: sumit.semwal@...aro.org, amit.pundir@...aro.org,
john.stultz@...aro.org
Subject: [PATCH v3 0/7] iio: adc: introduce Qualcomm SPMI Round Robin ADC
The RRADC is responsible for reading data about the current and
voltage from the USB or DC in jacks, it can also read the battery
ID (resistence) and some temperatures. It is found on the PMI8998 and
PM660 Qualcomm PMICs.
The RRADC has to calibrate some ADC values based on which chip fab
the PMIC was produced in, to facilitate this the patch
("mfd: qcom-spmi-pmic: expose the PMIC revid information to clients")
exposes the PMIC revision information as a struct and registers it
as driver data in the Qualcomm SPMI PMIC driver so that it can be
read by the RRADC.
Changes since v2:
* Add missing include (thanks kernel test robot :D)
* Rework some confusing function return values, specifically
rradc_read_status_in_cont_mode and rradc_prepare_batt_id_conversion
both of which didn't correctly handle "ret". This also bought up an
issue as the previous implementation didn't actually wait for the
channel to be ready. It doesn't seem like that's strictly necessary
(same data is reported if I wait for the status to be good or not)
but I've included it anyway for good measure.
Changes since v1:
* Rework the RRADC driver based on Jonathan's feedback
* Pick up Rob's reviewed by for the dt-binding patch.
Caleb Connolly (7):
mfd: qcom-spmi-pmic: expose the PMIC revid information to clients
dt-bindings: iio: adc: document qcom-spmi-rradc
iio: adc: qcom-spmi-rradc: introduce round robin adc
arm64: dts: qcom: pmi8998: add rradc node
arm64: dts: qcom: sdm845-oneplus: enable rradc
arm64: dts: qcom: sdm845-db845c: enable rradc
arm64: dts: qcom: sdm845-xiaomi-beryllium: enable RRADC
.../bindings/iio/adc/qcom,spmi-rradc.yaml | 54 +
arch/arm64/boot/dts/qcom/pmi8998.dtsi | 8 +
arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 +
.../boot/dts/qcom/sdm845-oneplus-common.dtsi | 4 +
.../boot/dts/qcom/sdm845-xiaomi-beryllium.dts | 4 +
drivers/iio/adc/Kconfig | 13 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/qcom-spmi-rradc.c | 1070 +++++++++++++++++
drivers/mfd/qcom-spmi-pmic.c | 108 +-
include/soc/qcom/qcom-pmic.h | 63 +
10 files changed, 1272 insertions(+), 57 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iio/adc/qcom,spmi-rradc.yaml
create mode 100644 drivers/iio/adc/qcom-spmi-rradc.c
create mode 100644 include/soc/qcom/qcom-pmic.h
--
2.34.1
Powered by blists - more mailing lists