Re: [PATCH v7 0/6] Enable I2C on SA8255p Qualcomm platforms

From: Mattijs Korpershoek

Date: Wed Jun 17 2026 - 09:15:33 EST


On Wed, Jun 17, 2026 at 10:20, Praveen Talari <praveen.talari@xxxxxxxxxxxxxxxx> 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().
>
> Tested-by: Mattijs Korpershoek <mkorpershoek@xxxxxxxxxx>
> Signed-off-by: Praveen Talari <praveen.talari@xxxxxxxxxxxxxxxx>

I've retested this on top of linux-next-20260616 and it still works fine
for me on the Ride SX (SA8775P) board:

/ # uname -a
Linux (none) 7.1.0-next-20260616+ #2 SMP PREEMPT_RT Wed Jun 17 14:58:42 CEST 2026 aarch64 aarch64 aarch64 GNU/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

Regards,
Mattijs