Re: [PATCH v6 00/13] Enable I2C on SA8255p Qualcomm platforms

Praveen Talari
2026-03-27T10:57:19Z

Hi

On 3/12/2026 9:51 PM, Mattijs Korpershoek wrote:
> Hi Praveen,
>
> Thank you for the series.
>
> On Fri, Feb 27, 2026 at 11:45, Praveen Talari <praveen.talari@oss.qualcomm.com> wrote:
>
>> The Qualcomm automotive SA8255p SoC relies on firmware to configure
>> platform resources, including clocks, interconnects and TLMM.
>> The driver requests resources operations over SCMI using power
>> and performance protocols.
>>
>> The SCMI power protocol enables or disables resources like clocks,
>> interconnect paths, and TLMM (GPIOs) using runtime PM framework APIs,
>> such as resume/suspend, to control power states(on/off).
>>
>> The SCMI performance protocol manages I2C frequency, with each
>> frequency rate represented by a performance level. The driver uses
>> geni_se_set_perf_opp() API to request the desired frequency rate..
>>
>> As part of geni_se_set_perf_opp(), the OPP for the requested frequency
>> is obtained using dev_pm_opp_find_freq_floor() and the performance
>> level is set using dev_pm_opp_set_opp().
>>
>> Praveen Talari (13):
>> soc: qcom: geni-se: Refactor geni_icc_get() and make qup-memory ICC
>> path optional
>> soc: qcom: geni-se: Add geni_icc_set_bw_ab() function
>> soc: qcom: geni-se: Introduce helper API for resource initialization
>> soc: qcom: geni-se: Handle core clk in geni_se_clks_off() and
>> geni_se_clks_on()
>> soc: qcom: geni-se: Add resources activation/deactivation helpers
>> soc: qcom: geni-se: Introduce helper API for attaching power domains
>> soc: qcom: geni-se: Introduce helper APIs for performance control
>> dt-bindings: i2c: Describe SA8255p
>> i2c: qcom-geni: Isolate serial engine setup
>> i2c: qcom-geni: Move resource initialization to separate function
>> i2c: qcom-geni: Use resources helper APIs in runtime PM functions
>> i2c: qcom-geni: Store of_device_id data in driver private struct
>> i2c: qcom-geni: Enable I2C on SA8255p Qualcomm platforms
>
> I did some basic testing on the Ride SX (SA8775P) board with this
> series using base:
> commit 80234b5ab240 ("Merge tag 'rproc-v7.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux")
>
> / # i2cdetect -l
> i2c-11 i2c Geni-I2C I2C adapter
> i2c-18 i2c Geni-I2C I2C adapter
> / # i2cdetect -F 11
> Functionalities implemented by bus #11
> I2C yes
> SMBus quick command no
> SMBus send byte yes
> SMBus receive byte yes
> SMBus write byte yes
> SMBus read byte yes
> SMBus write word yes
> SMBus read word yes
> SMBus process call yes
> SMBus block write yes
> SMBus block read no
> SMBus block process call no
> SMBus PEC yes
> I2C block write yes
> I2C block read yes
> / # i2cdetect -F 18
> Functionalities implemented by bus #18
> I2C yes
> SMBus quick command no
> SMBus send byte yes
> SMBus receive byte yes
> SMBus write byte yes
> SMBus read byte yes
> SMBus write word yes
> SMBus read word yes
> SMBus process call yes
> SMBus block write yes
> SMBus block read no
> SMBus block process call no
> SMBus PEC yes
> I2C block write yes
> I2C block read yes
>
> Note that I used a downstream device tree which has both
> i2c11 (i2c@a90000) and i2c18(i2c@890000) enabled.
>
> The sources for that dts can be found here:
> https://gitlab.com/mkorpershoek-rh/downstream-dtbs/-/tree/8775-upstream-i2c/qcom?ref_type=heads
>
> If this is considered useful testing, feel free to add:
>
> Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org>

Thank you for validation and Tested-by tag.

@Andi Shyti, Looking forward to the series being picked up. Feedback is
welcome if anything further is needed.

Thanks,
Praveen Talari

>
>> ---
>> v3->v4
>> - Added a new patch(4/13) to handle core clk as part of
>> geni_se_clks_off/on().
>>
>> .../bindings/i2c/qcom,sa8255p-geni-i2c.yaml | 64 ++++
>> drivers/i2c/busses/i2c-qcom-geni.c | 324 +++++++++---------
>> drivers/soc/qcom/qcom-geni-se.c | 270 ++++++++++++++-
>> include/linux/soc/qcom/geni-se.h | 19 +
>> 4 files changed, 491 insertions(+), 186 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/i2c/qcom,sa8255p-geni-i2c.yaml
>>
>>
>> base-commit: 7d6661873f6b54c75195780a40d66bad3d482d8f
>> --
>> 2.34.1