aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>2025-05-13 16:38:33 +0530
committerAndi Shyti <andi.shyti@kernel.org>2025-07-30 00:39:54 +0200
commit85c34532849dae0fdcf880900ac9d7718a73fd1b (patch)
tree8df4561463161c1623acc291e1cc9c3b69dbc442
parentdt-bindings: i2c: apple,i2c: Document Apple A7-A11, T2 compatibles (diff)
downloadwireguard-linux-85c34532849dae0fdcf880900ac9d7718a73fd1b.tar.xz
wireguard-linux-85c34532849dae0fdcf880900ac9d7718a73fd1b.zip
i2c: qcom-geni: fix I2C frequency table to achieve accurate bus rates
Update the I2C frequency table to match the recommended values specified in the I2C hardware programming guide. In the current IPQ5424 configuration where 32MHz is the source clock, the I2C bus frequencies do not meet expectations—for instance, 363KHz is achieved instead of the expected 400KHz. Fixes: 506bb2ab0075 ("i2c: qcom-geni: Support systems with 32MHz serial engine clock") Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> Cc: <stable@vger.kernel.org> # v6.13+ Reviewed-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com> Signed-off-by: Andi Shyti <andi.shyti@kernel.org> Link: https://lore.kernel.org/r/20250513-i2c-bus-freq-v1-1-9a333ad5757f@oss.qualcomm.com
-rw-r--r--drivers/i2c/busses/i2c-qcom-geni.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
index 13889f52b6f7..ff2289b52c84 100644
--- a/drivers/i2c/busses/i2c-qcom-geni.c
+++ b/drivers/i2c/busses/i2c-qcom-geni.c
@@ -155,9 +155,9 @@ static const struct geni_i2c_clk_fld geni_i2c_clk_map_19p2mhz[] = {
/* source_clock = 32 MHz */
static const struct geni_i2c_clk_fld geni_i2c_clk_map_32mhz[] = {
- { I2C_MAX_STANDARD_MODE_FREQ, 8, 14, 18, 40 },
- { I2C_MAX_FAST_MODE_FREQ, 4, 3, 11, 20 },
- { I2C_MAX_FAST_MODE_PLUS_FREQ, 2, 3, 6, 15 },
+ { I2C_MAX_STANDARD_MODE_FREQ, 8, 14, 18, 38 },
+ { I2C_MAX_FAST_MODE_FREQ, 4, 3, 9, 19 },
+ { I2C_MAX_FAST_MODE_PLUS_FREQ, 2, 3, 5, 15 },
{}
};