serial: qcom-geni: Load UART qup Firmware from linux side

Add provision to load firmware of Serial engine for UART 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>
Link: https://lore.kernel.org/r/20250911043256.3523057-7-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Viken Dadhaniya
2025-09-11 10:02:56 +05:30
committed by Bjorn Andersson
parent 99cf351ee1
commit 3f1707306b

View File

@@ -1200,7 +1200,13 @@ static int qcom_geni_serial_port_setup(struct uart_port *uport)
int ret;
proto = geni_se_read_proto(&port->se);
if (proto != GENI_SE_UART) {
if (proto == GENI_SE_INVALID_PROTO) {
ret = geni_load_se_firmware(&port->se, GENI_SE_UART);
if (ret) {
dev_err(uport->dev, "UART firmware load failed ret: %d\n", ret);
return ret;
}
} else if (proto != GENI_SE_UART) {
dev_err(uport->dev, "Invalid FW loaded, proto: %d\n", proto);
return -ENXIO;
}