From nobody Thu Apr 9 07:17:16 2026 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 5CE36449EB7 for ; Tue, 10 Mar 2026 10:03:54 +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=1773137037; cv=none; b=J+pqIfJoYG6yt33edkXD5wozmQ6cPw6y1x9kaHX9UIzT9rLuSxPb8SzngV0oGJp9vjc5weJFAkGCgviB5ggrvDG533vkMa3recrfIaZBCIhgYH1iU3WBfzqyMtLbG2Du8M7YtZNC1UNAySNZSGNcpS8ZLT9IShi8xskLe36GBM4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137037; c=relaxed/simple; bh=gZbvYWxtnltp+9V8OICF8P4ygq3AOAwfyaCIqwTHoxU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rMB8Z336MjTSjappGQswxX4XKGy2Bd2toz2f+H6c7njsHsrHDDaqhlVYQpXJauuuuYzP1chEVKen5/OUNGMDxbo6WALuAxPX1ly16qFHr7/SmYhgx9aeiuOVl7rbQGfQJ/B5MoQKXCXPcWlL5Oqudl7eZDlqMlJEnXb0ibvw3UY= 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=EUrmS35C; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fFRvFCC5; 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="EUrmS35C"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fFRvFCC5" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9LBGY2460640 for ; Tue, 10 Mar 2026 10:03:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= OFptXoNQy3MKnCAaLmFatsHFB8MF2GLKpS3f5re0I1Y=; b=EUrmS35CpQatMFFJ Fa3xclvIkrBLk7+8cvVhVbfp8Hot/oobQLBLQqGfS+6wAI5tfSRmbYlWy692REmX CxjJkEiKTNlVpKbJ53HaWgFuW/rfcBnSYU8wLNuQBgkqS9MDUu/DVke4FVbH7vRK lqnsKZGtOLDXoJUlQnGUdMjtZz3OfgmI19PdCRDybv0OwzYsZHAzDmOs7g8E41WE Zlcwlji+xi8OoudNWE9Vr91+WpcQbIVg9I9MHRbQ0jDwy/SOXd7CNuUq90BExW9N g5Xb4Fj7zsfWHPiohWFVt3ekjs8yojUwuZXjfIIinZOy5se+BrBpq9TiYyaf5OeC 1j2pdw== Received: from mail-ot1-f71.google.com (mail-ot1-f71.google.com [209.85.210.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4csyv1bpxr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 10:03:53 +0000 (GMT) Received: by mail-ot1-f71.google.com with SMTP id 46e09a7af769-7d74d78c5f7so16585453a34.1 for ; Tue, 10 Mar 2026 03:03:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773137032; x=1773741832; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=OFptXoNQy3MKnCAaLmFatsHFB8MF2GLKpS3f5re0I1Y=; b=fFRvFCC5a60w5r6ycNnVjDNMLVQoEiHaEf5isCMkwspQeMbTD4CyoO9dBmXrsc6W6g uvdHaw1Ox7h7saDrrI8FGRxyLClPs6bLD9ntu+85Hm3zrfv0964qGt/3Iy0hvKAB1u63 8BUTgZUCU6dfBTcHlodQPI4tcNw5zBxZ+HdKmck5S4TjmKBzJKSUo2UeQjrbc2AA3gY2 gF5brEu7UKRVQs3FHCjgdKW9nfjvzIYDTCfJAxWWcXInrYLOul+hq7D/lRFTB9HQ97Ry ypIdhvfcfCzpmzwZ72mgEcYp+SqoIiMXl0GgdrKZz3S9/yCTiF9qEWS2WU7nQAoP1KB7 WDxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773137032; x=1773741832; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=OFptXoNQy3MKnCAaLmFatsHFB8MF2GLKpS3f5re0I1Y=; b=Kkbmnl3Bhxcnx2/20JHKVNgr2htQu9aENw9FzWnzyKhUeRlKVohVA+SbKoCB1hLTS0 KL/LGXLFU//nD+XEtINEnSnAqEPI9K0MzyA5O5FCAyQ3v7Yja+jXWNAre7ZjbIfwxJYB +Ah1O4hlIMRGTzf7h10+6K5Kk9N268tY7V8NmeoKmll7/WcMTX9ZmBRcPDTzVtYDD6UP kbyez4YJyEPAMIxLpDPXeaZpDmY8WGEWGvs6Aq+ukLO4udliqeIRVpserhAagbi6aMay YNm2J6k1tqlItaRM7bdH53iA3Nw9/BUhZx6h2G3Q1E08xgQG1eVNslv4C/VCoGj458QK uKiw== X-Forwarded-Encrypted: i=1; AJvYcCXB0ba1VQmqRnkZYQ5pXJt6QDJWp7g7TtMVTPJvVXTgZa4iZLDhYOjT0xmOg3kdvnfZ3ewqf7KwJo3hL2s=@vger.kernel.org X-Gm-Message-State: AOJu0YzgWO2Lw+mBk4uL9j7FiSILYS9NsPbnPnxG344JFOjiTHOSxxpu oFomG8jeglj77RqNeMkxZWZ0TkCchlkh1WNqWKJ5CbINglvpBcqcVkFy7Gqcuy9Qur5Ek7JRySa a/BeFlCA7MJh01H/vk/jTJ+1l5iLGWShNmkqQqsSrODyPDN9memsWWI2ZlPhRZZWORzo= X-Gm-Gg: ATEYQzzB5T2A+ph9K1+RJlbL6uB884XppuXw/fT6wf8hGYSixC+ihafsSCQc0viMeq9 R+GraymZSH9vL3tHrAlcLiRCMwV93Bp22FU/NRACLv/rtlir6dBZWP/PFASX26dRdBSkm0j3tLG DGHQIHsMNbFAA7nvAC/OjUhKuymv0tgix7qRPFyKqDKI0YcHugHIp4AUzul795zEIlx1Sz+9MNG 1IDu7PGDNPjyHWAUU3CBNmjkf1mwyuyPLS3M+DWvSCi9LBCG72TLBwZq9BV/0L2QO1sp12ExVst AEtrS4+bGXU1vsmeVEhN2JbPT7GKMuYDa9ewcz2dGsQOggskc1jjksUN2ECVDjtA/2rMORcV3ya gULU9X/itwho+dY6qOe6O0qzksWKJVfDrTis466/yHqxPTKvcri+O1G4nomMq2G7vbTBADkjt X-Received: by 2002:a05:6830:8289:b0:7cf:cbff:85e6 with SMTP id 46e09a7af769-7d759b01ca0mr1760798a34.12.1773137032449; Tue, 10 Mar 2026 03:03:52 -0700 (PDT) X-Received: by 2002:a05:6830:8289:b0:7cf:cbff:85e6 with SMTP id 46e09a7af769-7d759b01ca0mr1760775a34.12.1773137032126; Tue, 10 Mar 2026 03:03:52 -0700 (PDT) Received: from hu-jingyw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d746bdecbfsm4337611a34.10.2026.03.10.03.03.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:03:51 -0700 (PDT) From: Jingyi Wang Date: Tue, 10 Mar 2026 03:03:17 -0700 Subject: [PATCH v4 1/7] dt-bindings: remoteproc: qcom: cleanup qcom,adsp.yaml Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-knp-soccp-v4-1-0a91575e0e7e@oss.qualcomm.com> References: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> In-Reply-To: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Manivannan Sadhasivam , Luca Weiss , Bartosz Golaszewski , Konrad Dybcio Cc: aiqun.yu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, trilok.soni@oss.qualcomm.com, yijie.yang@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingyi Wang X-Mailer: b4 0.15-dev-3d134 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773137028; l=2735; i=jingyi.wang@oss.qualcomm.com; s=20250911; h=from:subject:message-id; bh=gZbvYWxtnltp+9V8OICF8P4ygq3AOAwfyaCIqwTHoxU=; b=nnlIQkEY1s8hcXkzRR+Eh6R7DeJfAHlqsWXsssc7kSeNnxeTIoagGOKUomve+vyqkq61estpT bGh9e5qZyEfCbwrpRBt43TAqJlMlOKL8JdqKme9tD3/sej7BXizSwYo X-Developer-Key: i=jingyi.wang@oss.qualcomm.com; a=ed25519; pk=PSoHZ6KbUss3IW8FPRVMHMK0Jkkr/jV347mBYJO3iLo= X-Proofpoint-GUID: 9Ed8nnuh4Si5iYV1sFAkzDGIaUCOdnWy X-Proofpoint-ORIG-GUID: 9Ed8nnuh4Si5iYV1sFAkzDGIaUCOdnWy X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDA4NiBTYWx0ZWRfX4QrEHIvCsuGT 0S6PE1E16ytRUZVzexeLMgRdZkj9XM25qDJj5HC3yXYqDgvwVjfF/HV6MVFyqDVaLz0h2NQ1WZl ikPyiFhEA+dQlpiaVbTYIokGCZmnuXQQ2x9P62+BUEUi+odAlySjdVOfU7nxz8buQhUafWb5mpD 9YMRQT2HgXSkIn8ml7UuCmrqLbfisGoi6sorciVlFRy0ALBLo5sHZN8y3wEPa6NLrSH1b1MDOix je4v71TCB3lL1jgpI0fUxnt75/j+/dxA3qU/bChP54kqRi2Nt27QSbOoe+dczSgZOr9CUp/OLAF Op6QAn5ZZfmMiSz0yltw9LKXVDbhOgFzAlqfpE41NcNMzT4nWRtSL0Q8KGTPVDHEvWkNfcWxhYK t7RAcMTWlfFGxY6axD+12bqhp2kqQqty+RR3x1QKIxqAIxuBPIekkZis/l3Pd5Viu1npUqyMXmf pE+mRYI5phw0kSWa9IQ== X-Authority-Analysis: v=2.4 cv=Cuays34D c=1 sm=1 tr=0 ts=69afec89 cx=c_pps a=OI0sxtj7PyCX9F1bxD/puw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=VspIq9AKIDY_7iLw7w4A:9 a=QEXdDO2ut3YA:10 a=Z1Yy7GAxqfX1iEi80vsk:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 spamscore=0 adultscore=0 priorityscore=1501 phishscore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100086 Items in qcom,adsp.yaml have common clock and interrupt properties, move these out of the allOf section to avoid list the compatible repeatly. Signed-off-by: Jingyi Wang Reviewed-by: Krzysztof Kozlowski --- .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 64 +++++-------------= ---- 1 file changed, 14 insertions(+), 50 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/= Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml index 16a245fe2738..a270834605da 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml @@ -32,6 +32,14 @@ properties: reg: maxItems: 1 =20 + clocks: + items: + - description: XO clock + + clock-names: + items: + - const: xo + cx-supply: true =20 px-supply: @@ -49,6 +57,12 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + interrupts: + maxItems: 5 + + interrupt-names: + maxItems: 5 + required: - compatible - memory-region @@ -57,56 +71,6 @@ unevaluatedProperties: false =20 allOf: - $ref: /schemas/remoteproc/qcom,pas-common.yaml# - - if: - properties: - compatible: - contains: - enum: - - qcom,msm8226-adsp-pil - - qcom,msm8953-adsp-pil - - qcom,msm8974-adsp-pil - - qcom,msm8996-adsp-pil - - qcom,msm8996-slpi-pil - - qcom,msm8998-adsp-pas - - qcom,msm8998-slpi-pas - - qcom,sdm660-adsp-pas - - qcom,sdm660-cdsp-pas - - qcom,sdm845-adsp-pas - - qcom,sdm845-cdsp-pas - - qcom,sdm845-slpi-pas - then: - properties: - clocks: - items: - - description: XO clock - clock-names: - items: - - const: xo - - - if: - properties: - compatible: - contains: - enum: - - qcom,msm8226-adsp-pil - - qcom,msm8953-adsp-pil - - qcom,msm8974-adsp-pil - - qcom,msm8996-adsp-pil - - qcom,msm8996-slpi-pil - - qcom,msm8998-adsp-pas - - qcom,msm8998-slpi-pas - - qcom,sdm660-adsp-pas - - qcom,sdm660-cdsp-pas - - qcom,sdm845-adsp-pas - - qcom,sdm845-cdsp-pas - - qcom,sdm845-slpi-pas - then: - properties: - interrupts: - maxItems: 5 - interrupt-names: - maxItems: 5 - - if: properties: compatible: --=20 2.25.1 From nobody Thu Apr 9 07:17:16 2026 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 25CF236C9CF for ; Tue, 10 Mar 2026 10:03:55 +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=1773137040; cv=none; b=n+b7co3lbiy+vw+iszNDzUGG0tpfufxZO9+TFyWQ+db0KCrJCIq/Hy850NG0AYBlJKFQTK7jhOJYCuaA863xYq/MkEKO2bLrzLRLXpe3kFHxXjC32pLfqQNb3/Y/3SX85gtkZTAshgrbGVlsKfQ5eY1nFjiX9OMIJruGJwWuyr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137040; c=relaxed/simple; bh=MNJvbA1adGgSxkK9ZtMW6V5XLKHtqCmu/CC8Sztw8QA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d98jc5na0xmQIFBANG5KOHn8/scBBQ07fIw3rayukeia/Hnia5vpLCfwzFkBogAcQfCdRo8y61s3y48qH1bALBWBAVmUJe/Q1qAl78CRk55VhbwOvZ69lIkANrG1mOQ/mw+wFba5q2bL1GG/0amFlAc9I9vjSchHrPF7ZDuDyJo= 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=iXEODw4t; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FkF98rqk; 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="iXEODw4t"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FkF98rqk" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9FMLG3087563 for ; Tue, 10 Mar 2026 10:03:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= +TiJOIpoIer9ww+dmN9MLZeSR4wUzsJQvZZnemuHSy0=; b=iXEODw4tpSTLiLzL hp/1hvITnlBXNqxmnTVzzZCkTnjM+FsiGI9z4sQ9xVFtv/AjX36DCWInMdGNs6b3 /mYlfL98uVFNwvVfi+b+kgyF+GeBiqkWEF3Z41ebk8kdVIsdafx5y4cb9FjdgSAP d+2Efa+VzPO3dvMsQdFkK8p1MD6ewBDhdg9DtcIQZeJdxpFSLA7EF4vYQmrnvUPd DFWwqVou7wAx4JlmYishnO8yzwdMbJB6pHCfa9B7X0uyMp1BywwaE88nB0+8OYmP HHx62/YK91hcW3j/nPiow30npg1vrg4AP5Bs+i5lANOLM7S6TwgGHjPzMbnpfCeo cxVPUw== Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4csxy83vx7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 10:03:55 +0000 (GMT) Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7d496d080d8so75097676a34.0 for ; Tue, 10 Mar 2026 03:03:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773137034; x=1773741834; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+TiJOIpoIer9ww+dmN9MLZeSR4wUzsJQvZZnemuHSy0=; b=FkF98rqk9FM2/u5FieGIHWtSn6ya1U9l8+o7+2qvv4OTVXOIA8p1H8CF26scJZAdt2 8fq6QYx1IE2zcwZwOvJA7fruZTDf2R8fI3OwpDyu46oDZ8JchLyGvj3QkA+JPEDtw1C3 CGDp24OYD3UWtt7qFCjpGsfQ05+ZgfHf6IQ4gc714OIT2ldQAe7tgBNxvpxwV2pCxlJ5 HhoFdJTVo5nkyJYxIwFM39q7lQY+II7/gkiCY5c9OVUa7KBAx1JxM21s58vW9D3Ds+Kz S1admXq/UHxorlunj3pnxyo2lUItInPOCNjMeZTL0tVIrdWJwEPq3x13dkqqjdwjmgHl 6UNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773137034; x=1773741834; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=+TiJOIpoIer9ww+dmN9MLZeSR4wUzsJQvZZnemuHSy0=; b=TOt77TDk2tZyoOZ7cNi6k80ol9y2hO6/DX+53agdtAE+D4vmOTGCkRXKjMz6pXY/kE k+VwaTYBRzm+JktQBClcnepAAIY2n3R/7oYRaTbMDAXBiVBQwx10LHC1xf5c4zct/CSs 3CYul19P3UwH9QXonkvnrTNgzCyu1esvpEgTZmG2VFACDUdNEh16AULkE85irV6me5x7 wuqNpmRQOyenaPiRwRCCQiXLUoZz+tJ0iG0QQXJP/hphjPMFPqKERDY4IT487GD+bwTd Tg2s5sUWSD1hIvplccEAsN6KFPmPHAHp6hNi30mjjHsPlYxMlpSiJrQCsrUngmMvhc5Z 8uRA== X-Forwarded-Encrypted: i=1; AJvYcCWeRnOfmDbkpLCU8zGGc/f2VoHLQGdYls5ZC4UFgNpzc4wKRxvJ2kubHfMdiVC4MDXhflBOjozUiAhRa5Q=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0W0GBCol8LqNYNwVg4hDL6kViNiFSTg4R5RfJ5c4qtKT3V96j ttqUbQbk0JNuXMFyi6GiXIoB66zJZQkGUFmVtcC7u/VMOTmPauu5z90vdqjuOFXZubkvWG9HEAh yhVfS6ks8ucF5rSLDbGMnXEDg7GLRP98+HYdPHIwzs5WPA1VeeiWy6H1VEiJc1xfsbo4= X-Gm-Gg: ATEYQzwg6ZpX2SrATU3BXP0+YkUXcU3Vwrp05JvuC+Head4saupVZtsFhnJvo1Utl3R Vnva5o4s05wAXJeISJvNB4eWga7/fsLbIwlNXG7Cx4qeYfEkV4sLQNaQuMigiDanaStM31ZBQKi nlWfGs2DqlDoX4Os498+IRvlpTO8bB2FVfRBHTwj44/GB1EjwrIT4V+iMVM8JsWc+p+yNBPYEdV JuwSbLQZuAB+7Z9icWSYnVq2PodY/Dxvn9xhzCNaabXRbHBhWPo8V+NzP+3xsTELiSmFw45sDLb N+gXD5wtRgfB7QeSB8pEUNuq7dhZZLZAIvERO67+Lfs6tL12sKioGT2CZ3VLuC/uG1ysGbYy8J0 uXzPzs9uLtTu0L5OrkiNDNGsYeQkh9oDthdRnOxE2TCQnShYKpwp4NbfXjYaOcmBu0gIac5er X-Received: by 2002:a05:6830:901:b0:7c6:d001:afb2 with SMTP id 46e09a7af769-7d727077fadmr7706503a34.35.1773137034264; Tue, 10 Mar 2026 03:03:54 -0700 (PDT) X-Received: by 2002:a05:6830:901:b0:7c6:d001:afb2 with SMTP id 46e09a7af769-7d727077fadmr7706478a34.35.1773137033741; Tue, 10 Mar 2026 03:03:53 -0700 (PDT) Received: from hu-jingyw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d746bdecbfsm4337611a34.10.2026.03.10.03.03.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:03:53 -0700 (PDT) From: Jingyi Wang Date: Tue, 10 Mar 2026 03:03:18 -0700 Subject: [PATCH v4 2/7] dt-bindings: remoteproc: qcom: move interrupts and interrupt-names list out of pas-common Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-knp-soccp-v4-2-0a91575e0e7e@oss.qualcomm.com> References: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> In-Reply-To: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Manivannan Sadhasivam , Luca Weiss , Bartosz Golaszewski , Konrad Dybcio Cc: aiqun.yu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, trilok.soni@oss.qualcomm.com, yijie.yang@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingyi Wang X-Mailer: b4 0.15-dev-3d134 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773137028; l=15017; i=jingyi.wang@oss.qualcomm.com; s=20250911; h=from:subject:message-id; bh=MNJvbA1adGgSxkK9ZtMW6V5XLKHtqCmu/CC8Sztw8QA=; b=lrmN1CMb4giSSKs/219Q2RNENZzFinS3uK4Mpz5nznbXPqMXFCiR/0l2CXt2l67O03W84I63I 9TS3jQXucrfDevf3XU2Pu2yVd9czg69U8k8oV5agSCq8GWW5JBvbFjy X-Developer-Key: i=jingyi.wang@oss.qualcomm.com; a=ed25519; pk=PSoHZ6KbUss3IW8FPRVMHMK0Jkkr/jV347mBYJO3iLo= X-Authority-Analysis: v=2.4 cv=SvmdKfO0 c=1 sm=1 tr=0 ts=69afec8b cx=c_pps a=7uPEO8VhqeOX8vTJ3z8K6Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=4MiHK05HUdkkAtNoTgEA:9 a=QEXdDO2ut3YA:10 a=EXS-LbY8YePsIyqnH6vw:22 X-Proofpoint-GUID: PRDubHstQdlsxRc7tZgJIQBIf6vxbdPC X-Proofpoint-ORIG-GUID: PRDubHstQdlsxRc7tZgJIQBIf6vxbdPC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDA4NiBTYWx0ZWRfX+y7Pp3B+nFE2 1N0s71fqlCxyuPQ44ZzUupMRlm8kvK5dCGIORlGWL8+PHf+ooIKJsEAXVmYuWtsbxlJgw5a49DZ 5KPHgmCmASgDF2Z8oV1XFo8ZrP2WHHFhL9AnCSnVIAbz7H1dk5cvsQpHn3WnLYyfqtk5bXJabuS hUCHh2MC6Mgizf8YhBBF3Lq/wnB3e6OrV9Ooe+sSGDTnUMDC9Qxc0JA2itl39vosLAI6fJMWFG3 VVvKapE/dxokrDam5VR5aAyJKd8Oyf4sobHIa4PO5SkubZ+jFcn2MH5IzX5QluzGTyywCmuCE6A OF3OYwL1TvkphQs8bAug74vkklKs07iuZVtZL+fwjYHagcQ7rumSNvmFcm1K/Rb7ED8k76O6S32 O99dobwlIK5Ei3/jHEl/DoqJVa5wF8+Vnh5Wa0XoGkUjrv0yWgwE8Mdw9t+BAR9psu1RXFnu8re rExcYG1bBEaCCM8cADw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 spamscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100086 Move interrupts and interrupt-names list out of pas-common since they will be redefined differently for Kaanapali SoCCP. Signed-off-by: Jingyi Wang Reviewed-by: Krzysztof Kozlowski --- .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 14 ++++++++++++-- .../bindings/remoteproc/qcom,milos-pas.yaml | 18 ++++++++++++++--= -- .../bindings/remoteproc/qcom,pas-common.yaml | 16 ++-------------- .../bindings/remoteproc/qcom,qcs404-pas.yaml | 14 ++++++++++++-- .../bindings/remoteproc/qcom,sa8775p-pas.yaml | 14 ++++++++++++-- .../bindings/remoteproc/qcom,sc7180-pas.yaml | 20 ++++++++++++++++= ++++ .../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 20 ++++++++++++++++= ++++ .../bindings/remoteproc/qcom,sdx55-pas.yaml | 16 ++++++++++++++-- .../bindings/remoteproc/qcom,sm6115-pas.yaml | 20 ++++++++++++++++= ++++ .../bindings/remoteproc/qcom,sm6350-pas.yaml | 20 ++++++++++++++++= ++++ .../bindings/remoteproc/qcom,sm6375-pas.yaml | 20 ++++++++++++++++= ++++ .../bindings/remoteproc/qcom,sm8150-pas.yaml | 20 ++++++++++++++++= ++++ .../bindings/remoteproc/qcom,sm8350-pas.yaml | 20 ++++++++++++++++= ++++ .../bindings/remoteproc/qcom,sm8550-pas.yaml | 20 ++++++++++++++++= ++++ 14 files changed, 226 insertions(+), 26 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/= Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml index a270834605da..16c35e15ee1b 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml @@ -58,10 +58,20 @@ properties: description: Firmware name for the Hexagon core =20 interrupts: - maxItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt =20 interrupt-names: - maxItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack =20 required: - compatible diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.ya= ml b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml index c47d97004b33..f8e1b2b8e782 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml @@ -33,12 +33,22 @@ properties: - const: xo =20 interrupts: - minItems: 6 - maxItems: 6 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt =20 interrupt-names: - minItems: 6 - maxItems: 6 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack =20 qcom,qmp: $ref: /schemas/types.yaml#/definitions/phandle diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml index 68c17bf18987..dc5a9981c12c 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml @@ -26,23 +26,11 @@ properties: =20 interrupts: minItems: 5 - items: - - description: Watchdog interrupt - - description: Fatal interrupt - - description: Ready interrupt - - description: Handover interrupt - - description: Stop acknowledge interrupt - - description: Shutdown acknowledge interrupt + maxItems: 6 =20 interrupt-names: minItems: 5 - items: - - const: wdog - - const: fatal - - const: ready - - const: handover - - const: stop-ack - - const: shutdown-ack + maxItems: 6 =20 iommus: maxItems: 1 diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml index ad45fd00ae34..5854b3d2041d 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml @@ -32,10 +32,20 @@ properties: - const: xo =20 interrupts: - maxItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt =20 interrupt-names: - maxItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack =20 power-domains: false power-domain-names: false diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.= yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml index 188a25194000..4c6d32b1031c 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml @@ -60,10 +60,20 @@ properties: - description: Memory region for main Firmware authentication =20 interrupts: - maxItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt =20 interrupt-names: - maxItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack =20 required: - compatible diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml index 66b455d0a8e3..cb0a61fc301d 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml @@ -48,6 +48,26 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas= .yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml index 5dbda3a55047..c51010493bca 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml @@ -45,6 +45,26 @@ properties: $ref: /schemas/types.yaml#/definitions/string description: Firmware name for the Hexagon core =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.ya= ml b/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml index 5d463272165f..381ece510b0f 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml @@ -30,10 +30,22 @@ properties: - const: xo =20 interrupts: - minItems: 6 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt =20 interrupt-names: - minItems: 6 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack =20 power-domains: items: diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml index eeb6a8aafeb9..987fac433fae 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml @@ -51,6 +51,26 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml index c1a3cc308bdb..53ffb1ccd199 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml @@ -45,6 +45,26 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml index 7286b2baa19f..6823a2a8d74e 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml @@ -39,6 +39,26 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + smd-edge: false =20 required: diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml index a8cddf7e2fe1..8a1fae095a3b 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml @@ -61,6 +61,26 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml index 6d09823153fc..4ea7518db537 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml @@ -55,6 +55,26 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml index b117c82b057b..d93e17fb5e89 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml @@ -72,6 +72,26 @@ properties: - description: DSM Memory region 2 - description: Memory region for Qlink Logging =20 + interrupts: + minItems: 5 + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Shutdown acknowledge interrupt + + interrupt-names: + minItems: 5 + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: shutdown-ack + required: - compatible - reg --=20 2.25.1 From nobody Thu Apr 9 07:17:16 2026 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 A59FD44B674 for ; Tue, 10 Mar 2026 10:03:57 +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=1773137041; cv=none; b=jUui4Ma4qV/5bSH0IgF7RDhiV28kg8FkK4VBGocVAk64ApK/oLQPz1tcb3hqW18SzjdixU0GL3O7JW18xx84XQF+W21TKLuBu5kWZrE08zzjjPQiy5HvZVrV/omiAtXOQQcaZl4IHiPbb9Ni4usAQXCh3oURRfd5kmxqgxESVvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137041; c=relaxed/simple; bh=YCWKPXnQpiUnLfaOLbWnTkzB3ozdytjyIbPoKi2qgNM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jzAXIM8W74c5PMShHyPY6uTIAD6aBuOsvs4He63JwF9P8B2jBGVkLpj9HHCjco3iJJWBn6qL6XAnSc4EhDlGHVZGs3OiHxoWao4iTHETWIC374e82Zbq82suRLSWbYVlRNqv6VPu6P4sAJx+Qt5ZZE1FPQ4/y2LLcpy3zmsr8CI= 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=GB/dmr4P; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ro5679RN; 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="GB/dmr4P"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ro5679RN" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A6VSct2021624 for ; Tue, 10 Mar 2026 10:03:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= JRkmw81EWDUFWR4PgZV4ft26rhGJ7QTVp+dQZURfbSw=; b=GB/dmr4PZZpstZE+ LrieVvYKWArdikNKUmnK7wyAYKoIUmcoups2DLqfjTMz534fspMglIXVLsTEp/iD JHlDYLNoo4iSdmhCjSRTICx+BjiNuSJMIGXCWDsQgZhlxsNSPT7UawYw66iLlraO o/Kp7Gz4tU8PA3XFnksrSAL+EcMFRWuChuGxPIY+TFZ95OJlQS4VgSx4TW72mzMz bPO/a8o40ZLOVol3RCyXZ/GKMaMSuZf9TcIWcN+pROCKbhuP/Qdn1P9W6ukapR76 y7lAw4i0K5p+tp7/oCBKRP9qdgwmkxj3wWY8ZVX5BsyjMwsfPWy1GXSfsdb7ttmq 628VMQ== Received: from mail-ot1-f72.google.com (mail-ot1-f72.google.com [209.85.210.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cte3w8rup-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 10:03:56 +0000 (GMT) Received: by mail-ot1-f72.google.com with SMTP id 46e09a7af769-7d74dd618b4so17971407a34.3 for ; Tue, 10 Mar 2026 03:03:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773137036; x=1773741836; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=JRkmw81EWDUFWR4PgZV4ft26rhGJ7QTVp+dQZURfbSw=; b=Ro5679RNBqR1f53scAJA2D52T25ZqCBT6DyOkD5LmKcfS1OKmhrxmaeQllStPxeobc DMRKd5pHCWw6IIh10liVd38lkfn1xDaQCi54BZRcpRPTZhgSaGEmh8i6UsQxWGjJnSmZ uA3kTOT7Sdyk3E50Vx583XSGNTgIR+7pH3PFxEHNEVDWu89ZMjIGPbbi6X8FJFED0cwP jyv0zm5b5DC1krIWy6U4Bj5JhfVe2zxIhaFXTAmQf/z4EY8aa826ydEQNSTPfbNTxaRO O5WB5ygdeOczslE/u9tTDQFzEpPAt2RFhEAyyHGyoM/FnEgUoTLqJmE7pJdllHIAqvqW jSjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773137036; x=1773741836; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=JRkmw81EWDUFWR4PgZV4ft26rhGJ7QTVp+dQZURfbSw=; b=HgRcwYQ5yu8hd1AMENaXjBLc5XzlUquzqVhn2IvBHZ0f3yHA7MPbi9j4aMsP5237l9 2JTMaBtxA/5T25jSfiJ/dq31EkgcCl1QlN7ohmmNTYq/p3Xq2tBqIjSFoem8tJleXEVy Nq4W8e1HaP80fd6yNS3Dp2FM5b2v8rfRk2rR8nGmBgu/jwZEDZWVVKVSAElUZh6eQiUc TTuA4SA8lXfPcsJEBs7gp3FGfpSdu5yk/BkVmUhAKnzmHEehv52tvK5j7pcS5p+3pIy2 mpSx9mzjL8EgIPu0vPBdsgwkfABlYihAe2Q/x2PbhjZvtF8jexFV5MWiIUfVoBGioAuh lLEg== X-Forwarded-Encrypted: i=1; AJvYcCU3OU72B6qwVGQxTWyZZSd2fxALgYOjQJ3KEr/RLoaUwZIjIPOp4PSa+T1/WN3pp1+st30ec5pFVk1aDC8=@vger.kernel.org X-Gm-Message-State: AOJu0YyWbJDxMHtWPmRPxk7r4cwQGkOGAIwi+QsTH7hA314QtM37a3WN n5F5Tfb30jn2seIicF5vhWGUrD0CGjlRGwpc+AlkL1JObmeAnQujCeu1lwWGIEarYrLrxr2Xv10 sa5QKOHk2qfQcN1FEIi7gPqTH62lv5LOibjThGRQttm7zLTqazwVGCW8u8DAKljzDVb8= X-Gm-Gg: ATEYQzwTK22PqJvmMIS9SAuGhkcisDMa9y0qYgr01mA8Q1vqdr36FAwjOgWUhLNqxzK Uu1utQTHv0xeVCDuIVyZCVuSLDM5U7SbAb6pdYV7hMD9ycYhpj2NH/c2mO/riF/TsNmO/kM8ntU Ey/ssIo36HPIn7GPRRdQlXIzn9QRGDG6YMEW06dP7BostIqb7RjGWUZVsdF04CECk9+PNr26/J8 m1JOHWRfc+TVbXD3+wQqFE3rvgyGTaeiBxWqI+lGJNYE0TMw/qUbRtA67YD88lL1Oo0osb1t0ZJ dacJkbNyFlitYmyfOGH1SVYg5q3Uuo9jKDdiKTFPFRdqMkPmuuDRO7GnBDoP5GqSy8NI1CKauQK 0F6v778/ZNGvWyF5tS2eb5lOb7kcyHjUjmR0eNtyWIiG1lIPOeeBULkD6H07AgiaVcneyhm0r X-Received: by 2002:a05:6830:67e7:b0:7d7:5d69:819f with SMTP id 46e09a7af769-7d75d698f7dmr932644a34.13.1773137035917; Tue, 10 Mar 2026 03:03:55 -0700 (PDT) X-Received: by 2002:a05:6830:67e7:b0:7d7:5d69:819f with SMTP id 46e09a7af769-7d75d698f7dmr932625a34.13.1773137035504; Tue, 10 Mar 2026 03:03:55 -0700 (PDT) Received: from hu-jingyw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d746bdecbfsm4337611a34.10.2026.03.10.03.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:03:55 -0700 (PDT) From: Jingyi Wang Date: Tue, 10 Mar 2026 03:03:19 -0700 Subject: [PATCH v4 3/7] dt-bindings: remoteproc: qcom: Add smem properties in documents that reference to pas-common Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-knp-soccp-v4-3-0a91575e0e7e@oss.qualcomm.com> References: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> In-Reply-To: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Manivannan Sadhasivam , Luca Weiss , Bartosz Golaszewski , Konrad Dybcio Cc: aiqun.yu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, trilok.soni@oss.qualcomm.com, yijie.yang@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingyi Wang X-Mailer: b4 0.15-dev-3d134 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773137028; l=10488; i=jingyi.wang@oss.qualcomm.com; s=20250911; h=from:subject:message-id; bh=YCWKPXnQpiUnLfaOLbWnTkzB3ozdytjyIbPoKi2qgNM=; b=7RIPGAugkbPTW5nhGJqwPdpLRzRqO4ft5cqFlgtBRwVQavLV7xDri43oBTeaEvhc3zWVVM1/8 hKxI6TcFD19Am7MxDFRzdcCSsFVv+hMnCY7NA17wUvAt05W2WJvRY0E X-Developer-Key: i=jingyi.wang@oss.qualcomm.com; a=ed25519; pk=PSoHZ6KbUss3IW8FPRVMHMK0Jkkr/jV347mBYJO3iLo= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDA4NiBTYWx0ZWRfXwded18+nAxC6 H8d1fZt33IWEmLJVP42Muxs5H8s1mywBxQJlDvyoChGHIPVFskpQ8heV5V9Qa46OF+WzNd12Mx3 1Gzvs0TLmSjBl6ya+hpzNJuVcZTAms5vSoWWeGSR0KoWWtwGzEsyEFu9liPPcDEfgCjBOxqS27V Y4Gu9q4G3JavdDx2pMzK7PTEawk1OxujxYExsTsCWsfJiL5jQkTmidzpicc+V4oCHUMt3Gt4yRk 82LfZxFU3tF6mVpusbzwYy/QDRJRHtpfwLm9iwxDpb2NZS/bjyH9EqnW49I/4CbJYLRppOQcGgS 9ffMriedrHWrp2zM20OnYW0L8axMZP6QzVeTHyURWnQluBReAQGmHXw4TJxGaf7xqfJlHZTL+jh xMb8ag9hVI6+8DYABUsiED7h3b15bZIZXZji7lApG+BgMqTf9w6DPXnHw/65JsGsRIBR+Tol4J9 uzI7Nl4NeK2U/3EDsxg== X-Authority-Analysis: v=2.4 cv=GtFPO01C c=1 sm=1 tr=0 ts=69afec8c cx=c_pps a=+3WqYijBVYhDct2f5Fivkw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=4818-bhKfx29ZlxGCZ4A:9 a=QEXdDO2ut3YA:10 a=eYe2g0i6gJ5uXG_o6N4q:22 X-Proofpoint-ORIG-GUID: 5XdaLS6gU3d9CMoXxng8OCW27Zo_ganr X-Proofpoint-GUID: 5XdaLS6gU3d9CMoXxng8OCW27Zo_ganr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100086 Kaanapali SoCCP will extend the list for smem properties, add SMEM properties "qcom,smem-states" and "qcom,smem-state-names" to documents that reference to pas-common and add maxItems constraints. Signed-off-by: Jingyi Wang --- Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml | 8 ++++= ++++ .../devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml | 8 ++++= ++++ .../devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml | 8 ++++= ++++ Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml | 8 ++++= ++++ 13 files changed, 104 insertions(+) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/= Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml index 16c35e15ee1b..7e8ecae8e6cb 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml @@ -73,6 +73,14 @@ properties: - const: handover - const: stop-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - memory-region diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.ya= ml b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml index f8e1b2b8e782..b24e6f6eaf37 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml @@ -68,6 +68,14 @@ properties: - description: Memory region for core Firmware authentication - description: Memory region for Devicetree Firmware authentication =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml index 5854b3d2041d..bf9bf1af9ff1 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml @@ -59,6 +59,14 @@ properties: maxItems: 1 description: Firmware name for the Hexagon core =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.= yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml index 4c6d32b1031c..6cc2f4b700e0 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml @@ -75,6 +75,14 @@ properties: - const: handover - const: stop-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml index cb0a61fc301d..b20780e5e26b 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml @@ -68,6 +68,14 @@ properties: - const: stop-ack - const: shutdown-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas= .yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml index c51010493bca..86ae0ae4864b 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml @@ -65,6 +65,14 @@ properties: - const: stop-ack - const: shutdown-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.ya= ml b/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml index 381ece510b0f..0b38194c0781 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml @@ -71,6 +71,14 @@ properties: $ref: /schemas/types.yaml#/definitions/string description: Firmware name for the Hexagon core =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml index 987fac433fae..454ba82bd6f1 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml @@ -71,6 +71,14 @@ properties: - const: stop-ack - const: shutdown-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml index 53ffb1ccd199..42e02c64347a 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml @@ -65,6 +65,14 @@ properties: - const: stop-ack - const: shutdown-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml index 6823a2a8d74e..274f87880e2e 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml @@ -61,6 +61,14 @@ properties: =20 smd-edge: false =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml index 8a1fae095a3b..5a7c5f8c92d1 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml @@ -81,6 +81,14 @@ properties: - const: stop-ack - const: shutdown-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml index 4ea7518db537..72d0db5698c5 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml @@ -75,6 +75,14 @@ properties: - const: stop-ack - const: shutdown-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml index d93e17fb5e89..f4832c2930ee 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml @@ -92,6 +92,14 @@ properties: - const: stop-ack - const: shutdown-ack =20 + qcom,smem-states: + maxItems: 1 + description: States used by the AP to signal the Hexagon core + + qcom,smem-state-names: + maxItems: 1 + description: The names of the state bits used for SMP2P output + required: - compatible - reg --=20 2.25.1 From nobody Thu Apr 9 07:17:16 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 394CE44CAD4 for ; Tue, 10 Mar 2026 10:03:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137042; cv=none; b=WPWIchR8LEsq7j6CG782fFpQtysxLCSE0NK/FgxGqRHTdr9MfQU7SrzE68QQEbcO6EbbAeAh3Crz7AnYVeSUw+3lG7XWYDXR87QyZINvCEAH6BW7TZbBXXVAGBUZpOkUXG/E1n6vxwOfDblkWDt5JYwMFastiLH1c7C7rJn8dJ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137042; c=relaxed/simple; bh=/c/UyI7L81ltfFwZEetruAY+F+wzy4xXdRI7ph5h4hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LDS/ciB7vDDsCaSBZlLckVqw5F0h3E4TQxJVPvThFXtjbRB7I8E4/X76LPX10mgtdByLL7+IGGQAK1iYsZjanLrIYux8P0WcBItDUU2Awfo+6M/6ezpbDx1PgS/gcKuDvC+fR/S+huGHsIOi3SxVF2fySFDboftuCuOpWcsHOxs= 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=D7/Y7R60; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZE+weRHi; arc=none smtp.client-ip=205.220.180.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="D7/Y7R60"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZE+weRHi" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A8xjF12020557 for ; Tue, 10 Mar 2026 10:03:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 0kJorjAJ947XMRE2ZD4Kr0S5lPFpMeg40ohfoNG0QyE=; b=D7/Y7R60AMRpfP/L V4GJzmC7HarC8IIQX8i1eZ7VSLlMRITfstmdeUVb1jz+jwDLRbzl/dQBXgdZ1+Tx 7nBPtEBKkiqN1hbvCXUXKvuG3Hz9zgfuWALUsyaMTVzrlH+/mODNassVz4thYs6l AxXTE/cHUl6RCP7bFloqKyijh5Ynk4LAbzQcrq+5czmzvvqN4X/EzVmhzzEg3kw2 TLRPm3W0zJDuq0TKVOwynpTM8Ovx0nJAZw9LQPJY4TB/9HXg2h+r3w/5j0xGUvYj 3lXFUROpXu49jAOA+eLqQ1OcUigEZpMmKD9pLLZ1Wn4KmHcNs7axL/DnZQNjPOUL 81vEJg== Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4csyhbupjk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 10:03:58 +0000 (GMT) Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7d742da766aso9499386a34.2 for ; Tue, 10 Mar 2026 03:03:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773137037; x=1773741837; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0kJorjAJ947XMRE2ZD4Kr0S5lPFpMeg40ohfoNG0QyE=; b=ZE+weRHikNsJZgr9zsI72JEJtyvzpfhhTBMSARUAtGTswaHJRGeUIfU6kgM0cTRmuU 1IyVP2bNHL7pD9wkM26JDUfApD/sCCZgecFXD4oRiMeNlBPsroTaWnEYRoDPZQbc72aT SnnlSLWqbWfvggYZgs0fOJN3J6CXI9uV30sWVyUO2ngU4oV9z9qUlKFGBmHXD/fN6fd/ Sc4QjJwvyJY9DYEiDcFI3HnJKfVPp4IoYsFV/qSq0kqA8Qzu34XeqTV8CB5E7qiwyIzb VTEVz159TQS5ydi6VjvYd9yBGz/i+kGk2CNdKWoFGBy6hYl10YlZ1xZFN2JsJZsrRPrc qUfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773137037; x=1773741837; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0kJorjAJ947XMRE2ZD4Kr0S5lPFpMeg40ohfoNG0QyE=; b=Z5Rmuz0+aYC27QoJblcs4iGOP6bE8tkQLN6rAAqjoapHL0WN/Z8wgtYsAWer8Y4Z94 hrM12DbZ1aYjTbdTHCqYsK6LhunG5IBrmA7skZy2tYENS63YqMR/Zii7//Nx8BeKv01y +gFIOThwEZzcUcuw8OkM2CkyqgBjc7A2OB4/yDdoiKhhcq1bZTd//wg2RK1DEa8lRTSw yP9mw23Q+06RDALOAODKMEIwYU9KSYMuk79l4p+ZRVI48byPT+geScn0pA2ctIoj5eHX POyC4l0TGANamvCKp2UJI8qcgKv5zrm8JXI+MN4oIXkXm/eFZSO/AHV9lcOGL8Tth7XD SaAw== X-Forwarded-Encrypted: i=1; AJvYcCUFAKm3bcKhjv0ln+aNa0+VYrSjuT5g5ffsqc4zfKCE0gOF+KOgUgkY+lmVSJANpCIswU1m0NdXmLC5VSs=@vger.kernel.org X-Gm-Message-State: AOJu0YyI6wqy1MMeJ8HyfUO0m0GLNKXsZC4fPoyTtPGIPyJb8KMj/GJC R6kbIQ3vC8mgvwagcI7w8+S8Hpp/zuLk/cR23ALt5waiAOg59BnM7igi+DvWtQNuhOsXuSVvwRc smmZvpGLSy/agC/rzfvqe2tb5YTRvoMy17+1xsPnT/F8FQ80oGsaF3qpGEvGJoo6UoXo= X-Gm-Gg: ATEYQzwsqZv/Wtq3AKonMZDWAanD8QI4111D6o/fffNveDdrEg88aws7ehkmC8AFxqO f8gWKnxIXH3lreIv6tDjBSoLLEy2lAB+xS05yGNxbkj1ngGIwJIkgaD2fqNDb19cCGV2SrFdXE4 F+oSrvS7gILSlgKDNUvmCxS9r4MHqoNGDHlT4kO8uFhc3YjdKXDeHnvyVhAHJb7dzns54CniFhX g3KdbI3o0c0c2FPndF6MIeGfQrc1gvIkOCbpUjHtZhicyQpXuFOLUPmmKlRf1mZKJs4wDPyngUE GQnynlCHPNHIYgC5sw+T6UubpVNY/F7G53GcpTkYVA6Ip4CIyf+9gwztCxZU2gC+Pvza7MxgccM pZu8Bu1wj/ALsBLZe5jskjZOvAkpBl4cyq2baIR2Ku4V/mKg6Eg0lJOWEKXsG6xEH0IDrZ4bv X-Received: by 2002:a05:6830:700b:b0:7d7:5405:193d with SMTP id 46e09a7af769-7d754052448mr2742105a34.24.1773137037364; Tue, 10 Mar 2026 03:03:57 -0700 (PDT) X-Received: by 2002:a05:6830:700b:b0:7d7:5405:193d with SMTP id 46e09a7af769-7d754052448mr2742083a34.24.1773137036960; Tue, 10 Mar 2026 03:03:56 -0700 (PDT) Received: from hu-jingyw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d746bdecbfsm4337611a34.10.2026.03.10.03.03.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:03:56 -0700 (PDT) From: Jingyi Wang Date: Tue, 10 Mar 2026 03:03:20 -0700 Subject: [PATCH v4 4/7] dt-bindings: remoteproc: qcom: Document pas for SoCCP on Kaanapali and Glymur platforms Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-knp-soccp-v4-4-0a91575e0e7e@oss.qualcomm.com> References: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> In-Reply-To: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Manivannan Sadhasivam , Luca Weiss , Bartosz Golaszewski , Konrad Dybcio Cc: aiqun.yu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, trilok.soni@oss.qualcomm.com, yijie.yang@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingyi Wang X-Mailer: b4 0.15-dev-3d134 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773137028; l=6431; i=jingyi.wang@oss.qualcomm.com; s=20250911; h=from:subject:message-id; bh=/c/UyI7L81ltfFwZEetruAY+F+wzy4xXdRI7ph5h4hg=; b=uTT2hPoQzbTro08TGhUpZgQUL/HS1hwALCyGHzyyIahXYdqXuGDdh68j8ViuQ1J9iMbfr8DXn VpNLJZTinW1Ai4gCXfFi+SHmTNe1WvybWzsHi2zimDMawtBPkmCZtfs X-Developer-Key: i=jingyi.wang@oss.qualcomm.com; a=ed25519; pk=PSoHZ6KbUss3IW8FPRVMHMK0Jkkr/jV347mBYJO3iLo= X-Authority-Analysis: v=2.4 cv=Rcmdyltv c=1 sm=1 tr=0 ts=69afec8e cx=c_pps a=7uPEO8VhqeOX8vTJ3z8K6Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=W4aiDoSXCVw5puFLoXQA:9 a=QEXdDO2ut3YA:10 a=EXS-LbY8YePsIyqnH6vw:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDA4NiBTYWx0ZWRfXxfK138ex8Zyh dARmDK9u8koZ1nHnHySvwUVjAc9jJDoJRuY8cTR3d6WJYwHCb+4RpgoALK63hx/eQsMFoguaudz KS0cV42dRqtrs3AY9jvOUmqatfR3cLSq3ZkYLPeuZKxdY7OtQgcauTE5muEmt+1cMy3vCHtR4vT PJU2X97aSu5HByVlsEe92mJ35O1YwXvF1MXOVyNqHqxmEHNjuOxPSQLz7T8QKGi16m2C3nyNrHS loPJkVmpOYMxFymM+t09z4AdvGt4XN4St3bjZlrdnQYt9NxgBxLmAMx9PunPNkb1/kGH4MKALtp P2qUwEn8wADu0q7yC+y0kGOfp5IaFk+LTTYyKm54t/isMNparbHBKmyqPojpcdeEnEBT0YRPDH+ l7oMaXsCulxv1D81uBntKnYM4PSG/R9iNr4zuDmPHLbDlCcgkDNER1OWq+X8E4+TG/rUgY8uwYW w0OXkhr7wAG6EpPsvIg== X-Proofpoint-GUID: 2-ZGxL0ZZ96rHK7GZv7N-HZLQldeLkSr X-Proofpoint-ORIG-GUID: 2-ZGxL0ZZ96rHK7GZv7N-HZLQldeLkSr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 suspectscore=0 spamscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 bulkscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100086 Document the component used to boot SoCCP on Kaanapali SoC and add compatible for Glymur SoCCP which could fallback to Kaanapali. Extend the "qcom,smem-states", "qcom,smem-state-names" in the pas-common. Signed-off-by: Jingyi Wang Reviewed-by: Krzysztof Kozlowski --- .../remoteproc/qcom,kaanapali-soccp-pas.yaml | 154 +++++++++++++++++= ++++ .../bindings/remoteproc/qcom,pas-common.yaml | 6 +- 2 files changed, 159 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,kaanapali-so= ccp-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,kaanapali-= soccp-pas.yaml new file mode 100644 index 000000000000..ce18460a949f --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/qcom,kaanapali-soccp-pas= .yaml @@ -0,0 +1,154 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/remoteproc/qcom,kaanapali-soccp-pas.yam= l# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Kaanapali SoCCP Peripheral Authentication Service + +maintainers: + - Jingyi Wang + +description: + The SoC Control Processor (SoCCP) is a small RISC-V MCU that controls USB + Type-C, battery charging and various other functions on Qualcomm SoCs, s= omewhat + analogous to traditional PC Embedded Controllers. This document describes + the Peripheral Authentication Service that loads and boots firmware for = SoCCP. + +properties: + compatible: + oneOf: + - items: + - enum: + - qcom,glymur-soccp-pas + - const: qcom,kaanapali-soccp-pas + - enum: + - qcom,kaanapali-soccp-pas + + reg: + maxItems: 1 + + clocks: + items: + - description: XO clock + + clock-names: + items: + - const: xo + + power-domains: + items: + - description: CX power domain + - description: MX power domain + + power-domain-names: + items: + - const: cx + - const: mx + + firmware-name: + items: + - description: Firmware name of the SoC Control Processor + - description: Firmware name of the SoCCP Devicetree + + memory-region: + items: + - description: Memory region for main Firmware authentication + - description: Memory region for Devicetree Firmware authentication + + interrupts: + items: + - description: Watchdog interrupt + - description: Fatal interrupt + - description: Ready interrupt + - description: Handover interrupt + - description: Stop acknowledge interrupt + - description: Pong interrupt + + interrupt-names: + items: + - const: wdog + - const: fatal + - const: ready + - const: handover + - const: stop-ack + - const: pong + + qcom,smem-states: + minItems: 2 + description: States used by the AP to signal the SoC Control Processor + + qcom,smem-state-names: + minItems: 2 + description: The names of the state bits used for SMP2P output + +required: + - compatible + - reg + - memory-region + - power-domains + - power-domain-names + +allOf: + - $ref: /schemas/remoteproc/qcom,pas-common.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + #include + #include + #define IPCC_MPROC_SOCCP + + remoteproc@d00000 { + compatible =3D "qcom,kaanapali-soccp-pas"; + reg =3D <0x00d00000 0x200000>; + + clocks =3D <&rpmhcc RPMH_CXO_CLK>; + clock-names =3D "xo"; + + interrupts-extended =3D <&intc GIC_SPI 167 IRQ_TYPE_EDGE_RISING>, + <&soccp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&soccp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, + <&soccp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, + <&soccp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, + <&soccp_smp2p_in 9 IRQ_TYPE_EDGE_RISING>; + interrupt-names =3D "wdog", + "fatal", + "ready", + "handover", + "stop-ack", + "pong"; + + memory-region =3D <&soccp_mem>, + <&soccp_dtb_mem_mem>; + + firmware-name =3D "qcom/kaanapali/soccp.mbn", + "qcom/kaanapali/soccp_dtb.mbn"; + + power-domains =3D <&rpmhpd RPMHPD_CX>, + <&rpmhpd RPMHPD_MX>; + power-domain-names =3D "cx", + "mx"; + + qcom,smem-states =3D <&soccp_smp2p_out 0>, + <&soccp_smp2p_out 8>; + qcom,smem-state-names =3D "stop", + "ping"; + + glink-edge { + interrupts-extended =3D <&ipcc IPCC_MPROC_SOCCP + IPCC_MPROC_SIGNAL_GLINK_QMP + IRQ_TYPE_EDGE_RISING>; + mboxes =3D <&ipcc IPCC_MPROC_SOCCP + IPCC_MPROC_SIGNAL_GLINK_QMP>; + + label =3D "soccp"; + qcom,remote-pid =3D <19>; + + /* ... */ + }; + }; diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.y= aml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml index dc5a9981c12c..e81ef400555a 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml @@ -46,13 +46,17 @@ properties: qcom,smem-states: $ref: /schemas/types.yaml#/definitions/phandle-array description: States used by the AP to signal the Hexagon core + minItems: 1 items: - - description: Stop the modem + - description: Stop the remoteproc + - description: ping the remoteproc =20 qcom,smem-state-names: description: The names of the state bits used for SMP2P output + minItems: 1 items: - const: stop + - const: ping =20 smd-edge: $ref: /schemas/remoteproc/qcom,smd-edge.yaml# --=20 2.25.1 From nobody Thu Apr 9 07:17:16 2026 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 78F2436F415 for ; Tue, 10 Mar 2026 10:04:00 +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=1773137043; cv=none; b=Vap2gajBbEQoJoQzVfXkiy1u3W+dLaAjNnfFHdu7iiUiHtVYqhyuB6XiRogJY96mEGR4dQL9Eo3Z7cw8edSs2tauUUcYOoWiHdlk5qVTLI0orUFcap8VYUU2bUSXP0Qrj4+/qm9Nhq4zW91X+y6MoHAOgqFcriCvnwx3I5DIqx8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137043; c=relaxed/simple; bh=rzsNgR6Z6A/Aj1a072eRukiJnHk7bSbHljNSQavXzas=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=L04u5RtYu9orsRj+LwNS0Y6+YSxZabjEXWCC5t1ixa6xhKJ7vRfnsMZSdZlB9Sro9M+kh3V3KcMa2sLxFbAMSs6ZRGsi3qabpQy9hmkYy7MIiaddRa8CEsWb2DYlTJhVisCIxJPVuBGXz2TAez+01swaSFK/m1esgM2bqk7nJZ4= 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=hnEASL3n; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HJdoiV7G; 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="hnEASL3n"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HJdoiV7G" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A8t9TR3087371 for ; Tue, 10 Mar 2026 10:03:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= cSyEvOaRy4tLHYAdmpC9LN2SAkF2AsDq+mYwWTIqqSo=; b=hnEASL3nrKGDU+mF lKKGhYaV3N+9pcz4LqZqUgeHDQPaSN6/O8XeEtKxng00ab/HufzIbvlxRpur1bmy ApzY+foD6GmDUSjpkCG/ZATJ0wJ29rVWQ/dZ+1bqGJHDmwvpj8Oj1AkcpngHqOcq EH+YcbbFbI15K7AgDxBDQqJoYwcGk/tDuUFDvGZaXR/+q+igKHONRyn0ggvn/we8 eevKqfBHraN8eQnjXkK8VPFi1POwDpHfN0R9wELxMCSD4IYDHyrOuAU1z6tIMKol Phyt457FExiL8Qcym/zJasDOhAXBOOYpXVr3zRq0MeoGGRt1w9iE4nQvDvCa9Nze GhcHOw== Received: from mail-ot1-f72.google.com (mail-ot1-f72.google.com [209.85.210.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4csxy83vxj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 10:03:59 +0000 (GMT) Received: by mail-ot1-f72.google.com with SMTP id 46e09a7af769-7d7438fc7f0so8565177a34.0 for ; Tue, 10 Mar 2026 03:03:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773137039; x=1773741839; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=cSyEvOaRy4tLHYAdmpC9LN2SAkF2AsDq+mYwWTIqqSo=; b=HJdoiV7GyElXoall6giqbKxE51ZRRoJfspFrwX1wZjJED23jTqvkJR+jKqOa3wXKji AK4P40GyxDS7DYzIwAxIg9Ct9vIP4Y/R4R68FocTyyQct++cN1uTBAxp4atNvLZTLbRr YLRVv13g32WkfCNqTPM5jxTGIoCV5Nxy0l+LRf7aQOFjwU0kAM7IJx3uHX2arrU2HxHm D18zU+eyqdIPnvFUubeAgfqH4g876urjCbqNATd8+0i+dZ77OWYq+TD6UItx0uXhZL9w YWZ/2NhsZbvY7FLYlgB+CXzJyyIuddULMUCzZrMnv6WaxPanImgIpxmyr7Mvs/rNn7ks 3KTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773137039; x=1773741839; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=cSyEvOaRy4tLHYAdmpC9LN2SAkF2AsDq+mYwWTIqqSo=; b=Sx5q9fmbnYi0vVx632a5az0rB5UKg6WFNNxk+BezLd3Lbzyu2q/0/a5S49ivXuLD2w SPCRJwTmZQM5G+9tNfLGkR2o8VnsTlv4y+P5JT8TWBSDK9eijKJmfa+kkkS0ow1sU9yD 9dlsgMGU0TptmTNCNDtkWwRIp9W0jpfVq3mqcv9QO9mT6kdJlnv/r520YYls0UP8heBd FKjWwjYvx6YemU/xEgrjDYLh5Q/20FONEgSsVjwxRCMQdrmWNUfqvyOFK8Noh8Gqxo93 7RZLFpvmSAgTYiHuwcWSUl4zh3V0rWvSWX4FHDn07bnBqOkOPCCl+W+MaqRyYY+7OQxx KwJQ== X-Forwarded-Encrypted: i=1; AJvYcCVnbKg9M7IDdSxQ7UN/xH5IboisUjAOcvCk+V2oPk5Foiogyfuc65YGQvfZ5qaKTakdMxx33458A9zP2Xs=@vger.kernel.org X-Gm-Message-State: AOJu0YwFECt/PUdzNy+xPOSes0l3hhq7Hj/kZbrJtBJvfRQDC4iNyWNQ GX2NbMLxW2hRKd+b/QxB5WbEZXOZDXmWXP1TFnFKi3JjOQvq4oGQ1E1FWEbSC1c9L69qk2Z2sZc xsAqazaARzTl3hU5Ho302hKC7EY0K9Gi4epK+RPnrwAKx5JAr1SwgCo1StMh3HiTMK44= X-Gm-Gg: ATEYQzy8IcdnAy9to+iyslksuEr3KFDmB4GEAgCKui7LvNFqwnX8RbPRMV5a6njomYm NIM0eGkvH+eO1VPSYAqnb0exel19/8nhNWIWqbEhUrrgfZQyevgvrfsxr/JMieN7OYem4+jng06 cOy/XA7Ln/QQuidog9R78eH4VGXg0yNDtWeA1LiDuwXNbuD1T/pV2rNz+kXymIKhxGsQ11CatcK fe/jjkSrpv8ogyAlvfQY8qLPEfz48duN/lLUOxZCDmA2zjV/O5lmhPkwBQW+9FOc5yNZKf+nHqQ T3Aaf5lLIu7V2MgdtDt/k/2dhYttR9LkQiIuUd8H+5FYubNABIcYfQ7t/pc2Vi97Y2JzLVjsMfE wwGfD2JrpRcNvhDaCPqLq9baBjQCI+JovGSMgvIAQXJixD9IV8Y8vOzXqY/ZWVYOl7odimB+n X-Received: by 2002:a05:6830:7105:b0:7d7:5bb2:5690 with SMTP id 46e09a7af769-7d75bb25a54mr1354140a34.32.1773137038822; Tue, 10 Mar 2026 03:03:58 -0700 (PDT) X-Received: by 2002:a05:6830:7105:b0:7d7:5bb2:5690 with SMTP id 46e09a7af769-7d75bb25a54mr1354122a34.32.1773137038434; Tue, 10 Mar 2026 03:03:58 -0700 (PDT) Received: from hu-jingyw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d746bdecbfsm4337611a34.10.2026.03.10.03.03.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:03:58 -0700 (PDT) From: Jingyi Wang Date: Tue, 10 Mar 2026 03:03:21 -0700 Subject: [PATCH v4 5/7] remoteproc: core: set recovery_disabled when doing rproc_add() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-knp-soccp-v4-5-0a91575e0e7e@oss.qualcomm.com> References: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> In-Reply-To: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Manivannan Sadhasivam , Luca Weiss , Bartosz Golaszewski , Konrad Dybcio Cc: aiqun.yu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, trilok.soni@oss.qualcomm.com, yijie.yang@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingyi Wang X-Mailer: b4 0.15-dev-3d134 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773137028; l=4033; i=jingyi.wang@oss.qualcomm.com; s=20250911; h=from:subject:message-id; bh=rzsNgR6Z6A/Aj1a072eRukiJnHk7bSbHljNSQavXzas=; b=Jzix9uCWHDIGpLCMXn05f5ROaQDrbF384LqjJL15BhtSgwCkjPUJsgHSJdwDTgYF06xIAZQfq ebOnNacLrskAFkYuWfpAYTXwtV/kNRsKqQ0D5DXHfPJ+6Sspenk/3ZC X-Developer-Key: i=jingyi.wang@oss.qualcomm.com; a=ed25519; pk=PSoHZ6KbUss3IW8FPRVMHMK0Jkkr/jV347mBYJO3iLo= X-Authority-Analysis: v=2.4 cv=SvmdKfO0 c=1 sm=1 tr=0 ts=69afec8f cx=c_pps a=+3WqYijBVYhDct2f5Fivkw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=zG7gVldhHEX73meJmK4A:9 a=QEXdDO2ut3YA:10 a=eYe2g0i6gJ5uXG_o6N4q:22 X-Proofpoint-GUID: gDJM--Oj5f4qKzxipft4XdXUBxvx0Q2- X-Proofpoint-ORIG-GUID: gDJM--Oj5f4qKzxipft4XdXUBxvx0Q2- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDA4NiBTYWx0ZWRfX0KmybKELBvsf 4pbWaq5W99hBq/JyS9LhC97D5CsHlS2WcBuJsroDXvY5qEF18Zu71tQ0lAAjZJDrQt6gJt8vz7S AN9X60YwwKEcNu+xglKfq4gp4UxAwW/Aa1Y2cXX0rwdr1IBjmUeafFogtpmL1uSMl0CQEkOEdnj ZmP3rgkcIXbNI1E+sKuf31GKSTTPXM8Lxvl+ywQdLKKls+YEj3+aSQNP2OArn0rvJcrsbTS8XYv lmUNbZhdDPI+ttdgorarRonjnCdWUwsEzm5zEHCrtB3Xl9/6vibJmqt1GClRtaSMGezsadniZFt sypthGU1QtVP/5NS7R7GaKJFOpHKY5nRb1NkAJB44N+znjUK6BIa8OX4/NUuDLHAPdwuEi8lXBo Z2JY/VslDeHqzEnYUgnAr/W92yNVhiCDeNnMgMr4Jvt+w6qDCNs/+8VjsN3sA6Ng1AcPQXbuSfy nqAF7uppKz/9qCzzXQA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 spamscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100086 rproc_add() called by rproc probe function failure will tear down all the resources including do device_del() and remove subdev etc. If rproc_report_crash() is called in this path, the rproc_crash_handler_work could be excuted asynchronously, rproc_boot_recovery()->rproc_stop() will be called with recovery enabled, which may cause NULL pointer dereference if the resource has already been cleaned up. [ 5.251483] Unable to handle kernel NULL pointer dereference at virtual = address 0000000000000300 [ 5.260499] Mem abort info: [ 5.263384] ESR =3D 0x0000000096000006 [ 5.267248] EC =3D 0x25: DABT (current EL), IL =3D 32 bits [ 5.272711] SET =3D 0, FnV =3D 0 [ 5.275865] EA =3D 0, S1PTW =3D 0 [ 5.279106] FSC =3D 0x06: level 2 translation fault [ 5.284125] Data abort info: [ 5.287101] ISV =3D 0, ISS =3D 0x00000006, ISS2 =3D 0x00000000 [ 5.292742] CM =3D 0, WnR =3D 0, TnD =3D 0, TagAccess =3D 0 [ 5.297939] GCS =3D 0, Overlay =3D 0, DirtyBit =3D 0, Xs =3D 0 [ 5.303400] user pgtable: 4k pages, 48-bit VAs, pgdp=3D000000089e086000 [ 5.310022] [0000000000000300] pgd=3D080000089e087403, p4d=3D080000089e0= 87403, pud=3D080000089e088403, pmd=3D0000000000000000 [ 5.320917] Internal error: Oops: 0000000096000006 [#1] SMP [ 5.392494] Hardware name: Qualcomm Technologies, Inc. Kaanapali QRD (DT) [ 5.399466] Workqueue: rproc_recovery_wq rproc_crash_handler_work [ 5.405729] pstate: 23400005 (nzCv daif +PAN -UAO +TCO +DIT -SSBS BTYPE= =3D--) [ 5.412879] pc : qcom_glink_smem_unregister+0x14/0x48 [qcom_glink_smem] [ 5.419674] lr : glink_subdev_stop+0x1c/0x30 [qcom_common] [ 5.425308] sp : ffff800080ffbc90 [ 5.428724] x29: ffff800080ffbc90 x28: ffff00081be833f0 x27: ffff0008000= 59c00 [ 5.436053] x26: 0000000000000000 x25: ffff000800a56f80 x24: 61c8864680b= 583eb [ 5.443384] x23: ffff00081be83038 x22: 0000000000000001 x21: ffff00081be= 83000 [ 5.450714] x20: ffff00081be833c0 x19: 0000000000000000 x18: 00000000000= 00010 [ 5.458043] x17: 0000000000000000 x16: 0000000000000000 x15: ffff0008042= 684f8 [ 5.465374] x14: 00000000000002dd x13: ffff0008042684f8 x12: ffffd37f69f= 967a0 [ 5.472705] x11: ffffd37f6a006800 x10: ffffd37f69fee7c0 x9 : ffffd37f69f= ee818 [ 5.480036] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 00000000000= 00001 [ 5.487366] x5 : ffff000d6536d408 x4 : 0000000000000001 x3 : 00000000000= 00000 [ 5.494697] x2 : ffffd37f5703c18c x1 : 0000000000000001 x0 : 00000000000= 00000 [ 5.502028] Call trace: [ 5.504549] qcom_glink_smem_unregister+0x14/0x48 [qcom_glink_smem] (P) [ 5.511344] glink_subdev_stop+0x1c/0x30 [qcom_common] [ 5.516622] rproc_stop+0x58/0x17c [ 5.520127] rproc_trigger_recovery+0xb0/0x150 [ 5.524693] rproc_crash_handler_work+0xa4/0xc4 [ 5.529346] process_scheduled_works+0x18c/0x2d8 [ 5.534092] worker_thread+0x144/0x280 [ 5.537952] kthread+0x124/0x138 [ 5.541280] ret_from_fork+0x10/0x20 [ 5.544965] Code: a9be7bfd 910003fd a90153f3 aa0003f3 (b9430000) [ 5.551224] ---[ end trace 0000000000000000 ]--- So set recovery_disabled during rproc_add(). Signed-off-by: Jingyi Wang --- drivers/remoteproc/remoteproc_core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remo= teproc_core.c index b087ed21858a..f66dde712cec 100644 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@ -2286,7 +2286,10 @@ int rproc_add(struct rproc *rproc) { struct device *dev =3D &rproc->dev; int ret; + bool rproc_recovery_save; =20 + rproc_recovery_save =3D rproc->recovery_disabled; + rproc->recovery_disabled =3D true; ret =3D rproc_validate(rproc); if (ret < 0) return ret; @@ -2319,6 +2322,7 @@ int rproc_add(struct rproc *rproc) list_add_rcu(&rproc->node, &rproc_list); mutex_unlock(&rproc_list_mutex); =20 + rproc->recovery_disabled =3D rproc_recovery_save; return 0; =20 rproc_remove_dev: --=20 2.25.1 From nobody Thu Apr 9 07:17:16 2026 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 7781644E045 for ; Tue, 10 Mar 2026 10:04:02 +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=1773137046; cv=none; b=Uj8N7t6dISO77VRWSfnNWbcmvAXzN4SMklOqKxB4VDrIKsvYiQGSXDil4oY8QpBgvlOV5sMPlX1DCYWdf1tsBZBeMFXacpLU7GvWCExklo9ZV9jkv/670+miDe5F0ZjceqoqmmVo07n+YFI5+gaCF/SMXZLzTBnrJQ8ijm5sBDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137046; c=relaxed/simple; bh=t9eMrUtXNmy/fY4ijryz8rWuZqpKMZesRaQNHKoo6RM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T7uZ9c1If1NZYIDj8RsQeaynGuA4cqP+N8KjJWzB8ApdLNE3aqC+irfx6rN+YCUXLyybWs1fG7mG8hJP7FFuzpgZ24wFKrG2GD6hw6WUh7ioXCewAurphofOj/WxnuAyRtd9nQHWJ3Ij0uOQUUKotyRMIjhg3B9PWwpl7T7xwDo= 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=eZ5MAP7j; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Bgho/XHa; 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="eZ5MAP7j"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Bgho/XHa" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A8r4VW2460625 for ; Tue, 10 Mar 2026 10:04:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wUBswidzoqbPNal7luIOGx1YD2irRnbNMuEgZlRAQyM=; b=eZ5MAP7jFuMP6DxZ xecT2sROpo/e0f4tLdNHSIC0T/EcJ9A4dOPxeRspoFxtuvkvJktuBt9ybW3G9WKi fnEuY6AZ9GFi3lvZ7HCwIFfhOw1NS3Aveu5OonofV8RyMPYyGGZLJr2VtkGL1e3b oKbEMrOTEY1Lyhj9SWn0z3JWA3hQdsU2X8R4vvZu4DVkJgcunkgcXjIHfON5dfet Ga1edBb1vr+dWA9ShdBZIvmNsK0M4SsxLY5W1ryMDHZ2RdEnxCClakvXsdjFnWcT 05ie/UZZHOKdeMjzyFTOzRVV546kB0WUy/y4sccKiWCPaiReAxZew7MJLlFOBz0r j6KJFA== Received: from mail-ot1-f72.google.com (mail-ot1-f72.google.com [209.85.210.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4csyv1bpyk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 10:04:01 +0000 (GMT) Received: by mail-ot1-f72.google.com with SMTP id 46e09a7af769-7d75b6b8500so7022970a34.2 for ; Tue, 10 Mar 2026 03:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773137041; x=1773741841; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=wUBswidzoqbPNal7luIOGx1YD2irRnbNMuEgZlRAQyM=; b=Bgho/XHau8lY+PcjL4gJ7HVvKaJFyZqG9T4Qm43JEgHYnPYlHdim3q3HsVnZ8kW/0Z yTVU3SLQRfwrLDKMFgVt5Muz7irRz0lVaMLXgTo/jVqyKlFsktBUwS8F7ighWtUEHelW F8PQKjWb4/vIEART4e17WZVSpEjKwM7N+gjcUc29xTiOtjFyH6vgumxkr3c5uXNkydfp kdStiJtOxuKaxjM9WpFYHeb39HKJ+pC3CGmgomMrtD71Was05dtl6IEmKngYpJnW/D6b QLdT0CWTG1t6OQ/TVx/EDmwRkpp4nTCZDcZcag8wt3PsbscCVmDzyKC+9Y3tTYKXfvYw EmVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773137041; x=1773741841; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=wUBswidzoqbPNal7luIOGx1YD2irRnbNMuEgZlRAQyM=; b=o5OiTMJf8SevPy9uSX++6og1HjlFbgssd2rjt41x4W6Tw7vuD/poBTAQyZb/ebS7xh rtRGb4G7lygLAoVi7m6U/SNBM+4O3LKCBEMEYcW+Do9aYclP1+FdnfRcEJmZlxr58vzh ZlF0/mbPZO36GsEGs64DRoR/SB7pGGH2EPiEiqUo/p0+xjtknBcXC1u5yGbtsQRLFlij p5IPII/kMtOsqVF2+n6+cu3vKYIjWIPaGyqN9fcV/zpE1hhxn1r5qcw98w2/gYdQ9YlY nlXX8IkBw585WUBGS9PZzlg8ocRsMF7gOQ6ag8bge5zhzZcL5NzzD10i6lmqsF3ggV7H 53tw== X-Forwarded-Encrypted: i=1; AJvYcCVliVjO4yBrATUMoKLAStjHEQ95SQ8SISnP7YMQgsLE9riZz4k4fA6hSwj5gGNoiEl+aCCr2xPsI6UkNw8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx8wmPwvRNI9OnNEjFAZE4kDXs8NoH0qE7IVFAGK0wa8aRUdq2g YCKkG0iSB9yp9yFKLjUrZiK9sK2b/2WRcAiw67eiFCAaJqQ5MKB7eBSw40Uv+kSu0jOebDaupaf Z7BhvsQxiI/HL2/ZqRdFo51kGTdhzwoH35DayM2UP7k/qRmXTRTDJyEUpfU68LyiyRII= X-Gm-Gg: ATEYQzyD+QmuXmA0uo9LxkJU1xBMI5KHwOFqro6KtjYLheOu7Rgn3uqgsML7hNDgQ91 fiznRk2TZMEVxdfXtcwfZuIVcd0Bg4uoXyxMj6C5jcux8Um38Qmx8MnplXVEGrRByNc1HUkvSid I0Y4QSctAI+bGhigKETxvkvAstIci5ijBNkGhW8Qi8W0fYtK4jZaz2A4nDsMn7u3ubnSp/IXYuv MJ2SLNTSzDR9LHF4ScgBBAMJTsNzESLsf98xhJeN9XJrqmORjM2Hh23mKYz6fkywDWLyz0G1Rny EqrTLA+D2HPnL6un/TwsXAmH/5nx9GH9i2I4fTLr2+3N7bxrNKtY/shuCssRA5UdfdwernJcEcK n83kemBMY9ynybFhurFndKxV26kRZCJ7W/4tz5iVh70IoVdEkg3oQQj/VDrvmLgx/Bd6GHLB0 X-Received: by 2002:a05:6830:6b09:b0:7d7:4f9d:54a7 with SMTP id 46e09a7af769-7d74f9d639cmr3967062a34.28.1773137040637; Tue, 10 Mar 2026 03:04:00 -0700 (PDT) X-Received: by 2002:a05:6830:6b09:b0:7d7:4f9d:54a7 with SMTP id 46e09a7af769-7d74f9d639cmr3967043a34.28.1773137040197; Tue, 10 Mar 2026 03:04:00 -0700 (PDT) Received: from hu-jingyw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d746bdecbfsm4337611a34.10.2026.03.10.03.03.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:03:59 -0700 (PDT) From: Jingyi Wang Date: Tue, 10 Mar 2026 03:03:22 -0700 Subject: [PATCH v4 6/7] remoteproc: qcom: pas: Add late attach support for subsystems Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-knp-soccp-v4-6-0a91575e0e7e@oss.qualcomm.com> References: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> In-Reply-To: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Manivannan Sadhasivam , Luca Weiss , Bartosz Golaszewski , Konrad Dybcio Cc: aiqun.yu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, trilok.soni@oss.qualcomm.com, yijie.yang@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingyi Wang , Gokul Krishna Krishnakumar X-Mailer: b4 0.15-dev-3d134 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773137028; l=14277; i=jingyi.wang@oss.qualcomm.com; s=20250911; h=from:subject:message-id; bh=9ih3y25HTDZ5f154MkriFpwHfDjyiSzVp5js9La0Zo0=; b=yoj8wg2JjGdYR0r/OEEut4aFo2A8ewCCtrzuQHglbvp+3ANX4deqhQpxNfBvIlP8pqJ1z83hY qEeY+rO5748B5is0AFqTZa1F/qsIprOaKzUbr0xajaWFF5ZR6FkvI7W X-Developer-Key: i=jingyi.wang@oss.qualcomm.com; a=ed25519; pk=PSoHZ6KbUss3IW8FPRVMHMK0Jkkr/jV347mBYJO3iLo= X-Proofpoint-GUID: XXiqSiEvZV13m2kIZkBcn3oNNVtNmXZY X-Proofpoint-ORIG-GUID: XXiqSiEvZV13m2kIZkBcn3oNNVtNmXZY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDA4NiBTYWx0ZWRfX9DmblnsY3DEv fgutexNPyy6jGBYKj2AdXzv0Te+Oe9LwRH/kCMZ2UamK3vzAUvDqItiPEH6OVIPUoJDUH5IsI1Y E6QQsaQbQmolalYwvXyhibnkWLAEOOp0BMITf/qFlbCXvpr6fCIVavOykA5hOZGPHaceWVFl0At pSZ4hIUGTI2JohPUzyqoPJHolvgZ7w8FzwqTzRHHuMi4HbD5usH99fsdRlhJEmIX6JuLrgudFpO h2L8p+rNG8ODds81CgjpsHT/U8Sg1rAJvjnnvasVTNk1Lg/olk4UwGsddfnUSMycJ/cne77nW4b n9a5BK8cL0FSoVhSLpF5Yeo2a8a6zYBqRfYyhSrrJ/NpLVgmBrDbYXCuHXSvRN3uubR1Shi7nU3 KBsJjIwDW6f0yxWzdbYpxX3rmTSxV9PAQMzptiTgatCwSWmW7GvZf29aFcvMrJbUJT+HK5po6dE 19bRZOQQoyJfqyMBheg== X-Authority-Analysis: v=2.4 cv=Cuays34D c=1 sm=1 tr=0 ts=69afec91 cx=c_pps a=+3WqYijBVYhDct2f5Fivkw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=x8meLMyhUKYFESlZP2wA:9 a=QEXdDO2ut3YA:10 a=eYe2g0i6gJ5uXG_o6N4q:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 spamscore=0 adultscore=0 priorityscore=1501 phishscore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100086 From: Gokul Krishna Krishnakumar Subsystems can be brought out of reset by entities such as bootloaders. As the irq enablement could be later than subsystem bring up, the state of subsystem should be checked by reading SMP2P bits and performing ping test. A new qcom_pas_attach() function is introduced. if a crash state is detected for the subsystem, rproc_report_crash() is called. If the subsystem is ready either at the first check or within a 5-second timeout and the ping is successful, it will be marked as "attached". The ready state could be set by either ready interrupt or handover interrupt. If "early_boot" is set by kernel but "subsys_booted" is not completed within the timeout, It could be the early boot feature is not supported by other entities. In this case, the state will be marked as RPROC_OFFLINE so that the PAS driver can load the firmware and start the remoteproc. As the running state is set once attach function is called, the watchdog or fatal interrupt received can be handled correctly. Signed-off-by: Gokul Krishna Krishnakumar Co-developed-by: Jingyi Wang Signed-off-by: Jingyi Wang --- drivers/remoteproc/qcom_q6v5.c | 88 +++++++++++++++++++++++++++++- drivers/remoteproc/qcom_q6v5.h | 17 +++++- drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- drivers/remoteproc/qcom_q6v5_mss.c | 2 +- drivers/remoteproc/qcom_q6v5_pas.c | 103 ++++++++++++++++++++++++++++++++= ++-- drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- 6 files changed, 204 insertions(+), 10 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5.c b/drivers/remoteproc/qcom_q6v5.c index 58d5b85e58cd..abfe3aa71042 100644 --- a/drivers/remoteproc/qcom_q6v5.c +++ b/drivers/remoteproc/qcom_q6v5.c @@ -20,6 +20,7 @@ =20 #define Q6V5_LOAD_STATE_MSG_LEN 64 #define Q6V5_PANIC_DELAY_MS 200 +#define Q6V5_PING_TIMEOUT_MS 500 =20 static int q6v5_load_state_toggle(struct qcom_q6v5 *q6v5, bool enable) { @@ -94,6 +95,9 @@ static irqreturn_t q6v5_wdog_interrupt(int irq, void *dat= a) size_t len; char *msg; =20 + if (q6v5->early_boot) + complete(&q6v5->subsys_booted); + /* Sometimes the stop triggers a watchdog rather than a stop-ack */ if (!q6v5->running) { complete(&q6v5->stop_done); @@ -118,6 +122,9 @@ static irqreturn_t q6v5_fatal_interrupt(int irq, void *= data) size_t len; char *msg; =20 + if (q6v5->early_boot) + complete(&q6v5->subsys_booted); + if (!q6v5->running) return IRQ_HANDLED; =20 @@ -139,6 +146,9 @@ static irqreturn_t q6v5_ready_interrupt(int irq, void *= data) =20 complete(&q6v5->start_done); =20 + if (q6v5->early_boot) + complete(&q6v5->subsys_booted); + return IRQ_HANDLED; } =20 @@ -172,6 +182,9 @@ static irqreturn_t q6v5_handover_interrupt(int irq, voi= d *data) if (q6v5->handover) q6v5->handover(q6v5); =20 + if (q6v5->early_boot) + complete(&q6v5->subsys_booted); + icc_set_bw(q6v5->path, 0, 0); =20 q6v5->handover_issued =3D true; @@ -234,6 +247,74 @@ unsigned long qcom_q6v5_panic(struct qcom_q6v5 *q6v5) } EXPORT_SYMBOL_GPL(qcom_q6v5_panic); =20 +static irqreturn_t q6v5_pong_interrupt(int irq, void *data) +{ + struct qcom_q6v5 *q6v5 =3D data; + + complete(&q6v5->ping_done); + + return IRQ_HANDLED; +} + +int qcom_q6v5_ping_subsystem(struct qcom_q6v5 *q6v5) +{ + int ret; + int ping_failed =3D 0; + + reinit_completion(&q6v5->ping_done); + + /* Set master kernel Ping bit */ + ret =3D qcom_smem_state_update_bits(q6v5->ping_state, + BIT(q6v5->ping_bit), BIT(q6v5->ping_bit)); + if (ret) { + dev_err(q6v5->dev, "Failed to update ping bits\n"); + return ret; + } + + ret =3D wait_for_completion_timeout(&q6v5->ping_done, msecs_to_jiffies(Q6= V5_PING_TIMEOUT_MS)); + if (!ret) { + ping_failed =3D -ETIMEDOUT; + dev_err(q6v5->dev, "Failed to get back pong\n"); + } + + /* Clear ping bit master kernel */ + ret =3D qcom_smem_state_update_bits(q6v5->ping_state, BIT(q6v5->ping_bit)= , 0); + if (ret) { + dev_err(q6v5->dev, "Failed to clear master kernel bits\n"); + return ret; + } + + return ping_failed; +} +EXPORT_SYMBOL_GPL(qcom_q6v5_ping_subsystem); + +int qcom_q6v5_ping_subsystem_init(struct qcom_q6v5 *q6v5, struct platform_= device *pdev) +{ + int ret =3D -ENODEV; + + q6v5->ping_state =3D devm_qcom_smem_state_get(&pdev->dev, "ping", &q6v5->= ping_bit); + if (IS_ERR(q6v5->ping_state)) { + dev_err(&pdev->dev, "Failed to acquire smem state %ld\n", + PTR_ERR(q6v5->ping_state)); + return PTR_ERR(q6v5->ping_state); + } + + init_completion(&q6v5->ping_done); + + q6v5->pong_irq =3D platform_get_irq_byname(pdev, "pong"); + if (q6v5->pong_irq < 0) + return q6v5->pong_irq; + + ret =3D devm_request_threaded_irq(&pdev->dev, q6v5->pong_irq, NULL, + q6v5_pong_interrupt, IRQF_TRIGGER_RISING | IRQF_ONESHOT, + "q6v5 pong", q6v5); + if (ret) + dev_err(&pdev->dev, "Failed to acquire pong IRQ\n"); + + return ret; +} +EXPORT_SYMBOL_GPL(qcom_q6v5_ping_subsystem_init); + /** * qcom_q6v5_init() - initializer of the q6v5 common struct * @q6v5: handle to be initialized @@ -242,12 +323,13 @@ EXPORT_SYMBOL_GPL(qcom_q6v5_panic); * @crash_reason: SMEM id for crash reason string, or 0 if none * @load_state: load state resource string * @handover: function to be called when proxy resources should be released + * @early_boot: true if the subsystem should be brought up by the bootload= er * * Return: 0 on success, negative errno on failure */ int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, struct rproc *rproc, int crash_reason, const char *load_state, - void (*handover)(struct qcom_q6v5 *q6v5)) + bool early_boot, void (*handover)(struct qcom_q6v5 *q6v5)) { int ret; =20 @@ -255,10 +337,14 @@ int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct pla= tform_device *pdev, q6v5->dev =3D &pdev->dev; q6v5->crash_reason =3D crash_reason; q6v5->handover =3D handover; + q6v5->early_boot =3D early_boot; =20 init_completion(&q6v5->start_done); init_completion(&q6v5->stop_done); =20 + if (early_boot) + init_completion(&q6v5->subsys_booted); + q6v5->wdog_irq =3D platform_get_irq_byname(pdev, "wdog"); if (q6v5->wdog_irq < 0) return q6v5->wdog_irq; diff --git a/drivers/remoteproc/qcom_q6v5.h b/drivers/remoteproc/qcom_q6v5.h index 5a859c41896e..69574a211710 100644 --- a/drivers/remoteproc/qcom_q6v5.h +++ b/drivers/remoteproc/qcom_q6v5.h @@ -17,22 +17,27 @@ struct qcom_q6v5 { struct rproc *rproc; =20 struct qcom_smem_state *state; + struct qcom_smem_state *ping_state; struct qmp *qmp; =20 struct icc_path *path; =20 unsigned stop_bit; + unsigned int ping_bit; =20 int wdog_irq; int fatal_irq; int ready_irq; int handover_irq; int stop_irq; + int pong_irq; =20 bool handover_issued; =20 struct completion start_done; struct completion stop_done; + struct completion subsys_booted; + struct completion ping_done; =20 int crash_reason; =20 @@ -40,10 +45,16 @@ struct qcom_q6v5 { =20 const char *load_state; void (*handover)(struct qcom_q6v5 *q6v5); + + bool early_boot; }; =20 -int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, - struct rproc *rproc, int crash_reason, const char *load_state, +int qcom_q6v5_init(struct qcom_q6v5 *q6v5, + struct platform_device *pdev, + struct rproc *rproc, + int crash_reason, + const char *load_state, + bool early_boot, void (*handover)(struct qcom_q6v5 *q6v5)); void qcom_q6v5_deinit(struct qcom_q6v5 *q6v5); =20 @@ -52,5 +63,7 @@ int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5); int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5, struct qcom_sysmon *sys= mon); int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout); unsigned long qcom_q6v5_panic(struct qcom_q6v5 *q6v5); +int qcom_q6v5_ping_subsystem(struct qcom_q6v5 *q6v5); +int qcom_q6v5_ping_subsystem_init(struct qcom_q6v5 *q6v5, struct platform_= device *pdev); =20 #endif diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_= q6v5_adsp.c index b5c8d6d38c9c..15b3cdf8c157 100644 --- a/drivers/remoteproc/qcom_q6v5_adsp.c +++ b/drivers/remoteproc/qcom_q6v5_adsp.c @@ -712,7 +712,7 @@ static int adsp_probe(struct platform_device *pdev) goto disable_pm; =20 ret =3D qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, - desc->load_state, qcom_adsp_pil_handover); + desc->load_state, false, qcom_adsp_pil_handover); if (ret) goto disable_pm; =20 diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q= 6v5_mss.c index 4e9eb5bd11fa..99d48d48c37f 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -2181,7 +2181,7 @@ static int q6v5_probe(struct platform_device *pdev) qproc->has_mba_logs =3D desc->has_mba_logs; =20 ret =3D qcom_q6v5_init(&qproc->q6v5, pdev, rproc, MPSS_CRASH_REASON_SMEM,= "modem", - qcom_msa_handover); + false, qcom_msa_handover); if (ret) goto detach_proxy_pds; =20 diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q= 6v5_pas.c index 46204da046fa..4700d111e058 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -36,6 +36,8 @@ =20 #define MAX_ASSIGN_COUNT 3 =20 +#define EARLY_ATTACH_TIMEOUT_MS 5000 + struct qcom_pas_data { int crash_reason_smem; const char *firmware_name; @@ -60,6 +62,7 @@ struct qcom_pas_data { int region_assign_count; bool region_assign_shared; int region_assign_vmid; + bool early_boot; }; =20 struct qcom_pas { @@ -423,13 +426,21 @@ static int qcom_pas_stop(struct rproc *rproc) =20 qcom_pas_unmap_carveout(rproc, pas->mem_phys, pas->mem_size); =20 - handover =3D qcom_q6v5_unprepare(&pas->q6v5); - if (handover) - qcom_pas_handover(&pas->q6v5); + /* + * qcom_q6v5_prepare is not called in qcom_pas_attach, skip unprepare to + * avoid mismatch. + */ + if (pas->rproc->state !=3D RPROC_ATTACHED) { + handover =3D qcom_q6v5_unprepare(&pas->q6v5); + if (handover) + qcom_pas_handover(&pas->q6v5); + } =20 if (pas->smem_host_id) ret =3D qcom_smem_bust_hwspin_lock_by_host(pas->smem_host_id); =20 + pas->q6v5.early_boot =3D false; + return ret; } =20 @@ -510,6 +521,80 @@ static unsigned long qcom_pas_panic(struct rproc *rpro= c) return qcom_q6v5_panic(&pas->q6v5); } =20 +static int qcom_pas_attach(struct rproc *rproc) +{ + int ret; + struct qcom_pas *pas =3D rproc->priv; + bool ready_state; + bool crash_state; + + pas->q6v5.running =3D true; + ret =3D irq_get_irqchip_state(pas->q6v5.fatal_irq, + IRQCHIP_STATE_LINE_LEVEL, &crash_state); + + if (!ret && crash_state) { + dev_err(pas->dev, "Sub system has crashed before driver probe\n"); + rproc_report_crash(rproc, RPROC_FATAL_ERROR); + ret =3D -EINVAL; + goto disable_running; + } + + if (!ret) + ret =3D irq_get_irqchip_state(pas->q6v5.ready_irq, + IRQCHIP_STATE_LINE_LEVEL, &ready_state); + + /* + * smp2p allocate irq entry can be delayed, irq_get_irqchip_state will ge= t -ENODEV, + * the 5 seconds timeout is set to wait for this, after the entry is allo= cated, smp2p + * will call the qcom_smp2p_intr and complete the timeout in the ISR. + */ + if (unlikely(ret =3D=3D -ENODEV) || unlikely(!ready_state)) { + ret =3D wait_for_completion_timeout(&pas->q6v5.subsys_booted, + msecs_to_jiffies(EARLY_ATTACH_TIMEOUT_MS)); + + /* + * The bootloader may not support early boot, mark the state as + * RPROC_OFFLINE so that the PAS driver can load the firmware and + * start the remoteproc. + */ + if (!ret) { + dev_err(pas->dev, "Timeout on waiting for subsystem interrupt\n"); + pas->rproc->state =3D RPROC_OFFLINE; + ret =3D -ETIMEDOUT; + goto disable_running; + } + + /* Only ping the subsystem if ready_state is set */ + ret =3D irq_get_irqchip_state(pas->q6v5.ready_irq, + IRQCHIP_STATE_LINE_LEVEL, &ready_state); + + if (ret) + goto disable_running; + + if (!ready_state) { + ret =3D -EINVAL; + goto disable_running; + } + } + + ret =3D qcom_q6v5_ping_subsystem(&pas->q6v5); + + if (ret) { + dev_err(pas->dev, "Failed to ping subsystem, assuming device crashed\n"); + rproc_report_crash(rproc, RPROC_FATAL_ERROR); + goto disable_running; + } + + pas->q6v5.handover_issued =3D true; + + return 0; + +disable_running: + pas->q6v5.running =3D false; + + return ret; +} + static const struct rproc_ops qcom_pas_ops =3D { .unprepare =3D qcom_pas_unprepare, .start =3D qcom_pas_start, @@ -518,6 +603,7 @@ static const struct rproc_ops qcom_pas_ops =3D { .parse_fw =3D qcom_pas_parse_firmware, .load =3D qcom_pas_load, .panic =3D qcom_pas_panic, + .attach =3D qcom_pas_attach, }; =20 static const struct rproc_ops qcom_pas_minidump_ops =3D { @@ -823,7 +909,7 @@ static int qcom_pas_probe(struct platform_device *pdev) pas->proxy_pd_count =3D ret; =20 ret =3D qcom_q6v5_init(&pas->q6v5, pdev, rproc, desc->crash_reason_smem, - desc->load_state, qcom_pas_handover); + desc->load_state, desc->early_boot, qcom_pas_handover); if (ret) goto detach_proxy_pds; =20 @@ -855,6 +941,15 @@ static int qcom_pas_probe(struct platform_device *pdev) =20 pas->pas_ctx->use_tzmem =3D rproc->has_iommu; pas->dtb_pas_ctx->use_tzmem =3D rproc->has_iommu; + + if (pas->q6v5.early_boot) { + ret =3D qcom_q6v5_ping_subsystem_init(&pas->q6v5, pdev); + if (ret) + dev_warn(&pdev->dev, "Falling back to firmware load\n"); + else + pas->rproc->state =3D RPROC_DETACHED; + } + ret =3D rproc_add(rproc); if (ret) goto remove_ssr_sysmon; diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_= q6v5_wcss.c index c27200159a88..859141589ed7 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -1011,7 +1011,7 @@ static int q6v5_wcss_probe(struct platform_device *pd= ev) if (ret) return ret; =20 - ret =3D qcom_q6v5_init(&wcss->q6v5, pdev, rproc, desc->crash_reason_smem,= NULL, NULL); + ret =3D qcom_q6v5_init(&wcss->q6v5, pdev, rproc, desc->crash_reason_smem,= NULL, false, NULL); if (ret) return ret; =20 --=20 2.25.1 From nobody Thu Apr 9 07:17:16 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 0D7C6453491 for ; Tue, 10 Mar 2026 10:04:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137046; cv=none; b=utMiHkykUIctuFLn5en43dCYHmvId/bXLN77H8sHbP1izpXEE2nkjfBlu3FughrZQOmZGRSIpPRaApa8uuGRtWFKTklXXMNnvVEZ1hv4H9BOw00VvZ+MgAInZxqC6daUUiGeZLUXF2YafCyWj2ZARBTyUJumZEQ48I//wLdpCPw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773137046; c=relaxed/simple; bh=Qki3/gbxeC0wNNfIOLYG0fdPkgVBFql/haBzvhMzN6g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cfGNjSeI9dGtfToq8ry3KuCFv9onzQHrGC/j0KUHgZEKl/npRhJSsFqZZs5rK97liVjf/OwJahXRINelQoTPOXoJXT06ahXs7QEo0XdSptG2OcmmqLxJ3Ys6VQ04gPRQ6UnQQoiANbY8mCPYrcoNN7cHPUDtwowPYO4MMpHmvQQ= 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=LDCCa37J; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SIGjqIl3; arc=none smtp.client-ip=205.220.180.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="LDCCa37J"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SIGjqIl3" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A8pcVx3690695 for ; Tue, 10 Mar 2026 10:04:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Vn8dFADlBLXUsARpMgo35Ilp2iUnE9H0E8H55YGOyzE=; b=LDCCa37JkWb3Dbt7 x5HVkDN5nIcF74bDfkrRqK+xVIQH/guhpkkHSU5OvzKNM8eRW+Ylploo906t4bur IU0ME8nY6mYD1DjDCpINisA/AJ/i9ms9AItIdmRcgqNO+oUjzgcc1tDxEcz25/e+ r0QOGpcm/hmpFIpSjjjillcDE4SO5NKfzx1Rw4a85/9D1AhYukP5P/caRwuN7SrR 4VlXI6ez1JVJOctepaMCrNAoxTHzpmEH1YpUYtOm3tEO26wARvIxeb+i5O7cEBGN lZPTcyhQ/cGzMzO88V9fJIcNX01SRbl61XmlT00MTyTUQYNKMHQ7KsvW/zpysaq4 p/cdZA== Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctg5ng9n2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 10:04:02 +0000 (GMT) Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7d73fd3b35cso20403273a34.0 for ; Tue, 10 Mar 2026 03:04:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773137042; x=1773741842; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Vn8dFADlBLXUsARpMgo35Ilp2iUnE9H0E8H55YGOyzE=; b=SIGjqIl3l6hJBE1oQrVHwnzoqPVdPwuMJACga+99lQBUU392cGbKylnGQU3ZPhsqYv iYeLxI8uNtx22id8NeOZ7GFMtCgKAK+n/zIny+TS5armua0T6rpeyUSnSquzAsdEMqj1 AKxRws3hpoB7yqa2WgwYyHtgwvK55ZjO1gaPqZNXsAc7pRT3V2OkxZ98oMNkrFk7D7dw LnTvIPZo1KW00s0ttX+Fx3e81ovbCjxeKeutBHQcPL3H4IjNtyp2V+TqUsqGSL/kdJnN KxkgBEQBqbDS2MJheIr4Z2de9381Fhuqwk17G/21VSaa6eUwR775efKmHLwn5B4SpKgt xdGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773137042; x=1773741842; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Vn8dFADlBLXUsARpMgo35Ilp2iUnE9H0E8H55YGOyzE=; b=SCCclwQE38Y/Nvrvr7NjrD2fwIRLEbHcXganuvTMv47GEOssZh5RJq99X2nvLsejXv ff3AQhPD4DcqYeIxPw3fxrV/QYvlMTD80+SEbsgJolCAGPvY6tPt5alED97m+sTXZqjw TLRlDosB3V2ZxM9je8ZvCmtAfi0ztrw8luVbGKOPty4pU48Cq0e6Na65QUMMjcKykIwE qRK6qFTiwqnov8A7i/yA9XUMn8ehi0JZZqC1H7rq8yEFuu7EcfM813e9m8IKNdU59lMm QH+vTAPBtbrL1jAR5EVjIRvY4qwmVevD6IpADRyVbciJq/yq4aNSVQ6APBXANfTJ6YGS hSKw== X-Forwarded-Encrypted: i=1; AJvYcCWymx0iyyOmRXsDQ2kDxdGitVlBqBdPBXbCyCN9Prs1gUMC7T6adqTdxjqBY5zQwQ/xzUXqzwTbh/Feibc=@vger.kernel.org X-Gm-Message-State: AOJu0YzfX/I1hlk0x1pmeRiVcqtM9gXnyk/u+vuG3DX9gWlegOzJyWM/ oZIZ+tKyarwOmBxVfHd7WbgisE4kzMlbJU/WWyyQk56vF9xrNge6ZuCr/NrWnATj4k32cm9lutu zUuR1C7aiKyOqIRXZ5mjqn1EHnpH4hogaIbH32lbFUbxmOXh1r8amp2+Z1hFY7DYlJBR6ybiv+x 6dCA== X-Gm-Gg: ATEYQzz1yQbHfHVk7lBaFm/vkc+5xF23sods2rPhWaIesiVSh4Bp9bhd4FCDK1nmUnj R+zsmmkG+eN3FghctwsJAjs8aFUk8jTDVzkPCglJcbLcWaAUon04LoL1j2XOIFxMX/hltWFcwFp bmBswKVTNxRinQzuCQbFL+3jp8ykdbyLsZiVsA+Q+vctLj0KJ7f4dBj7ess/048QrXCo9QRXnjK 2Q8tG7BD6clCfKvHBM1eFs919hT4zw7Q8Ocqgq2SzVQrHjo3LAe/c3qPHtj3Tmg9Qmzf/TOh+IM D3J0FZu7pKytUu6NrF3Qe5wmwy5E6QvGZsGfs/fEpmY9pN9W6+1iUgPouopf/eh6OaBl9yFQSC4 CE3+8oP0HZqhv5ewVRLZa5vYxfqnZ4zRFkBi4OrUH+x232SKo7T9fRUQWhuwjD+Kc1G3HkoyO X-Received: by 2002:a05:6830:2e05:b0:7d7:4666:69be with SMTP id 46e09a7af769-7d746666b8amr6009179a34.18.1773137042187; Tue, 10 Mar 2026 03:04:02 -0700 (PDT) X-Received: by 2002:a05:6830:2e05:b0:7d7:4666:69be with SMTP id 46e09a7af769-7d746666b8amr6009157a34.18.1773137041827; Tue, 10 Mar 2026 03:04:01 -0700 (PDT) Received: from hu-jingyw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d746bdecbfsm4337611a34.10.2026.03.10.03.04.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:04:01 -0700 (PDT) From: Jingyi Wang Date: Tue, 10 Mar 2026 03:03:23 -0700 Subject: [PATCH v4 7/7] remoteproc: qcom_q6v5_pas: Add SoCCP node on Kaanapali Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-knp-soccp-v4-7-0a91575e0e7e@oss.qualcomm.com> References: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> In-Reply-To: <20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Manivannan Sadhasivam , Luca Weiss , Bartosz Golaszewski , Konrad Dybcio Cc: aiqun.yu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, trilok.soni@oss.qualcomm.com, yijie.yang@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingyi Wang , Dmitry Baryshkov X-Mailer: b4 0.15-dev-3d134 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773137028; l=1647; i=jingyi.wang@oss.qualcomm.com; s=20250911; h=from:subject:message-id; bh=Qki3/gbxeC0wNNfIOLYG0fdPkgVBFql/haBzvhMzN6g=; b=63NZCz2HoyrpbgRCj7V1hnJNLOPV/aGp+Si/dIpCx9VFfD7tUReoPdHhbSHPgzO49FC93n0+E FifcvhdAN/5DmXlfeJSx/Whi6votTKz7x3NvddTOypIgi55iYyqZxQa X-Developer-Key: i=jingyi.wang@oss.qualcomm.com; a=ed25519; pk=PSoHZ6KbUss3IW8FPRVMHMK0Jkkr/jV347mBYJO3iLo= X-Proofpoint-GUID: 6jEC1bkO7_IFtU-pgf8c7e3YmaFsIvlo X-Authority-Analysis: v=2.4 cv=ervSD4pX c=1 sm=1 tr=0 ts=69afec92 cx=c_pps a=7uPEO8VhqeOX8vTJ3z8K6Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=-54vo4t_4OUFHp6kYXwA:9 a=QEXdDO2ut3YA:10 a=EXS-LbY8YePsIyqnH6vw:22 X-Proofpoint-ORIG-GUID: 6jEC1bkO7_IFtU-pgf8c7e3YmaFsIvlo X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDA4NiBTYWx0ZWRfX1txNgfw96hS5 yFSD2oj59v2Vr0oazh2DUIqQ/gyvt/mXY4VgDBss3de9150qGmMJ/jw5k+K01znfroCJwNB1V3s PDQUTAakb0g8wKEURhKESSuYixl4444We5d/4AY+919UiRa7YWZLv4C9cXg5gdnHBT7Rd0WT8ES o+/3Ue9kgcKF/UQg3tvycxsI6D9kTqNOVg3ssT7s2a8o2hZWF26vt+566YPOqxq/P5cFrM2cH+P ACwU6evOFX7SKjKjyIZUKbro/MdMpqo2OqXCzAuMuQpZJTt21EM0znIcFN5UMrsJllZMEnmNRYr UsHJZjfNv/SvyolTzVTeCs0r+anqV5rGmBJ1Q9FVWdZpv2ei6440k/tSaTwPl7sXJBH0Z/Lqr5J azHliCchPbCNgqbvTeE/bdUEvUgVPZZ2BgRaWAgmD6fsk7iJzKLh5Xigm99dv3/eYzGkjx36Wuz IshPxQh5ImqqasotMNg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100086 The SoC Control Processor (SoCCP) is small RISC-V MCU that controls USB Type-C, battery charging and various other functions on Qualcomm SoCs. It provides a solution for control-plane processing, reducing per-subsystem microcontroller reinvention. Add support for SoCCP PAS loader on Kaanapali platform. Reviewed-by: Dmitry Baryshkov Signed-off-by: Jingyi Wang --- drivers/remoteproc/qcom_q6v5_pas.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q= 6v5_pas.c index 4700d111e058..a5219dffcc7c 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -1625,7 +1625,25 @@ static const struct qcom_pas_data sm8750_mpss_resour= ce =3D { .region_assign_vmid =3D QCOM_SCM_VMID_MSS_MSA, }; =20 +static const struct qcom_pas_data kaanapali_soccp_resource =3D { + .crash_reason_smem =3D 656, + .firmware_name =3D "soccp.mbn", + .dtb_firmware_name =3D "soccp_dtb.mbn", + .pas_id =3D 51, + .dtb_pas_id =3D 0x41, + .proxy_pd_names =3D (char*[]){ + "cx", + "mx", + NULL + }, + .ssr_name =3D "soccp", + .sysmon_name =3D "soccp", + .auto_boot =3D true, + .early_boot =3D true, +}; + static const struct of_device_id qcom_pas_of_match[] =3D { + { .compatible =3D "qcom,kaanapali-soccp-pas", .data =3D &kaanapali_soccp_= resource}, { .compatible =3D "qcom,milos-adsp-pas", .data =3D &sm8550_adsp_resource}, { .compatible =3D "qcom,milos-cdsp-pas", .data =3D &milos_cdsp_resource}, { .compatible =3D "qcom,milos-mpss-pas", .data =3D &sm8450_mpss_resource}, --=20 2.25.1