Add provision to load firmware of Serial engine for I2C protocol from Linux Execution Environment on running on APPS processor. Co-developed-by: Mukesh Kumar Savaliya <quic_msavaliy@xxxxxxxxxxx> Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@xxxxxxxxxxx> Signed-off-by: Viken Dadhaniya <quic_vdadhani@xxxxxxxxxxx> --- drivers/i2c/busses/i2c-qcom-geni.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c index 7a22e1f46e60..98878cf7c044 100644 --- a/drivers/i2c/busses/i2c-qcom-geni.c +++ b/drivers/i2c/busses/i2c-qcom-geni.c @@ -876,10 +876,13 @@ static int geni_i2c_probe(struct platform_device *pdev) } proto = geni_se_read_proto(&gi2c->se); if (proto != GENI_SE_I2C) { - dev_err(dev, "Invalid proto %d\n", proto); - geni_se_resources_off(&gi2c->se); - clk_disable_unprepare(gi2c->core_clk); - return -ENXIO; + ret = geni_load_se_firmware(&gi2c->se, GENI_SE_I2C); + if (ret) { + dev_err(gi2c->se.dev, "i2c firmware load failed ret: %d\n", ret); + geni_se_resources_off(&gi2c->se); + clk_disable_unprepare(gi2c->core_clk); + return ret; + } } if (desc && desc->no_dma_support) -- 2.34.1