]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: geni-qcom: Load spi qup Firmware from linux side
authorViken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Thu, 11 Sep 2025 04:32:55 +0000 (10:02 +0530)
committerBjorn Andersson <andersson@kernel.org>
Wed, 17 Sep 2025 18:50:23 +0000 (13:50 -0500)
Add provision to load firmware of Serial engine for SPI protocol from
Linux Execution Environment on running on APPS processor.

Co-developed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20250911043256.3523057-6-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/spi/spi-geni-qcom.c

index 768d7482102adec9b7178077724dc3976a2760c8..a0d8d3425c6c6f9114b9bc7f1c0fa5dd42542942 100644 (file)
@@ -671,6 +671,12 @@ static int spi_geni_init(struct spi_geni_master *mas)
                        goto out_pm;
                }
                spi_slv_setup(mas);
+       } else if (proto == GENI_SE_INVALID_PROTO) {
+               ret = geni_load_se_firmware(se, GENI_SE_SPI);
+               if (ret) {
+                       dev_err(mas->dev, "spi master firmware load failed ret: %d\n", ret);
+                       goto out_pm;
+               }
        } else if (proto != GENI_SE_SPI) {
                dev_err(mas->dev, "Invalid proto %d\n", proto);
                goto out_pm;