Commit 8c6c78ee authored by Jeremy Kerr's avatar Jeremy Kerr Committed by Alexandre Belloni

i3c: ast2600: fix register setting for 545 ohm pullups

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: default avatarLukwinski Zbigniew <zbigniew.lukwinski@linux.intel.com>
Signed-off-by: default avatarJeremy Kerr <jk@codeconstruct.com.au>
Link: https://lore.kernel.org/r/20230428001849.1775559-1-jk@codeconstruct.com.auSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent f2539c20
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#define AST2600_I3CG_REG0_SDA_PULLUP_EN_MASK GENMASK(29, 28) #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_2K (0x0 << 28)
#define AST2600_I3CG_REG0_SDA_PULLUP_EN_750 (0x2 << 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_I2C_MODE BIT(0)
#define AST2600_I3CG_REG1_TEST_MODE BIT(1) #define AST2600_I3CG_REG1_TEST_MODE BIT(1)
...@@ -62,8 +63,7 @@ static int ast2600_i3c_pullup_to_reg(unsigned int ohms, u32 *regp) ...@@ -62,8 +63,7 @@ static int ast2600_i3c_pullup_to_reg(unsigned int ohms, u32 *regp)
reg = AST2600_I3CG_REG0_SDA_PULLUP_EN_750; reg = AST2600_I3CG_REG0_SDA_PULLUP_EN_750;
break; break;
case 545: case 545:
reg = AST2600_I3CG_REG0_SDA_PULLUP_EN_2K | reg = AST2600_I3CG_REG0_SDA_PULLUP_EN_545;
AST2600_I3CG_REG0_SDA_PULLUP_EN_750;
break; break;
default: default:
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment