Re: [PATCH v4 0/4] Enable SPI on SA8255p Qualcomm platforms

From: Mattijs Korpershoek

Date: Fri Jun 26 2026 - 08:53:43 EST


Hi Praveen,

Thank you for the series.

On Thu, Jun 18, 2026 at 14:36, 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 SPI 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 (4):
> spi: dt-bindings: describe SA8255p
> spi: qcom-geni: Use geni_se_resources_init() for resource
> initialization
> spi: qcom-geni: Use resources helper APIs in runtime PM functions
> spi: qcom-geni: Enable SPI on SA8255p Qualcomm platforms
>
> .../bindings/spi/qcom,sa8255p-geni-spi.yaml | 63 ++++++++++++++
> drivers/spi/spi-geni-qcom.c | 83 ++++++++-----------
> 2 files changed, 97 insertions(+), 49 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml

Tested on top of linux-next-20260625 with my Ride SX (SA8775P) board:

/ # uname -a
Linux (none) 7.1.0-next-20260625+ #3 SMP PREEMPT_RT Fri Jun 26 11:53:34 CEST 2026 aarch64 aarch64 aarch64 GNU/Linux

With spidev_test, we ping the on-board mercury codec and get a valid
response buffer from the codec (b6 49):

/ # spidev_test -D /dev/spidev16.0 -v
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 kHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D |......@.........................|
RX | B6 49 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.I..............................|

Tested-by: Mattijs Korpershoek <mkorpershoek@xxxxxxxxxx>