summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorCaleb Connolly <caleb.connolly@linaro.org>2022-04-30 00:08:58 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2022-06-18 15:01:16 +0200
commitd23c3c085a95fddae5143823b7d5a81419e6f497 (patch)
tree7743b373de48199e74fdc0a73ea5f890db57fd7c /drivers/mfd
parentmfd: qcom-spmi-pmic: expose the PMIC revid information to clients (diff)
downloadlinux-d23c3c085a95fddae5143823b7d5a81419e6f497.tar.xz
linux-d23c3c085a95fddae5143823b7d5a81419e6f497.zip
mfd: qcom-spmi-pmic: read fab id on supported PMICs
The PMI8998 and PM660 expose the fab_id, this is needed by drivers like the RRADC to calibrate ADC values. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20220429220904.137297-4-caleb.connolly@linaro.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/qcom-spmi-pmic.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c
index 0f1f60e4daf7..00003a868d28 100644
--- a/drivers/mfd/qcom-spmi-pmic.c
+++ b/drivers/mfd/qcom-spmi-pmic.c
@@ -19,6 +19,7 @@
#define PMIC_REV4 0x103
#define PMIC_TYPE 0x104
#define PMIC_SUBTYPE 0x105
+#define PMIC_FAB_ID 0x1f2
#define PMIC_TYPE_VALUE 0x51
@@ -157,6 +158,12 @@ static int pmic_spmi_load_revid(struct regmap *map, struct device *dev,
if (ret < 0)
return ret;
+ if (pmic->subtype == PMI8998_SUBTYPE || pmic->subtype == PM660_SUBTYPE) {
+ ret = regmap_read(map, PMIC_FAB_ID, &pmic->fab_id);
+ if (ret < 0)
+ return ret;
+ }
+
/*
* In early versions of PM8941 and PM8226, the major revision number
* started incrementing from 0 (eg 0 = v1.0, 1 = v2.0).