Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i2c: qcom-geni: Update i2c frequency table to match hardware guidance

With the current settings, the I2C buses are achieving around 370KHz
instead of the expected 400KHz. For 100KHz and 1MHz, the settings are
now more compliant and adhere to the Qualcomm’s internal programming
guide.

Update the I2C frequency table to align with the recommended values
outlined in the I2C hardware programming guide, ensuring proper
communication and performance.

Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20250122064634.2864432-1-quic_msavaliy@quicinc.com
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>

authored by

Mukesh Kumar Savaliya and committed by
Andi Shyti
a815975c f8d311b4

+3 -3
+3 -3
drivers/i2c/busses/i2c-qcom-geni.c
··· 148 148 * source_clock = 19.2 MHz 149 149 */ 150 150 static const struct geni_i2c_clk_fld geni_i2c_clk_map_19p2mhz[] = { 151 - {KHZ(100), 7, 10, 11, 26}, 152 - {KHZ(400), 2, 5, 12, 24}, 153 - {KHZ(1000), 1, 3, 9, 18}, 151 + {KHZ(100), 7, 10, 12, 26}, 152 + {KHZ(400), 2, 5, 11, 22}, 153 + {KHZ(1000), 1, 2, 8, 18}, 154 154 {}, 155 155 }; 156 156