[PATCH v2 2/3] Revert "i2c: qcom-cci: Remove unused struct member cci_clk_rate"
Loic Poulain <[email protected]> Mon, 27 Jul 2026 11:21:33 +0200
| Newsgroups | org.kernel.vger.linux-i2c,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This reverts commit b641af684fc28a07bee9c808eb6c433f9d9bcec6. The cci_clk_rate field is needed to enforce the correct CCI clock rate at probe time. The hw_params timing values are in clock ticks and were calibrated for a specific frequency per hardware variant, so running at the wrong rate would violate I2C timing specifications. Signed-off-by: Loic Poulain <[email protected]> --- drivers/i2c/busses/i2c-qcom-cci.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/i2c/busses/i2c-qcom-cci.c b/drivers/i2c/busses/i2c-qcom-cci.c index 23cef922351ce44d71f1691cd7e4aab274fdd196..2ed58b2a2f31c62ee1c972a53b71f86787144b84 100644 --- a/drivers/i2c/busses/i2c-qcom-cci.c +++ b/drivers/i2c/busses/i2c-qcom-cci.c @@ -117,6 +117,7 @@ struct cci_data { unsigned int num_masters; struct i2c_adapter_quirks quirks; u16 queue_size[NUM_QUEUES]; + unsigned long cci_clk_rate; struct hw_params params[3]; }; @@ -668,6 +669,7 @@ static const struct cci_data cci_v1_data = { .max_write_len = 10, .max_read_len = 12, }, + .cci_clk_rate = 19200000, .params[I2C_MODE_STANDARD] = { .thigh = 78, .tlow = 114, @@ -701,6 +703,7 @@ static const struct cci_data cci_v1_5_data = { .max_write_len = 10, .max_read_len = 12, }, + .cci_clk_rate = 19200000, .params[I2C_MODE_STANDARD] = { .thigh = 78, .tlow = 114, @@ -734,6 +737,7 @@ static const struct cci_data cci_v2_data = { .max_write_len = 11, .max_read_len = 12, }, + .cci_clk_rate = 37500000, .params[I2C_MODE_STANDARD] = { .thigh = 201, .tlow = 174, -- 2.34.1