[PATCH 0/2] i2c: qcom-cci: Add DT property for SCL clock stretching
From: Cory Keitz via B4 Relay
Date: Thu Mar 05 2026 - 09:44:35 EST
The Qualcomm CCI I2C controller has an SCL clock stretch enable bit in
the MISC_CTL register. Currently the driver hardcodes this off in
per-SoC hw_params tables, with no way to enable it from the device tree
on a per-master basis.
Clock stretching is required for GMSL configurations where the
deserializer uses it to absorb the latency imposed by forwarding I2C
transactions across the serial link. Without it, the CCI master exhibits
intermittent transaction failure.
This series adds a "qcom,scl-stretch-enable" boolean DT property to
individual CCI i2c-bus sub-nodes. The property ORs with the existing
hw_params default so it is purely additive and does not affect masters
that do not set it.
Tested on sa8775p using the qcom,sm8250-cci compatible string with two
CCI buses connected to one max96724/max96717 GMSL2 pair each. Enabling
this property eliminated intermittent NACK errors during serializer
and/or deserializer probe.
Signed-off-by: Cory Keitz <ckeitz@xxxxxxxxxx>
---
Cory Keitz (2):
dt-bindings: i2c: qcom-cci: Document qcom,scl-stretch-enable property
i2c: qcom-cci: Add DT property for SCL clock stretching
Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 8 ++++++++
drivers/i2c/busses/i2c-qcom-cci.c | 7 ++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
---
base-commit: ecc64d2dc9ff9738d2a896beb68e02c2feaf9a02
change-id: 20260304-cci-scl-stretch-e20060685476
Best regards,
--
Cory Keitz <ckeitz@xxxxxxxxxx>