Message ID | 20220309210014.352267-4-caleb.connolly@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | iio: adc: introduce Qualcomm SPMI Round Robin ADC | expand |
On 10/03/2022 00:00, Caleb Connolly wrote: > 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> > --- > drivers/mfd/qcom-spmi-pmic.c | 7 +++++++ > include/soc/qcom/qcom-spmi-pmic.h | 1 + > 2 files changed, 8 insertions(+) > > diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c > index bfe1304aee1b..b12a07da6183 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 > > @@ -175,6 +176,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). > diff --git a/include/soc/qcom/qcom-spmi-pmic.h b/include/soc/qcom/qcom-spmi-pmic.h > index 5400e6509fe8..ff839b230e62 100644 > --- a/include/soc/qcom/qcom-spmi-pmic.h > +++ b/include/soc/qcom/qcom-spmi-pmic.h > @@ -50,6 +50,7 @@ struct qcom_spmi_pmic { > unsigned int major; > unsigned int minor; > unsigned int rev2; > + unsigned int fab_id; > const char *name; > }; >
diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c index bfe1304aee1b..b12a07da6183 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 @@ -175,6 +176,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). diff --git a/include/soc/qcom/qcom-spmi-pmic.h b/include/soc/qcom/qcom-spmi-pmic.h index 5400e6509fe8..ff839b230e62 100644 --- a/include/soc/qcom/qcom-spmi-pmic.h +++ b/include/soc/qcom/qcom-spmi-pmic.h @@ -50,6 +50,7 @@ struct qcom_spmi_pmic { unsigned int major; unsigned int minor; unsigned int rev2; + unsigned int fab_id; const char *name; };
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> --- drivers/mfd/qcom-spmi-pmic.c | 7 +++++++ include/soc/qcom/qcom-spmi-pmic.h | 1 + 2 files changed, 8 insertions(+)