Re: [PATCH 2/2] mfd: da9063: Make vbcore registers volatile

From: Andrej Picej
Date: Wed Nov 24 2021 - 09:09:30 EST


Hi Adam,

On 24. 11. 21 10:34, Adam Thomson wrote:
On 24 November 2021 07:00, Andrej Picej wrote:

From: Stefan Riedmueller <s.riedmueller@xxxxxxxxx>

The VBCORE1_A and VBCORE2_A registers are used to set the desired output
voltage of the BCORE 1 and 2 buck regulators. These values can be critical
if used as input for core voltages. Thus make them volatile so they do not
get cached.

I don't understand the need for this change. What is this fixing? As I
understand it the registers in question aren't volatile so should persist.

So basically this two patches were needed because we needed to enable internal LDOs bypass mode on the imx6 and in the process this PMICs regs needed to be somehow adjusted, which only worked if this regs were marked as volatile. Long story short, this method was only introduced in Phytec's version so upstreaming really doesn't make much sense.

I apologize for any inconvenience, but this two patches somehow slipped through the process and landed on the "send-to-upstream" list. I also talked with @Stefan Rieadmueller and he agreed that this two patches can be dropped.

Thanks for your time.


Signed-off-by: Stefan Riedmueller <s.riedmueller@xxxxxxxxx>
Signed-off-by: Andrej Picej <andrej.picej@xxxxxxxxx>
---
drivers/mfd/da9063-i2c.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mfd/da9063-i2c.c b/drivers/mfd/da9063-i2c.c
index 343ed6e96d87..8a3629c30382 100644
--- a/drivers/mfd/da9063-i2c.c
+++ b/drivers/mfd/da9063-i2c.c
@@ -161,6 +161,7 @@ static const struct regmap_range
da9063_ad_volatile_ranges[] = {
regmap_reg_range(DA9063_REG_ADC_RES_L,
DA9063_AD_REG_SECOND_D),
regmap_reg_range(DA9063_REG_SEQ, DA9063_REG_SEQ),
regmap_reg_range(DA9063_REG_EN_32K, DA9063_REG_EN_32K),
+ regmap_reg_range(DA9063_REG_VBCORE2_A,
DA9063_REG_VBCORE2_A),
regmap_reg_range(DA9063_AD_REG_MON_REG_5,
DA9063_AD_REG_MON_REG_6),
};

@@ -206,6 +207,7 @@ static const struct regmap_range
da9063_bb_da_volatile_ranges[] = {
regmap_reg_range(DA9063_REG_ADC_RES_L,
DA9063_BB_REG_SECOND_D),
regmap_reg_range(DA9063_REG_SEQ, DA9063_REG_SEQ),
regmap_reg_range(DA9063_REG_EN_32K, DA9063_REG_EN_32K),
+ regmap_reg_range(DA9063_REG_VBCORE2_A,
DA9063_REG_VBCORE2_A),
regmap_reg_range(DA9063_BB_REG_MON_REG_5,
DA9063_BB_REG_MON_REG_6),
};

--
2.25.1