diff options
| author | Guillermo RodrÃguez <guille.rodriguez@gmail.com> | 2026-05-26 11:12:09 +0200 |
|---|---|---|
| committer | Andi Shyti <andi.shyti@kernel.org> | 2026-06-08 19:56:04 +0200 |
| commit | a124579c0763da7bc408f4cd7e8f606cadc94855 (patch) | |
| tree | 4795b3a1f3dff30deda1a898a8fbfe58a63c3825 /scripts/cleanpatch | |
| parent | 8783fb8031799f1230997c16df8c8dce9fcd1841 (diff) | |
i2c: stm32f7: fix timing computation ignoring i2c-analog-filter
stm32f7_i2c_compute_timing() uses i2c_dev->analog_filter to pick
the analog filter delay, but i2c_dev->analog_filter is parsed from
the "i2c-analog-filter" DT property only after the compute_timing
loop in stm32f7_i2c_setup_timing(), so in practice the timing
calculations always ignore the analog filter. On an STM32MP1 board
with clock-frequency = <400000> and i2c-analog-filter set, measured
SCL frequency was ~382 kHz.
This also affects (widens) the computed SDADEL range. At high bus
clock speeds, this can select an SDADEL value that violates tVD;DAT
(data valid time).
Fix by parsing "i2c-analog-filter" before the compute_timing loop.
Fixes: 83c3408f7b9c ("i2c: stm32f7: support DT binding i2c-analog-filter")
Signed-off-by: Guillermo RodrÃguez <guille.rodriguez@gmail.com>
Cc: <stable@vger.kernel.org> # v5.13+
Acked-by: Alain Volmat <alain.volmat@foss.st.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260526091210.20383-1-guille.rodriguez@gmail.com
Diffstat (limited to 'scripts/cleanpatch')
0 files changed, 0 insertions, 0 deletions
