[PATCH] i3c: ast2600: fix register setting for 545 ohm pullups
Jeremy Kerr
jk at codeconstruct.com.au
Thu Apr 27 17:18:49 PDT 2023
The 2k register setting is zero, OR-ing it in doesn't parallel the 2k
and 750 ohm pullups. We need a separate value for the 545 ohm setting.
Reported-by: Lukwinski Zbigniew <zbigniew.lukwinski at linux.intel.com>
Signed-off-by: Jeremy Kerr <jk at codeconstruct.com.au>
---
drivers/i3c/master/ast2600-i3c-master.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/i3c/master/ast2600-i3c-master.c b/drivers/i3c/master/ast2600-i3c-master.c
index b3f0fe1e63c3..d9af7b1cf878 100644
--- a/drivers/i3c/master/ast2600-i3c-master.c
+++ b/drivers/i3c/master/ast2600-i3c-master.c
@@ -21,6 +21,7 @@
#define AST2600_I3CG_REG0_SDA_PULLUP_EN_MASK GENMASK(29, 28)
#define AST2600_I3CG_REG0_SDA_PULLUP_EN_2K (0x0 << 28)
#define AST2600_I3CG_REG0_SDA_PULLUP_EN_750 (0x2 << 28)
+#define AST2600_I3CG_REG0_SDA_PULLUP_EN_545 (0x3 << 28)
#define AST2600_I3CG_REG1_I2C_MODE BIT(0)
#define AST2600_I3CG_REG1_TEST_MODE BIT(1)
@@ -60,8 +61,7 @@ static int ast2600_i3c_pullup_to_reg(unsigned int ohms, u32 *regp)
reg = AST2600_I3CG_REG0_SDA_PULLUP_EN_750;
break;
case 545:
- reg = AST2600_I3CG_REG0_SDA_PULLUP_EN_2K |
- AST2600_I3CG_REG0_SDA_PULLUP_EN_750;
+ reg = AST2600_I3CG_REG0_SDA_PULLUP_EN_545;
break;
default:
return -EINVAL;
--
2.39.1
More information about the linux-i3c
mailing list