summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorLoic Poulain <loic.poulain@oss.qualcomm.com>2026-09-29 14:25:46 +0200
committerAndi Shyti <andi.shyti@kernel.org>2026-10-04 16:32:34 +0200
commite2ac856c74518976c76b8736363c64a84ebbd155 (patch)
treeba89938a7b8bbc10c76ac6c2081b5f522f452d7a /tools/lib/python
parentd07c7775ca17c4123164806d6210f22dd62cef4f (diff)
downloadlinux-next-e2ac856c74518976c76b8736363c64a84ebbd155.tar.gz
linux-next-e2ac856c74518976c76b8736363c64a84ebbd155.zip
i2c: qcom-cci: Support per-mode CCI clock rates
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 <vladimir.zapolskiy@linaro.org> Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Signed-off-by: Andi Shyti <andi.shyti@kernel.org> Link: https://patch.msgid.link/20260929-cci-clk-fix-v6-2-62a268cccb0f@oss.qualcomm.com
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions