From nobody Sat Oct 4 01:42:19 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 591342E9EA4 for ; Fri, 22 Aug 2025 07:27:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755847647; cv=none; b=gM1qhtt4Jm9dNgTFB/Ua+t5y7e8LxoJWKJp4c1m+23esKw3J0eEnNQduvejnNFM50w2oAtlWgNN+xEWC33MyJ1yFb/H3jmcwwXyBPfh+tH9F7xGxbstPsueSW5oaVnD0mCSVkyySKx1A02wrdE6NXoQcytraAVjOKUI1xiNqc2E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755847647; c=relaxed/simple; bh=2PNVuXq+ZYwaLuZ7rUo4rH3IJfNSTpQ7FJZqxFzNtv0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=axVe61N1CnwTFduUmcVHxtS5y0LI4toPBFqRTS+ip8rYqETCjUK+K6cY8c4hNMOaKelrHSR5OJ+HpG51C0WT6nr89HjKbdzijv4KFm1/DkNfUNX0yEDO7YZNMIH/rdeNuHlEHun6u5PTLjxtz3zjdH3xtLyqMdIoRxTq+jWgDas= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=YXeN0NDY; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="YXeN0NDY" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57M6uQgv021364 for ; Fri, 22 Aug 2025 07:27:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=BrYCSYr4l+R GAx5Rr4vA8mbuZgqIc3xnPF8sQ/ZYbOc=; b=YXeN0NDY23TjYc6Osb4Xc1Snjgy cWTy4GYkEnPkHjchJKge2Sz0jG7nTeCOy70pMQrr9Xp5ngFMyoTOKKEqpNFMLrWU +Hh7gzzMZ1JJxEgsxzwyARvkSxpcb7Equ5PZUGYGhFJigEh9BKK+JNdbhG8GIFWd 2LySOA+KYlrqq1aO3SUb+I3Nu8FsuB1BKSAi5+ZW+w1Y9G6Xcuu8kM+uFkbX0lQJ cqPRABd+ES97dCcMVTESy3/V5JtLtXUPI01lwRclIX/pxN2Ooe+SeryRSO+sVYI4 oZg40WJ87TbQNk12k/FDljGYu1Kbx6b6dfXpmhsaULWMzyJS+K3AquXllGQ== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48n52a89qk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 22 Aug 2025 07:27:25 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-b47174b3427so1452630a12.2 for ; Fri, 22 Aug 2025 00:27:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755847645; x=1756452445; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BrYCSYr4l+RGAx5Rr4vA8mbuZgqIc3xnPF8sQ/ZYbOc=; b=W+Il7kuupPRItdnD5jYLKICqdLdGltyZ0SyUY5Y6ygCldjIU+spFBr8TRNhip8ky+D HFXiz/QQzpifK0ncBQ6YA3qQ3FGfpPC54QL1wKVRfpG4K72t8WFtyVcOjvDaFaHR4gHk PgGV2GUf8tHvOqDkn2sJY1L1vagG/ZidWQJN6dScyDesImq8gZToNghrAfaFi4OogAzU RHEBKfy0ol4kXM98QLEfXWm2iD3kWbxMKqd+6z6MJhJeY8ea0EQecGhJ2sKxbQkJH3rh N5gTls8vveuHRnqR2n38qbbNP3voKEjt2yWiRq+sHP2DwAbPWSp113Tz3O72FXDzNLbo 62Fg== X-Forwarded-Encrypted: i=1; AJvYcCWoCB17BcJ7QO0sWyi9yAMHpszDf4bUxtvB+w/OQxexh3KK06ayaJPa1YgvAVP2niXOTaN8BgbuMdozyj8=@vger.kernel.org X-Gm-Message-State: AOJu0YxKPO9RhSkPYMSm58Y8xhdjmXKlP3cnZGXNKQ3roNL+WsCwqCj3 jgeu9VZOUzA9S5UEjCg3AiEyfUs+4KPTWzX207ZtZL6+5dc5/vrWgmfUCIeRrxZcQbPYwHivq/k XUPZo+eT3dgiOo6ZgkomxhCvIIHo49bejPNCnCTcdGlclk5KFX9YkrvXuttcoNJwKOhg= X-Gm-Gg: ASbGncvT0yblqwlGcSFZUi03+bj/oyPurEU1OfjUpJmKMp1mgn5OfAdcVf5x0bzZkmB fWmagfcR0mfpUwXWxZCs2tFUSC4ZuolpuIxKWr/e6OZy6j0bRsQ49ZOPzWJVt+3VyLofWpO9mgq vDpZEmeYgh8zi8PWhoiy6et0L/PJEbVD8YMWlquBwNd8IV98nTXhtAoi/pJmMzDocFcXjNgKs1x 264hzTW75g7LfLz06VN5r9jlXd812TcvpaaV5X0swtrROJUWodt0nIaE9+obg/pR4U5Kpq5mXSl rjw1Q0HGiJR6eOf9VRJy4b73xWZDwp8D/4dy7lGIz/Rsienx3jen1aAVVHwB+FtkWIoz6C9sjjr 6 X-Received: by 2002:a05:6a20:6a06:b0:23d:7b87:2c88 with SMTP id adf61e73a8af0-24340b7c7dbmr2399224637.9.1755847644795; Fri, 22 Aug 2025 00:27:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGueuQAtbJyunfN/7SGGX9fsHuG9nFd0VIDf06IMkL0qz8ftPZLBXEwTTKRWnxH8rIeBR3Ihw== X-Received: by 2002:a05:6a20:6a06:b0:23d:7b87:2c88 with SMTP id adf61e73a8af0-24340b7c7dbmr2399187637.9.1755847644346; Fri, 22 Aug 2025 00:27:24 -0700 (PDT) Received: from hu-vdadhani-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b4763fe3047sm6416367a12.17.2025.08.22.00.27.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Aug 2025 00:27:24 -0700 (PDT) From: Viken Dadhaniya To: andi.shyti@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, gregkh@linuxfoundation.org, jirislaby@kernel.org, andersson@kernel.org, konradybcio@kernel.org, broonie@kernel.org, johan+linaro@kernel.org, dianders@chromium.org, agross@kernel.org, linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-spi@vger.kernel.org Cc: mukesh.savaliya@oss.qualcomm.com, Viken Dadhaniya Subject: [PATCH v6 4/6] i2c: qcom-geni: Load i2c qup Firmware from linux side Date: Fri, 22 Aug 2025 12:56:49 +0530 Message-Id: <20250822072651.510027-5-viken.dadhaniya@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250822072651.510027-1-viken.dadhaniya@oss.qualcomm.com> References: <20250822072651.510027-1-viken.dadhaniya@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=feD0C0QF c=1 sm=1 tr=0 ts=68a81bdd cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=2OwXVqhp2XgA:10 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=9JGZuxy38fRfBSF6gCkA:9 a=bFCP_H2QrGi7Okbo017w:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: P6CkRs50gaWabUhrHCBnUHasga69cDvB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfXzd8v5H/9h4eU Noogyibg/HSQwmA3hiP6skLatMIqQYxXvmvQkLSIH0Lp2Np28bL2FakqMqwCPVPINtilU3pYUZc dTzQwGl+HXj8rrFKUA4KLcTcfHdPeuRXqkmFs78A9a+yNh3bCOXgZZGmZpqm2zxqqqOEvYR5b22 Vmd3P4aDJ91W+ziPWz0Vy0j7so0kJRnT+9nBf60dDDj0Q72UYpZqwc1FPG3Fdy8L+q+oETJxqLP LfKsxDs8XfYJpYzjp+wjkIBZj91zL1S/6LqEd0AYYblGP9qmLB6jM0VMMAwMyuqWl+gDO60/Dsb 9Qanwser7NM/yVM7z8S4W2l4ZDe03iC5tyrcJaRM3+QvRMlt8wAqxR0BFkAUWf3DZJjfm3BhW+E smsSeQxbqDkkMv5OelsVj2vX/lbFDA== X-Proofpoint-GUID: P6CkRs50gaWabUhrHCBnUHasga69cDvB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-22_02,2025-08-20_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 Content-Type: text/plain; charset="utf-8" Add provision to load firmware of Serial engine for I2C protocol from Linux Execution Environment on running on APPS processor. Acked-by: Andi Shyti Co-developed-by: Mukesh Kumar Savaliya Signed-off-by: Mukesh Kumar Savaliya Signed-off-by: Viken Dadhaniya --- Dependencies: This patch depends on patch 3 of this series. v5 -> v6: - Added Acked-by tag. v5 Link: https://lore.kernel.org/linux-i2c/20250624095102.1587580-4-viken.d= adhaniya@oss.qualcomm.com/ v4 -> v5: - Updated the email domain from 'quic' to 'oss'. v4 Link: https://lore.kernel.org/all/20250503111029.3583807-4-quic_vdadhani= @quicinc.com/ v3 - >v4: - Add a patch dependency note. v3 Link: https://lore.kernel.org/linux-arm-msm/20250303124349.3474185-8-qui= c_vdadhani@quicinc.com/ v2 -> v3: - Load firmware only if the protocol is invalid. v2 Link: https://lore.kernel.org/linux-arm-msm/20250124105309.295769-7-quic= _vdadhani@quicinc.com/ v1 -> v2: - No change. v1 Link: https://lore.kernel.org/linux-arm-msm/20241204150326.1470749-6-qui= c_vdadhani@quicinc.com/ --- --- drivers/i2c/busses/i2c-qcom-geni.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qc= om-geni.c index ff2289b52c84..95a577764d5c 100644 --- a/drivers/i2c/busses/i2c-qcom-geni.c +++ b/drivers/i2c/busses/i2c-qcom-geni.c @@ -870,7 +870,13 @@ static int geni_i2c_probe(struct platform_device *pdev) goto err_clk; } proto =3D geni_se_read_proto(&gi2c->se); - if (proto !=3D GENI_SE_I2C) { + if (proto =3D=3D GENI_SE_INVALID_PROTO) { + ret =3D geni_load_se_firmware(&gi2c->se, GENI_SE_I2C); + if (ret) { + dev_err_probe(dev, ret, "i2c firmware load failed ret: %d\n", ret); + goto err_resources; + } + } else if (proto !=3D GENI_SE_I2C) { ret =3D dev_err_probe(dev, -ENXIO, "Invalid proto %d\n", proto); goto err_resources; } --=20 2.34.1