From: Jeremy Kerr Date: Fri, 28 Apr 2023 00:18:49 +0000 (+0800) Subject: i3c: ast2600: fix register setting for 545 ohm pullups X-Git-Tag: v6.6-pxa1908~1309^2~1 X-Git-Url: https://git.dujemihanovic.xyz/?a=commitdiff_plain;h=8c6c78ee3b3330cf8a00a3c6bdecc18d42e969d7;p=linux.git 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: Lukwinski Zbigniew Signed-off-by: Jeremy Kerr Link: https://lore.kernel.org/r/20230428001849.1775559-1-jk@codeconstruct.com.au Signed-off-by: Alexandre Belloni --- diff --git a/drivers/i3c/master/ast2600-i3c-master.c b/drivers/i3c/master/ast2600-i3c-master.c index 6715d1f044b6..b72c12c5168f 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) @@ -62,8 +63,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;