[PATCH 6.0 580/862] mfd: da9061: Fix Failed to set Two-Wire Bus Mode.

From: Greg Kroah-Hartman
Date: Wed Oct 19 2022 - 07:56:31 EST


From: Jens Hillenstedt <jens.hillenstedt@xxxxxx>

[ Upstream commit 834382ea32865a4bdeae83ec2dcb9321dc9489f2 ]

In da9062_i2c_probe() regmap_clear_bits() tries to access CONFIG_J
register. As CONFIG_J is not present in da9061_aa_writeable_ranges[] probe
of da9061 fails:

da9062 2-0058: Entering I2C mode!
da9062 2-0058: Failed to set Two-Wire Bus Mode.
da9062: probe of 2-0058 failed with error -5

Add CONFIG_J register to da9061_aa_writeable_ranges[].

Fixes: 5c6f0f456351 ("mfd: da9062: Support SMBus and I2C mode")
Signed-off-by: Jens Hillenstedt <jens.hillenstedt@xxxxxx>
Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@xxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20220915092004.168744-1-jens.hillenstedt@xxxxxx
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/mfd/da9062-core.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c
index 2774b2cbaea6..c2acdbcd5d6b 100644
--- a/drivers/mfd/da9062-core.c
+++ b/drivers/mfd/da9062-core.c
@@ -453,6 +453,7 @@ static const struct regmap_range da9061_aa_writeable_ranges[] = {
regmap_reg_range(DA9062AA_VBUCK1_B, DA9062AA_VBUCK4_B),
regmap_reg_range(DA9062AA_VBUCK3_B, DA9062AA_VBUCK3_B),
regmap_reg_range(DA9062AA_VLDO1_B, DA9062AA_VLDO4_B),
+ regmap_reg_range(DA9062AA_CONFIG_J, DA9062AA_CONFIG_J),
regmap_reg_range(DA9062AA_GP_ID_0, DA9062AA_GP_ID_19),
};

--
2.35.1