Re: [PATCH v4 2/5] i2c: qcom-cci: Support per-mode CCI clock rates
Konrad Dybcio <[email protected]>
| Newsgroups | org.kernel.vger.linux-i2c,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/1/26 10:10 PM, Loic Poulain wrote: > The CCI hw_params timing values (thigh, tlow, etc.) are expressed in > clock ticks and are only valid at the specific CCI clock rate they were > calibrated for. Different I2C modes may be calibrated for different > rates, and the single CCI clock is shared by all masters. > > Turn the timing table into a two-dimensional [rate][mode] matrix so a > given rate can carry timing sets for each mode, and select the entry > matching the currently running clock rate at init time. The existing > per-variant values are moved under their calibrated rate (19.2 MHz for > v1/v1.5, 37.5 MHz for v2), no timing values are changed. > > At this stage the driver only validates the running rate against the > table, the timings are only valid at the exact rate they were calibrated > for, so if the current rate has no matching entry for a master's mode, > fail initialization rather than program incorrect timings. A following > patch actively enforces the required rate so this becomes a safety net. > > Suggested-by: Vladimir Zapolskiy <[email protected]> > Signed-off-by: Loic Poulain <[email protected]> > --- Reviewed-by: Konrad Dybcio <[email protected]> Konrad