From nobody Fri Sep 25 16:56:49 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 060773EA97E for ; Thu, 10 Sep 2026 09:47:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789033649; cv=none; b=BXgYGwu5EOPDaEJakfon67d51aycNtYgJDvRQJmYDF2aUT5TwU0kU9qRS5xMo4m6kbRFevhF4KGrkCxZidyx7ye6pq96DZzftLKO8RPvuxmRBXSILv/92WV58FrghQ0ZZMYvmfdg0RhmFmqJtVD9D3XOghFhKeT0V4q6QAByAcA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789033649; c=relaxed/simple; bh=Y3Q30/XDZYkT4BsqAnWiL3C7rPGluprH6psQ4WloVLM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cz4qPwq/r6Pgaagei2TVS/J4B2SNYMTXQBBulgkJOQ4KKjAXQ+eJq+rwFfSdN95mvv0NtsfF8lGu5ICWBTRBHhLmH2b05Ymp4K5yp9+As14QWKfXfZzdnX3Kl4FIAMF3FEPo3BQFAZ6HBj57dnJYW8hAdCd+AQCnsoemGyo7mrI= 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=EodX352s; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GcNntscF; 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="EodX352s"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GcNntscF" 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 68A8pu7J1290101 for ; Thu, 10 Sep 2026 09:47:26 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= w1FN3QsPJsWFGmnxwmYa+KilZ7mX3aZKpokGyVEBQQ8=; b=EodX352sSXLNv9cg v8awHzUtPhjntR+J0HnsRZsWGfF6uO6PCoQGGkH0bNL/alL27I1dBJ3f2t3weDhq G040jouvqpawnK7F+mgePFbCaR01KPumgQ0VXbAOWACKGoazjBukCRIioEunnRUS Gen7vF6yHOl9m/DRzk51wExuMKle7c7XBCuBRAkTPVR47rTeTqQL9dGUOQTHEbs+ ONLSU8uUc4xaAdK70cvHMfMxeKWEdF//bVaSCvn7n7P8gnO4LzQnWAo0idvQUpST 1uTsWFeL5UOTpJZ65+xEUYLBJHjPHgd9LB4+zRvepqnPe7UIQXsjIZU1BV70LL/Z 2/FGIw== Received: from mail-oo1-f69.google.com (mail-oo1-f69.google.com [209.85.161.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gkcydk6pv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 10 Sep 2026 09:47:26 +0000 (GMT) Received: by mail-oo1-f69.google.com with SMTP id 006d021491bc7-6b1b8b593a4so6761011eaf.2 for ; Thu, 10 Sep 2026 02:47:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789033645; x=1789638445; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=w1FN3QsPJsWFGmnxwmYa+KilZ7mX3aZKpokGyVEBQQ8=; b=GcNntscFv2rXNrXF5kUDbkHIgKg0uZ6Zth1aFUozJwhd/tMm4byk70s3x427p9Ptt+ 0r+w5rgp5vzTH1OktllUTei/W4VA75nKRZzT77enxvrSs3r/sMnWnLEG33irWtg0X4op MQl4u8LsUBsaTw03LzRCWmXZavipYSgPmNyMKbcktjG+YKK5DRB98es7akufap3j4GSg blcr5uSSCxL74T7GM9ZtxtdVhvYOG59KempZZ770yexY7Poxrrf2BIN0eQf+c4c7eACZ cGCkOM+42Fy0CvqjqtCxdj82CFwOTy9H/Vbj3rJ9uMX/cnfv/lkHAHBhZasKUd2zfISm f4dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789033645; x=1789638445; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=w1FN3QsPJsWFGmnxwmYa+KilZ7mX3aZKpokGyVEBQQ8=; b=GynUimDGNFbhcSK3PVe+NEKyYlY7QMJ4eVhsH6B4G0HKtlOwCyFPS9id0IkrX0K3mM 569fFOsaCQQv9DawQrBThm8nKQLpWE8DY0taV5cmOk/w6f0uP0UbwW8jL3PjF4uCj707 UzgXbw7MErPT7AwXdVP1jfeJStDqt4rvfSHsR++L02L6tJrgn5xNywRle9bNkmo/LT45 qS3AiB1BIVEQ31OULM7AfY1RrZm72k99JLlldh8T2UyTXi7mo3aqkZk6/dvlDidZRtWL vC3rllT75LE2LDb2wzxqASSiTatQnoG6sdVPZuxrcqAKS1t6E4cChdy9NFX2aZe56CG3 tQBw== X-Forwarded-Encrypted: i=1; AKwUvBz9WWKXV1hZQLrqglQ36uBIsu2d35DLoJenBkSLfb7wJRHFvGNYx95AByd6QFvoau1Wy22wmUAoRGfyt9I=@vger.kernel.org X-Gm-Message-State: AFuF++lW5UAsCR4c3kW9XndQJuIQPsdy97rREfR+3+7F1KKn7fss+M8x x4RDJVNKWdeUwXqPFDu1np4+Evj1Z+6SyH0dVV9gH/VvBLQUKXBc4JDzVywTwCWepJbeJfbDKRf POx4ecdUKhzTo7sjVPSqFpZfPXyAH0A4/h8KCCgBUpoJ17qLJB8RVV07OhODs9uC/8Dw= X-Gm-Gg: AYBFou0S/pmHDog8aia1/FlySv9xL83G6cxnW0soiN1UbMPkScqZb85lpGfknA5H6FC ez6lJwha8hi41jC7EA/Od42A0HOTMQeGnP8uX5f1IGqLP36Eg8iz4jwSG1o6WtNm9anF/NBIFnN 6L2Yf8mr4VNxxfWwJnxohMymRAeN8PF7R3iOPqajuYIbDGFk3aXl2Y30/7MJVDsAfGmRL222tPd GV91F4Y/WOQ/Cx+EvzNekQUag7AewcxN6BFOpUwcmj3CidQGRgim3ATxsw5/FXHsHdIweldOrDo I5mx+s0tJySxBXJSsuWbC7GQ3FyahN4vKnnyahDxTEUY+yGVKcappX2REk+3lMl5IFliqLlHAeY W1lv4zE/BOtKlX2vzlIzm4gFnRHIVotikxSP3 X-Received: by 2002:a05:6820:3107:b0:6bf:5d5e:5403 with SMTP id 006d021491bc7-6bf5d5e6442mr2124856eaf.69.1789033645262; Thu, 10 Sep 2026 02:47:25 -0700 (PDT) X-Received: by 2002:a05:6820:3107:b0:6bf:5d5e:5403 with SMTP id 006d021491bc7-6bf5d5e6442mr2124836eaf.69.1789033644850; Thu, 10 Sep 2026 02:47:24 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33987ccf483sm11941129eec.20.2026.09.10.02.47.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 02:47:24 -0700 (PDT) From: Mohammad Rafi Shaik Date: Thu, 10 Sep 2026 15:16:52 +0530 Subject: [PATCH v2 1/6] ASoC: dt-bindings: qcom: Add Shikra RX and VA macro compatibles 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: <20260910-add_shikra_support-v2-1-fdd2129c696c@oss.qualcomm.com> References: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> In-Reply-To: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai Cc: Mohammad Rafi Shaik , linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789033635; l=1664; i=mohammad.rafi.shaik@oss.qualcomm.com; s=20260424; h=from:subject:message-id; bh=Y3Q30/XDZYkT4BsqAnWiL3C7rPGluprH6psQ4WloVLM=; b=r9WKk3NBp3woDrr/YBMoN7xPIif0fuIef0p14R+R1KaSYh2QUnPWZh57D2YQtnbp9hFWs1Cu1 lbQi19qnp9TCKOpVshnNLQTfcM3lEKWVu63WVbxH50AM9r/SC/V9/UL X-Developer-Key: i=mohammad.rafi.shaik@oss.qualcomm.com; a=ed25519; pk=KZedmYgMGYOzuTpLGv56tdrL+pTLDP8pdmfQ91xemiA= X-Proofpoint-Spam-Info: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX68qi1DBSEBpJ 6U2nMBEyOfvNmDLDK4X52FaLaKY5N7Lm7L612ExBLAXAMs86v2tko6HL15U1v3SaDEnX0+6dCqA Hz7fPij9H0amzfKzkroNcXMjZiYpmMc= X-Authority-Analysis: v=2.4 cv=UJNIjyfy c=1 sm=1 tr=0 ts=6aa27cae cx=c_pps a=lVi5GcDxkcJcfCmEjVJoaw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=lABkJ5illG85_PuKTi0A:9 a=QEXdDO2ut3YA:10 a=rBiNkAWo9uy_4UTK5NWh:22 X-Proofpoint-GUID: L6ZNxgu8eUL0SBsWtyQurD02b3ydNmz- X-Proofpoint-ORIG-GUID: L6ZNxgu8eUL0SBsWtyQurD02b3ydNmz- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX8SZ8y4QSDtJ2 Dy6thYXR+mWMDmOGke+ehZAH+wpvintvWvYlfkfkpkoqDUx8XC7CPwiN+/kW6YxoLwOmuavfcYM aKaWzvddFpg3z9YhEEvFBGr9Ss3QDDOVKBFwij5TfUOlv2ezxd5OzOn0bJ/Ec+5cgkzBLqeEZHa aJuVME5GEIOtjaaHQrrt04/7jSyJqqfRiyBZuR6Qb72Il9tlk2Uxu/IktDIMdqVoPRmTxgqPsi1 zmtrjvBX6DXa3lOPyCNTdQqp+BptxDsgx6pup55T1T66ABVWAAYK/KGjuNyZgOAp1EdLK3k5YDF w/+HurjGNwKFjMxkIr0ssLvzHC0Zbi/PLtNRrubKVGG0nkTGQvCH1vwUY2JY0wcUDC+PgNbk2wz kff3ExdLTcshcO4camPMpk4lOiK8eGX8IOORYiQQ6ewv4EBhHtuwSJzP9IVgh6REkqWDF2HwGhw MD7tU5wzcnnGPnHUkFw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-10_03,2026-09-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 priorityscore=1501 malwarescore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609100111 Add bindings for Qualcomm shikra rx and va macro codec. Shikra integrates LPASS codec version 4.1, which is not backwards compatible with the already described compatibles. Signed-off-by: Mohammad Rafi Shaik --- Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml | 1 + Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.ya= ml b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml index 4988e7ed6..d2f68b025 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml @@ -19,6 +19,7 @@ properties: - qcom,sm8450-lpass-rx-macro - qcom,sm8550-lpass-rx-macro - qcom,sc8280xp-lpass-rx-macro + - qcom,shikra-lpass-rx-macro - items: - enum: - qcom,eliza-lpass-rx-macro diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.ya= ml b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml index aea31fbda..23f00de82 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml @@ -19,6 +19,7 @@ properties: - qcom,sm8450-lpass-va-macro - qcom,sm8550-lpass-va-macro - qcom,sc8280xp-lpass-va-macro + - qcom,shikra-lpass-va-macro - items: - enum: - qcom,eliza-lpass-va-macro --=20 2.34.1 From nobody Fri Sep 25 16:56:49 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 2F0904052BF for ; Thu, 10 Sep 2026 09:47:31 +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=1789033653; cv=none; b=OHCedZ3K+189Z40xhwQG59C6KtWbSbeDIhC72mlDjYdPPrJ9oyEEUoCExC9uVT+fpT/jo+84SjprgI5MoEtRae9CrTz08mKN9bopbFVKzPTZo5USjifieukAZ02Bja/It7WxhijohrSlLJtTPPKloo/zyfEVqHD3FcPYnDvb/uc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789033653; c=relaxed/simple; bh=2LhCRdb4SB1knRbK3yyCnOaHr8rfIhz2uYgEE+b9MQA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CMCGyr9bRxV2F3Xmekep7dbT6fpCyR2eEKtmrgSQMkeou5cHVKqERoIhfrwbRojbha/ihrDUsbRoUpWvpy2uB3Ce7zk5MMU6Bwy40sKHcscA6BbImPF5BrgaLE7X0IIJG7ngp4nZrEIvPCkdpKcIocEwBUusZpjTw/dCHhnZR1k= 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=Pkve1dYX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aJAcXscE; 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="Pkve1dYX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aJAcXscE" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68A8q3Ci800208 for ; Thu, 10 Sep 2026 09:47:31 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= RY2nV6IgGFcHLC9gYLbk26u/oCbJf2cVf35SBZTctoU=; b=Pkve1dYXS7qT5+tP G7nS5XldSHKoDXYb2aNzykx/yJ5BVL+gu6641EzSc+C0wcgJbz6cqWz6j6MFHvB+ gdL5exdlhZivLZQMBQxp8807rfnk+OOc56VPthbsxOr1FE5WqkTqk1SZ6OiJWMkE H0HpwmV8lyS/CkMdQWGPb5P4Pz1d6F5HCIPh4tswlLDboOkKLsUt8nPWcVJKhbPT fgTQ2p1bYBhlB+TbwMPX4WxujimIIPCupH5Vyt10QTSYZpO8ctjJvLq6KaQQgTV6 8hKAEKQsC07FGnMoMalki402iKxPfWPOlOkOEMvs6LYIBlw9xxAF9D6paLyIAAjT KwD8fQ== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gkrcjrgrs-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 10 Sep 2026 09:47:30 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cec4226c70so87148585ad.1 for ; Thu, 10 Sep 2026 02:47:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789033650; x=1789638450; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=RY2nV6IgGFcHLC9gYLbk26u/oCbJf2cVf35SBZTctoU=; b=aJAcXscEbd6zGlg+hRGLPW4dzFuXZbJ9WvbCrBm+M8wpPqFh5PRFx0fDIkPfq6rvJh /5Q2myQ27OYwwxQaCpwHcTo4vZOQRvrBDdLWJglhyhoLnSz6HajS+/SXjAW4IUb/hMkk oop8qZjQvp8kAmN+if6VNhrukHCekjhYJXr0GZybAgBSO7SmHLYztagQSuSFWJDokEKK LKngGNEY7fVq5tEaAd9bcoodyOtK5NVQjMSaBXAksKBMxLcfTvaBIU7dI/brvOSz6n4Z 9t8KDTFKgyc+U2jcqJD6EgiHjBrXzy7dsS47kkru8BxSaf8/hpUnURpp+3B937Ccn7YY sTQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789033650; x=1789638450; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=RY2nV6IgGFcHLC9gYLbk26u/oCbJf2cVf35SBZTctoU=; b=kdmv3tQZPzW8K4eE4UyFyFhdQbvAQvaUrwAH0VNlNv5yoccUk0TxzlolMS5kV3ZFjL kaWqp5+OKdk/p8XXh60YtspGW2/DNGAgNGmMQzr5HlMWolInng0xSrilAXV7slGA4vbf Foi+W2QJeI9oMsA6DfaxFU1pgQR1ESN202za4l2sd9mWZZhQWoDiAF25w4rEYVEyYmA6 tq45VOeunNFcFkuQS8Ii/Zh1T/OQX540RtkVdp3PqEgln6iABdoSuhujShSFeuXB0aNV bmq3KLPKnVbsvUG02g6aF03vJO3I8zE8+1fXZIBrrpXLTvjPwxArm7BmGg4qw6xA4Dhl HWZg== X-Forwarded-Encrypted: i=1; AKwUvBxahFfU0UbPDtm4FkVX2sBOwiF6et5BTJRSfYseCenPlAAh9eg7uwqPYBwnGIv0lGapRcuTPsa9a1o1vsY=@vger.kernel.org X-Gm-Message-State: AFuF++nnrc7UYCkbdk00rjyVbtvZ4BCyr+joZVO5A3PTs74RfynKgE2Z E1XpzbftQd4C6/QBtU4+utTJniAbt+rjtun4hZNNGFLz0OvUAxpMzahSeKtG6ufKk/gw9EFefIP bukxRaciFsDVpK2Gl68COUaMr1VvKr8Lz6CrIjkTx23z2yqDCx7vSELouhm5SqidscY0= X-Gm-Gg: AYBFou2A7vbTPosWv2wmlUT+BesH/opLiZtFY7QTlyY/PMDDDt9owm+gMkkZOnPcdwt 8ztIHjEop2PcU6EM+K3QSFcCMGBjaWoEZdRDG4zcNZdo/zRkLeI+ZOeR1PqL1TErgSt1c+oGDYZ 9WwY0pJbXyBA/wucwcfXeDmfCmR6JegED9H890BcuR2Z8yAtaTtW68FV0idZWr5qlOXpbXHZmo8 8ghDzbb/qzEG4rsvIIqey5xgLO4MLKqTwUIckZ5Hs7t+kK1ze0OTSjLXYp9Cnp2qJD2RCeUwAnn f/X3pFwl21MCSp+XVo2SlGvkxao/gpk0+iYOA4GHn+wM4l/Y4ooD5osU5+DVzuFFIeWn+MRl/jc /se/nAGuO9zFZcjN6xOl24ODH7GJ8AwYt01yO X-Received: by 2002:a17:902:e54c:b0:2d3:7c58:b0e1 with SMTP id d9443c01a7336-2dd07320bb9mr96322585ad.0.1789033650025; Thu, 10 Sep 2026 02:47:30 -0700 (PDT) X-Received: by 2002:a17:902:e54c:b0:2d3:7c58:b0e1 with SMTP id d9443c01a7336-2dd07320bb9mr96322195ad.0.1789033649594; Thu, 10 Sep 2026 02:47:29 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33987ccf483sm11941129eec.20.2026.09.10.02.47.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 02:47:29 -0700 (PDT) From: Mohammad Rafi Shaik Date: Thu, 10 Sep 2026 15:16:53 +0530 Subject: [PATCH v2 2/6] ASoC: qcom: lpass-macro-common: Add missing v2.9 version string 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: <20260910-add_shikra_support-v2-2-fdd2129c696c@oss.qualcomm.com> References: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> In-Reply-To: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai Cc: Mohammad Rafi Shaik , linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789033635; l=896; i=mohammad.rafi.shaik@oss.qualcomm.com; s=20260424; h=from:subject:message-id; bh=2LhCRdb4SB1knRbK3yyCnOaHr8rfIhz2uYgEE+b9MQA=; b=9vnuclAJhYWlGpQD1qQiEVG5tCtfh5GCTouC758hlLvHN+C1+1+7xPRnKfgXYk0OPdAJAGY66 m9YDRsxIf4mCMgmlxoE6DTlAnXi75TswqDGmD76PIe4lH4NDKYIsNOV X-Developer-Key: i=mohammad.rafi.shaik@oss.qualcomm.com; a=ed25519; pk=KZedmYgMGYOzuTpLGv56tdrL+pTLDP8pdmfQ91xemiA= X-Proofpoint-Spam-Info: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX563OFVLVK/RS XNkJQHZdoSwkorv4CDCoXVfCyLwoeC4+qFI6epvYQlw3TbO9eMnvA2A4J1PUPk0pmteRXldyjxl Eo+tG1Q2ccy7N3v8oxz6m3K4dxuC5TA= X-Proofpoint-GUID: mAutbzTv_CXMS48QUSmQ3ME07XnYkw8i X-Authority-Analysis: v=2.4 cv=aef0Dhot c=1 sm=1 tr=0 ts=6aa27cb2 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=QNNIS7QUJBVbuyI2g7kA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX/LPUe/9NLG3P ZjTCUPaLALtDQjilUJeOynF2G5ybXpMXNSHxRt5SlVP3g2TUWRsXKCz0FgfeeXUoA36AK0eem0W u+OMcfK+k5K2qyZls4tzhTQICRXVbjz/jDWuS3VMzZRMNIBA3NwXWv+FJJOkNVpJN1/rq/YaBy0 fuMRiKgz9KllYSVcz4AVppEglLUPW5B/8Iqa8l+2GwFY1ozavXyiThrE7n0LlTLQlsKwe9xr8SI gHNFJrgFQKlxIOiMapoD6dQno3Dqf2jZF7fK5t0HNKOAHhuRwMz3UWZQN5zMzqBozm/zx1M/IdA UJ7FGGY9Y6fbksOPGPE0f4IvgDrpSE69vUm0pJhufSyveOfLSEx+xr+LcGwnpKJK8rA3UQ4Rez5 f6zmhk9eZdQeHtUU9cSDam/DYE3JUu3sCYfuWGjnV4KMNtUITMbNQhiINLgfvlxD+EmN2YtK+yU kHgs6sGRiQhO/VZBGmA== X-Proofpoint-ORIG-GUID: mAutbzTv_CXMS48QUSmQ3ME07XnYkw8i X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-10_03,2026-09-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 malwarescore=0 phishscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609100111 LPASS_CODEC_VERSION_2_9 is detected by lpass-va-macro.c and consumed by lpass-wsa-macro.c, but lpass_macro_get_codec_version_string() never learned about it, so the probe log reports "LPASS Codec Version NA" on those parts. Add the missing case. Signed-off-by: Mohammad Rafi Shaik Reviewed-by: Srinivas Kandagatla --- sound/soc/codecs/lpass-macro-common.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sound/soc/codecs/lpass-macro-common.h b/sound/soc/codecs/lpass= -macro-common.h index 10ad68201..573b2145e 100644 --- a/sound/soc/codecs/lpass-macro-common.h +++ b/sound/soc/codecs/lpass-macro-common.h @@ -68,6 +68,8 @@ static inline const char *lpass_macro_get_codec_version_s= tring(int version) return "v2.7"; case LPASS_CODEC_VERSION_2_8: return "v2.8"; + case LPASS_CODEC_VERSION_2_9: + return "v2.9"; default: break; } --=20 2.34.1 From nobody Fri Sep 25 16:56:49 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 E727340911F for ; Thu, 10 Sep 2026 09:47:36 +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=1789033659; cv=none; b=JYeUkCuv4uIQL9nGYZMkdtZXIrYHcVlJ6PFvtO0eaQaCSloSAuUL+wf0DM9YepjP1FM3ex0B7+DTBHfca1CONcsSfnW4oqbBlinBF34dISJ4znob7imL+9nBMSuH57NejUUbja3lNwrSTHxQMHBb61JcV2xz8s1G1IjII0PgzZw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789033659; c=relaxed/simple; bh=Z+K2Tn/r3FmA5PU/noBpAu14seALgosLzynY55zm9XY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ij9pXv2VatmxcnJKWOQbwK0ge45yWgUYdlfpC2ca2dVxy43fsXjh1I4G7JCY17eb9ulDVgrC9HfEjaAWFV9TsGcoD7EhvEuk4wNTSpM1VeoVBml2VLvWUl69iYyw8NSp/tK15KAJpTnywafvbfvz6+eUBYk4OQd1/Nm0/mxSYyk= 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=pLVZJLEO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TGO7tmdF; 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="pLVZJLEO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TGO7tmdF" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68A8pp5w1000594 for ; Thu, 10 Sep 2026 09:47:35 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= dtX6afBb6d38ZyJa/AlJzjQQ/zyOWjjfK7i9+QlvK6c=; b=pLVZJLEOMVRTdrPs KnwvGnqoc393uhgT01hnHzL0RmLx1vdYeOsIhYP+hcahVnI8eGG0idKU3T+3gRK4 Cgh4FGr/YxUY6/mn1hKccHKMbDWm32UDp6H0A8NcyrgEwwzKIpReO/e9jFdhRlMa XZ1Ny2VM7yeXOOCpfCeGuFETvi7e+hBIpn0jAGUlXOknQR/iN6G9gi0Znbg3gKjx Dw7pT54OF3iMB4qTZPOwpcXbpuxnzfm5O5YrA++uanzMVPvr+kDJHnnJ/HobYWyl TtFCuxHAzljSmK78NoZfK9FahO0wdUBWjYmUr2ptlQGCc1d5lCrbwGrJUH++hcRG NtwpCA== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gkqsvrn94-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 10 Sep 2026 09:47:35 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2d02df2bf09so62048765ad.0 for ; Thu, 10 Sep 2026 02:47:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789033655; x=1789638455; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=dtX6afBb6d38ZyJa/AlJzjQQ/zyOWjjfK7i9+QlvK6c=; b=TGO7tmdFtiAdN7ONvc4Sk/BsiUxJ8boi13wj9dMz1QpGUleUvYehvL/WT4pV6U5VCz LVYAuQGRXa+R9lGtxvQ4hKhtibCK9xecr9xJ9KxdbzDA45cDwfOZFGTuU7A2Iemifdxo GMu1oaqGqllqWVFZu3AoqyiNXUaS3Ga3F8N+RV/1a2LhXGIYv1FcAmBRWeHIJ6XaC10O QRx2Y9oz4H1tIT2TKFUJ6LUZTwpAil47XK0p61VsvDalKnfyxNbJQhSbnPN/U9XixVev +yzS85ElItB5u+BAML1942IizFVlN1wh0OVXcu2Ynm4MsmhkoXDy1R+Wt8AWms78QQxn r66g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789033655; x=1789638455; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=dtX6afBb6d38ZyJa/AlJzjQQ/zyOWjjfK7i9+QlvK6c=; b=INa64Z2cwPoYP4I34vdi54hKkxSLXuHm9kbXbkslU6PYeJobsy7isxTL7rQKhnDjyc fbzsc4eRLfSv3IxEsakdI7Y8k3ygBWsSTiMbJqszYG4iMVkfQx8eKerufYh7MSzJS0S1 Yp4V7MUUNaZHCrx0Os2q/JKPnEImOZfDdPUdMppB1gyqdAdBH7xvsADI0wU2Ar/BC45X +PRREiFjWvCO3P1ZGjOOLc4+Z4kSDqWuaDbXi0FeqeRtkwonf6bqR/yIn2YnUshneLs1 2SvbI3dVUJ3nRvgc6vurNkeWfrS8N7DpfFwxgXPG08SzFFohMkGANi+wpb7TN/8hQv0f KWfA== X-Forwarded-Encrypted: i=1; AKwUvBy32BOIVAX18AsXu+ztXOFUWXV/95W5v8ijxLl+sXwXZtXCgOPZJ2bpHQ5t6crOLizzwJSabmDY5cHX3Ik=@vger.kernel.org X-Gm-Message-State: AFuF++nojLnZzcGziJaHTVpcWEa5PNcPvG+W3o6pwKDnxzswJLXbhWzw BDNSnB3M2Vweg8WPjppB7++xH9RX+BGcFlU0oU2itSVs9mIHAfpjw7PeqQKrVIISdtJJ7BBeEE9 bFhacZsSL882+e06OeIEeTGZkP8bJWBZdgn+QZqbAtyUUCWLe7l4qLjOFp8i3CnJ/cxA= X-Gm-Gg: AYBFou2ClujihNxbIDQvTW7TWxs3/EX6527ICFdjVX4WaFj+eEFMtVV9PA49A4XjQfj iNo6twM9TqWBbOXSW6S9FgIsPngnUJtvxvKCLrItJeKwo9BhHboK/zMyZcQBvdiZgBi2xW8Jd1L 61SqN9gLrPjk3kqEGvENrM9Rnk+lPGgpKRipoHoZ0GDrjcCS9AlDqHeGX6yUjB32bVkCDq9FxDa X8nRc+/Iso931EPziJw3ZTsPy3XkCgwJGtHlES3DkaG36F3fD2x4grJ+6u42bMdWjnc9aePfL5J WIzL3BCbYLj8yWMEkGmkk1cGnd97tJDPnl6F34Em2/J41wvR4GsnKBEyaB273xm+VYG57KvS005 n8x2DptGNpBbtg7ETfgN/0puuLkDkBIiELQaV X-Received: by 2002:a17:902:e745:b0:2cf:8131:75e8 with SMTP id d9443c01a7336-2dd07b9d86emr77149045ad.13.1789033654701; Thu, 10 Sep 2026 02:47:34 -0700 (PDT) X-Received: by 2002:a17:902:e745:b0:2cf:8131:75e8 with SMTP id d9443c01a7336-2dd07b9d86emr77148695ad.13.1789033654324; Thu, 10 Sep 2026 02:47:34 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33987ccf483sm11941129eec.20.2026.09.10.02.47.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 02:47:33 -0700 (PDT) From: Mohammad Rafi Shaik Date: Thu, 10 Sep 2026 15:16:54 +0530 Subject: [PATCH v2 3/6] ASoC: qcom: lpass-macro-common: Add LPASS codec version 4.1 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: <20260910-add_shikra_support-v2-3-fdd2129c696c@oss.qualcomm.com> References: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> In-Reply-To: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai Cc: Mohammad Rafi Shaik , linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789033635; l=1076; i=mohammad.rafi.shaik@oss.qualcomm.com; s=20260424; h=from:subject:message-id; bh=Z+K2Tn/r3FmA5PU/noBpAu14seALgosLzynY55zm9XY=; b=WxY5kLApr1v7jLEknbMkvfeRbdVrsd+paK0SlrBjOJIjeam4Jcf/3HiD4G2OR1QnycGSsOwUl YWtxq47zs5tBGZ4Sz7cjJNdRLJq6GoSNc1UWBhUundn9BMc2Iols9Mt X-Developer-Key: i=mohammad.rafi.shaik@oss.qualcomm.com; a=ed25519; pk=KZedmYgMGYOzuTpLGv56tdrL+pTLDP8pdmfQ91xemiA= X-Authority-Analysis: v=2.4 cv=DdOCOftW c=1 sm=1 tr=0 ts=6aa27cb7 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=XWf998z4RHaF4_Chx54A:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX5ITAeohLH3Nq ZMnuhSWMBvzG05nrMq+npz2aAYq2/lKWKIPQvEQ9SKxEicL9vGUj7zMFDgvdITFTPrp4Yu/L7oO +m0I7TbqDJlQOSdMP/vpePumYPnwWIJGyi2+2/c5g+iGjlTlqjyMcCjlRor3O+IelhXw7h9nVMw bSFrcTrFPIpc9P9y8If/vB7WEosAiZLa9IrD8ptw1MUkzX56QV5e6VkvfjqjVGN2ZtFhN4VUY3L Dk8QZTMOaDpa1hH4/TqLQsSM0KilgYzHIZLR5GDDEYZoPkR+eGiKk1gdFoHScRlmrNHOVu0cZdk 86E4IYtjExcZZM+eZb2jrQwx17Kzg/l4+vVSJ12fC6rQymgJW9Gzv4wfjBgxyX3McKK0B8L3UBv 4obJjywRZB2Rxy24nLq4Hvhx5vu3Ezx3N65UOE/K+e+sQKIsR/NPXt4W8AubMWC6jXkDM7J4M+S e5jb1kKFzxMBbaUWIaA== X-Proofpoint-ORIG-GUID: ft6g-5mgYT6tHzjgHxmStlwZrQqWvO6C X-Proofpoint-Spam-Info: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfXwVU37lZ6A3h0 ECWHOncigCfGqFtmuRgo1ZRy9A90tP+1XVdqfsrxePWNfLIt6iwo7ed5VJ7xQONPgpjUCrIpFCo MyAuJfJrQ/vHmAFSIo4+ttgBSGqJ+g8= X-Proofpoint-GUID: ft6g-5mgYT6tHzjgHxmStlwZrQqWvO6C X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-10_03,2026-09-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 phishscore=0 malwarescore=0 adultscore=0 spamscore=0 bulkscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609100111 Shikra integrates LPASS codec version 4.1. Add the new version to the codec version enum and to the version string helper. The enum stays ordered by version so that the existing '>=3D' comparisons on enum lpass_codec_version keep working. Signed-off-by: Mohammad Rafi Shaik --- sound/soc/codecs/lpass-macro-common.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sound/soc/codecs/lpass-macro-common.h b/sound/soc/codecs/lpass= -macro-common.h index 573b2145e..b52665b11 100644 --- a/sound/soc/codecs/lpass-macro-common.h +++ b/sound/soc/codecs/lpass-macro-common.h @@ -30,6 +30,7 @@ enum lpass_codec_version { LPASS_CODEC_VERSION_2_7, LPASS_CODEC_VERSION_2_8, LPASS_CODEC_VERSION_2_9, + LPASS_CODEC_VERSION_4_1, }; =20 struct lpass_macro { @@ -70,6 +71,8 @@ static inline const char *lpass_macro_get_codec_version_s= tring(int version) return "v2.8"; case LPASS_CODEC_VERSION_2_9: return "v2.9"; + case LPASS_CODEC_VERSION_4_1: + return "v4.1"; default: break; } --=20 2.34.1 From nobody Fri Sep 25 16:56:49 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 22F8540DFC6 for ; Thu, 10 Sep 2026 09:47:42 +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=1789033664; cv=none; b=EbvpkwOjQQI71tA0y3yk3uF4jC67M4Li6yYWFt/SidD7HWfXNUKVj+QZQPl6YEMtVF+0fPRWtSW5XMFerK6jbjXxq8SiOuvFMmaDtBgqBDdH4J1ezCiwQEKdMtxPgiCRYJ1WWz+MtRITEwzdTYdytLLRFPHGYS1oS+txBvDtWe4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789033664; c=relaxed/simple; bh=CknKnz74q4bRiFyxc8sXJoITUsjw5HdEk2nqPZiJmHQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ByVSBxY51Vwd/tKbvkdQuInvnBUduIybAiYx4MAAMY7vuw3YJJoeRhB5XloP4WX0Ah+Qczo7lIcFqltiFbgOuy8z8AxDzXeWjsjlIt1PNUu37mGaHA9Aoi4qh4V5jxOueO2zO7th+TD0sG3DW0PybVYo9DaZGdsxC55YdyR3oEA= 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=A12ec9a+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bCub9Wg0; 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="A12ec9a+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bCub9Wg0" 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 68A8psgh475067 for ; Thu, 10 Sep 2026 09:47:41 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= eEdAEiQv6vSs63yjnvBVIDQdhylWFrpFN5ivbO8rGI4=; b=A12ec9a+EQMbX7AD EBnvBEforq3fu6GBypj0rrxINMhdQ9qyAksbCqKhz8CYzt6aLtsBFyuvlMdgG5LU F2MyYcMOJWCqYygq/6hwVwAp7jFNXsEGk2qw+Ba3wTL3f77AjFetsM5szs8DGL/i fiCmTx/wxvSTt9jbVHlygfHadJRw/eKOhTsbMNKOszKTroTj00rHVTGcmo4C5cLw UiP8beZ0IdOHRVLwBJqzcs4QQqTlVI4HtPJ9n12cPKjVt0f7B8hHt7dNRsLqAFTy MUjFxtP882bIrsZwmVvkMNwjWocoBF4D8ytjWZodLr25qGFXd3uL1pHDUS6n5GWY eAeHPQ== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gkcygu7e1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 10 Sep 2026 09:47:41 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-39533bb224cso4618327a91.3 for ; Thu, 10 Sep 2026 02:47:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789033661; x=1789638461; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=eEdAEiQv6vSs63yjnvBVIDQdhylWFrpFN5ivbO8rGI4=; b=bCub9Wg0Czet580w607suMRDfwWpQM6NNTYEkp3E6ORTA5DFcjZniFw9C2Zhq6e5YM uX5oEKYDCEumqFsbL0BKOUM/m032neR7CwpXaOOOKQuThGk84Xc4RBnn9FtMFM2u0UMc x22etaUN+hdLdG79q8mrDl+mOMHxT0F0JZMXJFo6LP2wtZXoBpIdKArw2HYZi/9IQfR1 C2cQcBSyewO4yC3rm68g6G23fxDiQIAKIbinKky5nWkRsvGZhuTGuIKfPgSguvPEvHS9 jso7mVZV0y6lG1qCh00pu5cfc1tEPMuN0BwnCFv8cGonrMwGNC9omoiE90X1hi99IPUA bs/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789033661; x=1789638461; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=eEdAEiQv6vSs63yjnvBVIDQdhylWFrpFN5ivbO8rGI4=; b=guyQw2RCWon3yP5o8kqqdT+YbfXnKy3KT/boPIYB9frBuFEYwb/kH1uGavaqtnXv6o Q8Eh1RZU1UwfIp+dxbKSfYMmmMZMHxzAoYuAfLpEhcZqy8OFK2KUAK0yoV+78CzldKwH vseUOKIyVgtUNz3FKXJAEC1EPEWudhdSepVMgMHotrvw14VFlptpsTBCNzezX5XITuNQ wQRP/KVVNZCGArQ9ZSTw+36ZxVoTT5LN3ZSJImdOA9DZOUFm9B9hy1qOVFNqztIjlxYV vla+cXm0iFMdS4JkPETfl0jjbQT5BioTdc4jmSYz1phuUioJ8L/hlMY9gzwh1MomV8f7 CDkw== X-Forwarded-Encrypted: i=1; AKwUvBxbD0nUz9ObXH99UGd3II1jZNo9FksPfZUS/MEzK57i1nBv3touuvDNtzPLlawAdEZi03D4rtRKpel+4GI=@vger.kernel.org X-Gm-Message-State: AFuF++nWAo3MeT/p3ZPwxuVLSF7H6aKJsQQgXbzitW4SxC6CmYtZB1k3 ILjoreAgyBISsrq111VHcaxBAzH8o5AQ3DrI0Eu09iHHzCW4ZV6B7kdWecCWNLQuEWQcUHa2ydN UgddSUxJkQjZ1Ec17ZGP/2h78+Ng8sdGrc1Pf8TdVqvWOy1BVpNtGt3xolze9OhFRuec= X-Gm-Gg: AYBFou2/DVGibERqI5hnlW/8sI3Oo9XLd4JAsoblL7KDcZpfetXbNS0h1g1iH27YUxe uvrgIZNzkTwfqMpIAFjAhwSXc/6qxK4ZGmdUmhlHnbM97VVLJJ+BYvR04HtGmeMhWkYtsKzmsI8 8zl+TwK73+OXbx88R8AeRdK8azYbxi2oSb/NCF/s/gSLW/LU1O+l+GZ1Z9/LH6eIEvSKgjNqAVo L/RtKaA3s1I7qPfUiAFzk4z5cQgdpF/dU0TXCF/3N6LD7X8f/xTTk65IDHc/5Jlzlqr5gbVUuhp 0FSfXrWmCjhtLmMAiOBDh3HQBvHkXK1zYZKFBJWCKqhvvrSc0hWRr6q7R4R78ogqoakAc1g02RU 6PSh+fTluLiPVUeiHrEYQeM6jpdGNr9sFbtRd X-Received: by 2002:a17:90b:39a7:b0:381:cef1:11ac with SMTP id 98e67ed59e1d1-39b26125efemr56400787a91.10.1789033660209; Thu, 10 Sep 2026 02:47:40 -0700 (PDT) X-Received: by 2002:a17:90b:39a7:b0:381:cef1:11ac with SMTP id 98e67ed59e1d1-39b26125efemr56400640a91.10.1789033659066; Thu, 10 Sep 2026 02:47:39 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33987ccf483sm11941129eec.20.2026.09.10.02.47.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 02:47:38 -0700 (PDT) From: Mohammad Rafi Shaik Date: Thu, 10 Sep 2026 15:16:55 +0530 Subject: [PATCH v2 4/6] ASoC: qcom: lpass-rx-macro: Add shikra compatible 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: <20260910-add_shikra_support-v2-4-fdd2129c696c@oss.qualcomm.com> References: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> In-Reply-To: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai Cc: Mohammad Rafi Shaik , linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789033635; l=3248; i=mohammad.rafi.shaik@oss.qualcomm.com; s=20260424; h=from:subject:message-id; bh=CknKnz74q4bRiFyxc8sXJoITUsjw5HdEk2nqPZiJmHQ=; b=CIW7jtdZM2JDRhHR/x8m/goq12JxEEMYgcRgjNX8FVpL+Ne9Vaz4ggnnn3dZgMwWlBMm+qSFk aJl2q5OkwTqAWV2dLHubMs3UlnVfcmXy9VG/ZPJM9OHGggzy0+6aY7c X-Developer-Key: i=mohammad.rafi.shaik@oss.qualcomm.com; a=ed25519; pk=KZedmYgMGYOzuTpLGv56tdrL+pTLDP8pdmfQ91xemiA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfXy/faq6/psiJN sm4F7zZRpIubQeLJzunY51q/PmT1uF57fz5yY5Aro5ZOuUbiSyOUdKFZP549mn5X1YW8TGtqohA 7Y6b352xS1RYnTdVyvWnn3vaW0eTmlWGbRQlOfExNENauqY4jaWoSCXPlY7G0A4+FRcQW/oMoMu 1aPCx9wDJm43qK0DegOceRPPAhITCJhMhsUAE8SsouKzKPqZykwmnfid5xsBgfy9N+Kzdho/VnA ruxh39zcICWgaTsTBVPyoYV3gj9lmKWrDseagnY+RPAJtBTcJXVp/JSZbBEY/5EHN+ogH7xYIPK IGht81exQYIeIrWuOv7k+/iUMTM6evLsQWGuY5XdssdquPNLLhKaaENsGo+R1MTlyo1Dor9sKPP 1NynDSiDB9DDxJeYrpBo3dcLwfMdt+SlXMLvKCP/hq9WXj0BvrWb6lmCR/fyyoJhYipACEhuZuj +d8Gg5NHhvQQXZk02eA== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX11UNj1SHTnFf lOUj2WFDYFg18RT5AI8fNalhZDs/aP62E5dStY1rfQg052LHbA9WB35TZXjgy9gOVaffXenetTu 9T/B/NGdUOhUXelo0e1du+UppV4FJ5c= X-Proofpoint-ORIG-GUID: JYBlsf8ELOXCLJujecMjuGxXzv4tpCAU X-Authority-Analysis: v=2.4 cv=VONIDNPX c=1 sm=1 tr=0 ts=6aa27cbd cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=5VtZfVHG4jz0BuCMUKYA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-GUID: JYBlsf8ELOXCLJujecMjuGxXzv4tpCAU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-10_03,2026-09-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 phishscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 suspectscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609100111 Add shikra RX macro compatible data and hook it into the existing LPASS codec v4.1 flow. The RX macro register layout of LPASS codec v4.1 matches the v2.5+ layout, so reuse the existing v2.5 register access helpers, controls and widgets for it. v4.1 additionally requires the FS counter to be bypassed before it is enabled during MCLK enable. This is a property of the codec version and not of the board, so key it off the version detected by the VA macro rather than off match data. Signed-off-by: Mohammad Rafi Shaik --- sound/soc/codecs/lpass-rx-macro.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sound/soc/codecs/lpass-rx-macro.c b/sound/soc/codecs/lpass-rx-= macro.c index 2e74ec1a5..83372123c 100644 --- a/sound/soc/codecs/lpass-rx-macro.c +++ b/sound/soc/codecs/lpass-rx-macro.c @@ -60,6 +60,7 @@ #define CDC_RX_FS_MCLK_CNT_ENABLE BIT(0) #define CDC_RX_FS_MCLK_CNT_CLR_MASK BIT(1) #define CDC_RX_FS_MCLK_CNT_CLR BIT(1) +#define CDC_RX_FS_CNT_BYPASS BIT(7) #define CDC_RX_CLK_RST_CTRL_SWR_CONTROL (0x0108) #define CDC_RX_SWR_CLK_EN_MASK BIT(0) #define CDC_RX_SWR_RESET_MASK BIT(1) @@ -1613,6 +1614,7 @@ static bool rx_is_rw_register(struct device *dev, uns= igned int reg) case LPASS_CODEC_VERSION_2_6: case LPASS_CODEC_VERSION_2_7: case LPASS_CODEC_VERSION_2_8: + case LPASS_CODEC_VERSION_4_1: return rx_2_5_is_rw_register(dev, reg); default: break; @@ -2045,6 +2047,16 @@ static int rx_macro_mclk_enable(struct rx_macro *rx,= bool mclk_enable) CDC_RX_CLK_MCLK2_ENABLE); regmap_update_bits(regmap, CDC_RX_CLK_RST_CTRL_FS_CNT_CONTROL, CDC_RX_FS_MCLK_CNT_CLR_MASK, 0x00); + + /* + * From LPASS codec v4.1 onwards the FS counter has to be + * bypassed before it is enabled, otherwise the fsgen + * output does not come up. + */ + if (rx->codec_version >=3D LPASS_CODEC_VERSION_4_1) + regmap_set_bits(regmap, CDC_RX_CLK_RST_CTRL_FS_CNT_CONTROL, + CDC_RX_FS_CNT_BYPASS); + regmap_update_bits(regmap, CDC_RX_CLK_RST_CTRL_FS_CNT_CONTROL, CDC_RX_FS_MCLK_CNT_EN_MASK, CDC_RX_FS_MCLK_CNT_ENABLE); @@ -3652,6 +3664,7 @@ static int rx_macro_component_probe(struct snd_soc_co= mponent *component) case LPASS_CODEC_VERSION_2_6: case LPASS_CODEC_VERSION_2_7: case LPASS_CODEC_VERSION_2_8: + case LPASS_CODEC_VERSION_4_1: controls =3D rx_macro_2_5_snd_controls; num_controls =3D ARRAY_SIZE(rx_macro_2_5_snd_controls); widgets =3D rx_macro_2_5_dapm_widgets; @@ -3837,6 +3850,7 @@ static int rx_macro_probe(struct platform_device *pde= v) case LPASS_CODEC_VERSION_2_6: case LPASS_CODEC_VERSION_2_7: case LPASS_CODEC_VERSION_2_8: + case LPASS_CODEC_VERSION_4_1: rx->rxn_reg_stride =3D 0xc0; rx->rxn_reg_stride2 =3D 0x0; def_count =3D ARRAY_SIZE(rx_defaults) + ARRAY_SIZE(rx_2_5_defaults); @@ -3949,6 +3963,9 @@ static const struct of_device_id rx_macro_dt_match[] = =3D { }, { .compatible =3D "qcom,sc8280xp-lpass-rx-macro", .data =3D (void *)LPASS_MACRO_FLAG_HAS_NPL_CLOCK, + }, { + .compatible =3D "qcom,shikra-lpass-rx-macro", + .data =3D (void *)LPASS_MACRO_FLAG_HAS_NPL_CLOCK, }, { } }; --=20 2.34.1 From nobody Fri Sep 25 16:56:49 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 B9AC53F482F for ; Thu, 10 Sep 2026 09:47:46 +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=1789033671; cv=none; b=CQoVoqCbGclrcNXUPK/fvBk+3uSYrXmOPD6AinpZVHYwwg3JbqFF+v+9S89y95N7S2tfIZJUIxbIk1YV+MxrZc1TV+omV1o8nJ+ZLnETG0um8cDxbgZxNUgzwAMat/4J2fMBfpYjZUZG5tnvQAsTvpnfLSrJKu9yyQ7PP8PoHEc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789033671; c=relaxed/simple; bh=M6c5/i0CM590syILHdDolQBFUa+MwwGEnP4OLNSWlDA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BsJJ9IEI6npMGxtJX/fMfYVZezFFkHpYQbEZam7tYdN1Ho4PpqgO4PHlCEyjuMNDJKNMrirXvw23WBEP8SmcjFqLKwzxv5Z+NkC86yYlvik3FMTS+ik2GpwCfFr6JG+xYJ04DCL626bAaNL7Xnx3sGyEOa5L/yaxwsUL0GAcZXg= 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=PpWzBGfo; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=M3LSm9j7; 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="PpWzBGfo"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="M3LSm9j7" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68A8xOhF3468560 for ; Thu, 10 Sep 2026 09:47:45 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= 7Gh/QRQjqx0e68AfExhkl/GMBQXfWx0JB0UtoXAYTpY=; b=PpWzBGfo8AbhltiL pFPmi8WNKiknncMBOc8lm1tKXPhf95gTO5DVIV2jtpk5dCVT2RzBTB5IRYJ8gUBU gXItKYJOcu3FS2wiozkfezz3kN46ZU5NhAzMGuoeisJZf9AyFkyhXGu6nNAsXuW3 GYhlGVDCUVEiureeMX8G2s1NYiOnrp+qisXkC9Hn9JVAA3SNAo6NpzKEE1Sy1JY0 05f9Pwza5Wko0EhC9Iydd0brXCeRUihj0AKNn+Bgt2CTrhNFIrAiFrgJqeb7uvyC YWBY2PXWz6/d8yf303Sg7HnZ/X2oYMKl02GkCu5MGRWciCyldPRAWxKW6sP8lprt lQ3ehg== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gksh8r7ev-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 10 Sep 2026 09:47:45 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-39d8646b10eso368894a91.1 for ; Thu, 10 Sep 2026 02:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789033665; x=1789638465; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7Gh/QRQjqx0e68AfExhkl/GMBQXfWx0JB0UtoXAYTpY=; b=M3LSm9j7ib0IYR9ZwhTuv7zFxhJ+MqdVX4bwztBo1WNrXk5fOwalDuo2kjRaiCdkdu CGC0AZpZQEx1pBlDS7LFmbs5fSMKcbL4Rm9RBCX4tEN6Rbu8SsUs0AeykaceLeRqgdgX glHnsLrksp4GYJjSPk5vtnviP38nLEq42043rUzJ9ErHxQrHnrF/vCx4Agr7k1cOgryu F8B/NsqCpg48DPePfrkwCB8zlQuhiJigV5STHO3/z0Z3WsMSuTlg0FwzFcBDMBhhrKG2 jnADXTN4kDEcw70B/3RUBMe+fqoD14xF4cUENwlrxQUDk51uSHh0BE2Ygsi/paywMEi+ 4oLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789033665; x=1789638465; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7Gh/QRQjqx0e68AfExhkl/GMBQXfWx0JB0UtoXAYTpY=; b=k18K/p6MPK17mwOxWpnGUv0rSbWTaWd+p87dgq4bx17BJm4nxitYFopGYwF0DBfskS lJxtX12Nu1sZvGDe+uhx/YEXW2yv2BR93vFzIgGSePVkr28YdYy6J32ylvqz/4szaMBC ojLweCVXM1GBRl1U/b+Sfo3A9UR4MT3XSFUMBromMDQONvitQ7/F1hXQkr1mNgiYUjsU ltTPQUDWxnVdt2fH5wXENx26h4Yd18AX6ES9Lm8tJNNssFHAujdN9KBzeJVjA/sBLirD pG+zc7PdfUjZQUnvbj5CBWZLlf0YhCdXTwrId2y/FMGbq5+2q2JwSrifMfdWufwiMJ9F UviA== X-Forwarded-Encrypted: i=1; AKwUvBznuiJgmSpE/eQyQuIN2DsqrBX+1JHRNakSOIGIR4WYXUJV1xwjNZk1W3Mjmi42yibij1bhAjUdpZaTnFY=@vger.kernel.org X-Gm-Message-State: AFuF++nYiJxb6WolpQLvg5L741B653aJeh91miUJl8gV4Wv5hnQtFnQ/ 35W66FGDjafRaCwAqqa3MskPlL9fv7n1Xpgiw9BuNVn80UyTIGYAx83MtWbvTAgfzOGkUEtpZ69 cqbDWefi2Idtk64nxK49KVyg3BwgNptLj+UKH3ioovSQmGv3QkHNHaeX3cWCjzRmO3W0= X-Gm-Gg: AYBFou1WpZ1IOn3HZz1YEdh17lWSF2m21KV3g3+qoF+K2VNmW73OHryhPcxQrl0PtQ+ YSS64oelin3GTNumtCZxf/Kf5RpSIy6S4/+5LzYuIgx5Pf64r6TRMhnA0oiBHbAXenSY/0fvI// gHf0ygPKefz42PBVRrNPUnUjbRQH3m5PNPpXdmvSyb8lP10n3v1tiklW0kCI3dNASG9TZJiZB+B ql+ho1W2pHrSRIqvmXuxvA/++anX1qGx8jmWc+yftW04mN7cz0Ct4XGe/bwPI+5O82n8+TSrI2V Nc5TsX0I+MejPQLeoXAEaDbikcsP1mYk6CDuluw6+aFTJGydPqFiPF60zZbYSOUyNvMSRADzzX+ B+IBn4eum3a1jagqsX22DSv9OF/BaQzBlpOyN X-Received: by 2002:a17:90b:52c8:b0:39b:34ef:3b2b with SMTP id 98e67ed59e1d1-39d70b4a12dmr10523124a91.14.1789033664417; Thu, 10 Sep 2026 02:47:44 -0700 (PDT) X-Received: by 2002:a17:90b:52c8:b0:39b:34ef:3b2b with SMTP id 98e67ed59e1d1-39d70b4a12dmr10523068a91.14.1789033663897; Thu, 10 Sep 2026 02:47:43 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33987ccf483sm11941129eec.20.2026.09.10.02.47.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 02:47:43 -0700 (PDT) From: Mohammad Rafi Shaik Date: Thu, 10 Sep 2026 15:16:56 +0530 Subject: [PATCH v2 5/6] ASoC: qcom: lpass-va-macro: Add shikra compatible 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: <20260910-add_shikra_support-v2-5-fdd2129c696c@oss.qualcomm.com> References: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> In-Reply-To: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai Cc: Mohammad Rafi Shaik , linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789033635; l=14191; i=mohammad.rafi.shaik@oss.qualcomm.com; s=20260424; h=from:subject:message-id; bh=M6c5/i0CM590syILHdDolQBFUa+MwwGEnP4OLNSWlDA=; b=Xh2Km7eiLa4Lid5ysCOLFtDngzfRl9Tj+C7Cau5lAfG35tPhVM7hlWunrzL9oYElMId4NS+gh qOkzSdzu3iTDxGci3SvK3bzYPWxzb3Kv46KgdQlV+ogq7vA0cu53Chr X-Developer-Key: i=mohammad.rafi.shaik@oss.qualcomm.com; a=ed25519; pk=KZedmYgMGYOzuTpLGv56tdrL+pTLDP8pdmfQ91xemiA= X-Proofpoint-GUID: GYFTXQsCjWOZxv5gGfaaNgOPfImJ3pxx X-Proofpoint-ORIG-GUID: GYFTXQsCjWOZxv5gGfaaNgOPfImJ3pxx X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX4RJZefFNaIKK J34vuRfgPuUrvONpV8n+T0WX2UdrRDBXL8+NCuQGd5t8K0eE2A/PhvKRpYsESZcsbwQd3HsPSZS NVfEpAMZdAaq4H9p/VdTKC5kUokPZB9/AXR8WMN26zgWKG/uebXXQ7uL8hzVYtTVO6R0hfj+xcx omR83JaKAiSFTtjrvpJviIjB4y6/cS+tjdUAdzzcXy0vpO8If46Jo6ZNPEXTbkN4pb/ye078FG6 T3seNpYM9lEtirj3rdSIsxYmkROKw95PfvPem+TY4irLJSIaACk5+b4XyLugK7L8pHTdwu5CIni 7XIEZppc8AJjwHpFnegxbmbwy99NNW/ujFzmHej2S25AC4HLLACoXWTxoFkID8fIuds6D9gYUEI zf+9lugUlxADliISZCQ9++bTjvcTTCSh/s+9EZIHbimN1hqdBkIB11aCw0aoNXN5ZEtIFoG8VSO He/4yoSHh/wHnP5h7sg== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfXxB2sksfa2eZj gqCIOvkhhh7tNIh56ifg9Q6dq16gBpasGo/gt2TPrzzFJJATz8Ut2OthZo9H0Dv/aRLq+GSzYLh +xzCqxMM4PQZAi5K6BPVix4jcG3yVdM= X-Authority-Analysis: v=2.4 cv=a56lZkSF c=1 sm=1 tr=0 ts=6aa27cc1 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=RZsqW3wcYVDWd2ZqgEAA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-10_03,2026-09-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 spamscore=0 adultscore=0 malwarescore=0 phishscore=0 bulkscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609100111 Add shikra specific VA macro data and register programming needed by the LPASS codec v4.0 implementation. LPASS codec v4.1 extends the VA macro with four adaptive filter (ADPT) blocks at 0x0800..0x09a4 and requires the FS counter to be bypassed before it is enabled. Add the new registers as a separate reg_default array that is concatenated with the common defaults at probe time. The register layout has to be chosen before the regmap exists, i.e. before CDC_VA_TOP_CSR_CORE_ID_* can be read, so it comes from match data; probe then cross checks it against the version reported by the hardware. Signed-off-by: Mohammad Rafi Shaik --- sound/soc/codecs/lpass-va-macro.c | 228 ++++++++++++++++++++++++++++++++++= ++-- 1 file changed, 221 insertions(+), 7 deletions(-) diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-= macro.c index a3b3af0d7..8353921f7 100644 --- a/sound/soc/codecs/lpass-va-macro.c +++ b/sound/soc/codecs/lpass-va-macro.c @@ -26,6 +26,7 @@ #define CDC_VA_CLK_RST_CTRL_FS_CNT_CONTROL (0x0004) #define CDC_VA_FS_CONTROL_EN BIT(0) #define CDC_VA_FS_COUNTER_CLR BIT(1) +#define CDC_VA_FS_CNT_BYPASS BIT(7) #define CDC_VA_CLK_RST_CTRL_SWR_CONTROL (0x0008) #define CDC_VA_SWR_RESET_MASK BIT(1) #define CDC_VA_SWR_RESET_ENABLE BIT(1) @@ -156,7 +157,54 @@ #define CDC_VA_TX3_TX_PATH_SEC5 (0x05A4) #define CDC_VA_TX3_TX_PATH_SEC6 (0x05A8) =20 +/* LPASS codec v4.1 adaptive filter (ADPT) blocks */ +#define CDC_VA_CDC_ADPT0_ADPT_CTRL 0x0800 +#define CDC_VA_ADPT_CTRL_EN_MASK GENMASK(7, 0) +#define CDC_VA_CDC_ADPT0_ADPT_GAIN_0 0x0804 +#define CDC_VA_CDC_ADPT0_ADPT_GAIN_1 0x0808 +#define CDC_VA_CDC_ADPT0_DH_FSM_CTRL 0x080c +#define CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_0 0x0810 +#define CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_1 0x0814 +#define CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_2 0x0818 +#define CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_3 0x081c +#define CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_4 0x0820 +#define CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_5 0x0824 + +#define CDC_VA_CDC_ADPT1_ADPT_CTRL 0x0880 +#define CDC_VA_CDC_ADPT1_ADPT_GAIN_0 0x0884 +#define CDC_VA_CDC_ADPT1_ADPT_GAIN_1 0x0888 +#define CDC_VA_CDC_ADPT1_DH_FSM_CTRL 0x088c +#define CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_0 0x0890 +#define CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_1 0x0894 +#define CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_2 0x0898 +#define CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_3 0x089c +#define CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_4 0x08a0 +#define CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_5 0x08a4 + +#define CDC_VA_CDC_ADPT2_ADPT_CTRL 0x0900 +#define CDC_VA_CDC_ADPT2_ADPT_GAIN_0 0x0904 +#define CDC_VA_CDC_ADPT2_ADPT_GAIN_1 0x0908 +#define CDC_VA_CDC_ADPT2_DH_FSM_CTRL 0x090c +#define CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_0 0x0910 +#define CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_1 0x0914 +#define CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_2 0x0918 +#define CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_3 0x091c +#define CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_4 0x0920 +#define CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_5 0x0924 + +#define CDC_VA_CDC_ADPT3_ADPT_CTRL 0x0980 +#define CDC_VA_CDC_ADPT3_ADPT_GAIN_0 0x0984 +#define CDC_VA_CDC_ADPT3_ADPT_GAIN_1 0x0988 +#define CDC_VA_CDC_ADPT3_DH_FSM_CTRL 0x098c +#define CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_0 0x0990 +#define CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_1 0x0994 +#define CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_2 0x0998 +#define CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_3 0x099c +#define CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_4 0x09a0 +#define CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_5 0x09a4 + #define VA_MAX_OFFSET (0x07A8) +#define VA_4_1_MAX_OFFSET 0x09a4 =20 #define VA_MACRO_NUM_DECIMATORS 4 #define VA_MACRO_RATES (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ @@ -210,7 +258,6 @@ struct va_macro { u16 dmic_clk_div; bool has_swr_master; bool has_npl_clk; - int dec_mode[VA_MACRO_NUM_DECIMATORS]; struct regmap *regmap; struct clk *mclk; @@ -237,6 +284,7 @@ struct va_macro_data { bool has_swr_master; bool has_npl_clk; int version; + const struct regmap_config *regmap_config; }; =20 static const struct va_macro_data sm8250_va_data =3D { @@ -357,6 +405,127 @@ static const struct reg_default va_defaults[] =3D { { CDC_VA_TX3_TX_PATH_SEC6, 0x00}, }; =20 +static const struct reg_default va_4_1_defaults[] =3D { + /* VA macro */ + { CDC_VA_CLK_RST_CTRL_MCLK_CONTROL, 0x00}, + { CDC_VA_CLK_RST_CTRL_FS_CNT_CONTROL, 0x00}, + { CDC_VA_CLK_RST_CTRL_SWR_CONTROL, 0x00}, + { CDC_VA_TOP_CSR_TOP_CFG0, 0x00}, + { CDC_VA_TOP_CSR_DMIC0_CTL, 0x00}, + { CDC_VA_TOP_CSR_DMIC1_CTL, 0x00}, + { CDC_VA_TOP_CSR_DMIC2_CTL, 0x00}, + { CDC_VA_TOP_CSR_DMIC3_CTL, 0x00}, + { CDC_VA_TOP_CSR_DMIC_CFG, 0x80}, + { CDC_VA_TOP_CSR_DEBUG_BUS, 0x00}, + { CDC_VA_TOP_CSR_DEBUG_EN, 0x00}, + { CDC_VA_TOP_CSR_TX_I2S_CTL, 0x0C}, + { CDC_VA_TOP_CSR_I2S_CLK, 0x00}, + { CDC_VA_TOP_CSR_I2S_RESET, 0x00}, + { CDC_VA_TOP_CSR_CORE_ID_0, 0x00}, + { CDC_VA_TOP_CSR_CORE_ID_1, 0x00}, + { CDC_VA_TOP_CSR_CORE_ID_2, 0x00}, + { CDC_VA_TOP_CSR_CORE_ID_3, 0x00}, + { CDC_VA_TOP_CSR_SWR_MIC_CTL0, 0xEE}, + { CDC_VA_TOP_CSR_SWR_MIC_CTL1, 0xEE}, + { CDC_VA_TOP_CSR_SWR_MIC_CTL2, 0xEE}, + { CDC_VA_TOP_CSR_SWR_CTRL, 0x06}, + /* VA core */ + { CDC_VA_INP_MUX_ADC_MUX0_CFG0, 0x00}, + { CDC_VA_INP_MUX_ADC_MUX0_CFG1, 0x00}, + { CDC_VA_INP_MUX_ADC_MUX1_CFG0, 0x00}, + { CDC_VA_INP_MUX_ADC_MUX1_CFG1, 0x00}, + { CDC_VA_INP_MUX_ADC_MUX2_CFG0, 0x00}, + { CDC_VA_INP_MUX_ADC_MUX2_CFG1, 0x00}, + { CDC_VA_INP_MUX_ADC_MUX3_CFG0, 0x00}, + { CDC_VA_INP_MUX_ADC_MUX3_CFG1, 0x00}, + { CDC_VA_TX0_TX_PATH_CTL, 0x04}, + { CDC_VA_TX0_TX_PATH_CFG0, 0x10}, + { CDC_VA_TX0_TX_PATH_CFG1, 0x0B}, + { CDC_VA_TX0_TX_VOL_CTL, 0x00}, + { CDC_VA_TX0_TX_PATH_SEC0, 0x00}, + { CDC_VA_TX0_TX_PATH_SEC1, 0x00}, + { CDC_VA_TX0_TX_PATH_SEC2, 0x01}, + { CDC_VA_TX0_TX_PATH_SEC3, 0x3C}, + { CDC_VA_TX0_TX_PATH_SEC4, 0x20}, + { CDC_VA_TX0_TX_PATH_SEC5, 0x00}, + { CDC_VA_TX0_TX_PATH_SEC6, 0x00}, + { CDC_VA_TX0_TX_PATH_SEC7, 0x25}, + { CDC_VA_TX1_TX_PATH_CTL, 0x04}, + { CDC_VA_TX1_TX_PATH_CFG0, 0x10}, + { CDC_VA_TX1_TX_PATH_CFG1, 0x0B}, + { CDC_VA_TX1_TX_VOL_CTL, 0x00}, + { CDC_VA_TX1_TX_PATH_SEC0, 0x00}, + { CDC_VA_TX1_TX_PATH_SEC1, 0x00}, + { CDC_VA_TX1_TX_PATH_SEC2, 0x01}, + { CDC_VA_TX1_TX_PATH_SEC3, 0x3C}, + { CDC_VA_TX1_TX_PATH_SEC4, 0x20}, + { CDC_VA_TX1_TX_PATH_SEC5, 0x00}, + { CDC_VA_TX1_TX_PATH_SEC6, 0x00}, + { CDC_VA_TX2_TX_PATH_CTL, 0x04}, + { CDC_VA_TX2_TX_PATH_CFG0, 0x10}, + { CDC_VA_TX2_TX_PATH_CFG1, 0x0B}, + { CDC_VA_TX2_TX_VOL_CTL, 0x00}, + { CDC_VA_TX2_TX_PATH_SEC0, 0x00}, + { CDC_VA_TX2_TX_PATH_SEC1, 0x00}, + { CDC_VA_TX2_TX_PATH_SEC2, 0x01}, + { CDC_VA_TX2_TX_PATH_SEC3, 0x3C}, + { CDC_VA_TX2_TX_PATH_SEC4, 0x20}, + { CDC_VA_TX2_TX_PATH_SEC5, 0x00}, + { CDC_VA_TX2_TX_PATH_SEC6, 0x00}, + { CDC_VA_TX3_TX_PATH_CTL, 0x04}, + { CDC_VA_TX3_TX_PATH_CFG0, 0x10}, + { CDC_VA_TX3_TX_PATH_CFG1, 0x0B}, + { CDC_VA_TX3_TX_VOL_CTL, 0x00}, + { CDC_VA_TX3_TX_PATH_SEC0, 0x00}, + { CDC_VA_TX3_TX_PATH_SEC1, 0x00}, + { CDC_VA_TX3_TX_PATH_SEC2, 0x01}, + { CDC_VA_TX3_TX_PATH_SEC3, 0x3C}, + { CDC_VA_TX3_TX_PATH_SEC4, 0x20}, + { CDC_VA_TX3_TX_PATH_SEC5, 0x00}, + { CDC_VA_TX3_TX_PATH_SEC6, 0x00}, + /* ADPT blocks */ + { CDC_VA_CDC_ADPT0_ADPT_CTRL, 0x51}, + { CDC_VA_CDC_ADPT0_ADPT_GAIN_0, 0x11}, + { CDC_VA_CDC_ADPT0_ADPT_GAIN_1, 0x01}, + { CDC_VA_CDC_ADPT0_DH_FSM_CTRL, 0x02}, + { CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_0, 0x77}, + { CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_1, 0x64}, + { CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_2, 0x00}, + { CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_3, 0x41}, + { CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_4, 0x04}, + { CDC_VA_CDC_ADPT0_CUTOFF_FSM_CTRL_5, 0x01}, + { CDC_VA_CDC_ADPT1_ADPT_CTRL, 0x51}, + { CDC_VA_CDC_ADPT1_ADPT_GAIN_0, 0x11}, + { CDC_VA_CDC_ADPT1_ADPT_GAIN_1, 0x01}, + { CDC_VA_CDC_ADPT1_DH_FSM_CTRL, 0x02}, + { CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_0, 0x77}, + { CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_1, 0x64}, + { CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_2, 0x00}, + { CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_3, 0x41}, + { CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_4, 0x04}, + { CDC_VA_CDC_ADPT1_CUTOFF_FSM_CTRL_5, 0x01}, + { CDC_VA_CDC_ADPT2_ADPT_CTRL, 0x51}, + { CDC_VA_CDC_ADPT2_ADPT_GAIN_0, 0x11}, + { CDC_VA_CDC_ADPT2_ADPT_GAIN_1, 0x01}, + { CDC_VA_CDC_ADPT2_DH_FSM_CTRL, 0x02}, + { CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_0, 0x77}, + { CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_1, 0x64}, + { CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_2, 0x00}, + { CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_3, 0x41}, + { CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_4, 0x04}, + { CDC_VA_CDC_ADPT2_CUTOFF_FSM_CTRL_5, 0x01}, + { CDC_VA_CDC_ADPT3_ADPT_CTRL, 0x51}, + { CDC_VA_CDC_ADPT3_ADPT_GAIN_0, 0x11}, + { CDC_VA_CDC_ADPT3_ADPT_GAIN_1, 0x01}, + { CDC_VA_CDC_ADPT3_DH_FSM_CTRL, 0x02}, + { CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_0, 0x77}, + { CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_1, 0x64}, + { CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_2, 0x00}, + { CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_3, 0x41}, + { CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_4, 0x04}, + { CDC_VA_CDC_ADPT3_CUTOFF_FSM_CTRL_5, 0x01}, +}; + static bool va_is_rw_register(struct device *dev, unsigned int reg) { switch (reg) { @@ -430,6 +599,10 @@ static bool va_is_rw_register(struct device *dev, unsi= gned int reg) case CDC_VA_TX3_TX_PATH_SEC4: case CDC_VA_TX3_TX_PATH_SEC5: case CDC_VA_TX3_TX_PATH_SEC6: + case CDC_VA_CDC_ADPT0_ADPT_CTRL: + case CDC_VA_CDC_ADPT1_ADPT_CTRL: + case CDC_VA_CDC_ADPT2_ADPT_CTRL: + case CDC_VA_CDC_ADPT3_ADPT_CTRL: return true; } =20 @@ -463,6 +636,27 @@ static const struct regmap_config va_regmap_config =3D= { .writeable_reg =3D va_is_rw_register, }; =20 +static const struct regmap_config va_4_1_regmap_config =3D { + .name =3D "va_macro", + .reg_bits =3D 32, + .val_bits =3D 32, + .reg_stride =3D 4, + .cache_type =3D REGCACHE_FLAT, + .reg_defaults =3D va_4_1_defaults, + .num_reg_defaults =3D ARRAY_SIZE(va_4_1_defaults), + .max_register =3D VA_4_1_MAX_OFFSET, + .volatile_reg =3D va_is_volatile_register, + .readable_reg =3D va_is_readable_register, + .writeable_reg =3D va_is_rw_register, +}; + +static const struct va_macro_data shikra_va_data =3D { + .has_swr_master =3D true, + .has_npl_clk =3D true, + .version =3D LPASS_CODEC_VERSION_4_1, + .regmap_config =3D &va_4_1_regmap_config, +}; + static int va_clk_rsc_fs_gen_request(struct va_macro *va, bool enable) { struct regmap *regmap =3D va->regmap; @@ -471,10 +665,14 @@ static int va_clk_rsc_fs_gen_request(struct va_macro = *va, bool enable) regmap_update_bits(regmap, CDC_VA_CLK_RST_CTRL_MCLK_CONTROL, CDC_VA_MCLK_CONTROL_EN, CDC_VA_MCLK_CONTROL_EN); - /* clear the fs counter */ + regmap_update_bits(regmap, CDC_VA_CLK_RST_CTRL_FS_CNT_CONTROL, CDC_VA_FS_CONTROL_EN | CDC_VA_FS_COUNTER_CLR, CDC_VA_FS_CONTROL_EN | CDC_VA_FS_COUNTER_CLR); + + if (lpass_macro_get_codec_version() >=3D LPASS_CODEC_VERSION_4_1) + regmap_set_bits(regmap, CDC_VA_CLK_RST_CTRL_FS_CNT_CONTROL, + CDC_VA_FS_CNT_BYPASS); regmap_update_bits(regmap, CDC_VA_CLK_RST_CTRL_FS_CNT_CONTROL, CDC_VA_FS_CONTROL_EN | CDC_VA_FS_COUNTER_CLR, CDC_VA_FS_CONTROL_EN); @@ -503,7 +701,7 @@ static int va_macro_mclk_enable(struct va_macro *va, bo= ol mclk_enable) if (mclk_enable) { va_clk_rsc_fs_gen_request(va, true); regcache_mark_dirty(regmap); - regcache_sync_region(regmap, 0x0, VA_MAX_OFFSET); + regcache_sync_region(regmap, 0x0, regmap_get_max_register(regmap)); } else { va_clk_rsc_fs_gen_request(va, false); } @@ -749,6 +947,7 @@ static int va_macro_enable_dec(struct snd_soc_dapm_widg= et *w, unsigned int decimator; u16 tx_vol_ctl_reg, dec_cfg_reg, hpf_gate_reg; u16 tx_gain_ctl_reg; + u16 adpt_ctrl_reg; u8 hpf_cut_off_freq; =20 struct va_macro *va =3D snd_soc_component_get_drvdata(comp); @@ -763,6 +962,7 @@ static int va_macro_enable_dec(struct snd_soc_dapm_widg= et *w, VA_MACRO_TX_PATH_OFFSET * decimator; tx_gain_ctl_reg =3D CDC_VA_TX0_TX_VOL_CTL + VA_MACRO_TX_PATH_OFFSET * decimator; + adpt_ctrl_reg =3D CDC_VA_CDC_ADPT0_ADPT_CTRL + decimator * VA_MACRO_TX_PA= TH_OFFSET; =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: @@ -772,6 +972,10 @@ static int va_macro_enable_dec(struct snd_soc_dapm_wid= get *w, /* Enable TX PGA Mute */ break; case SND_SOC_DAPM_POST_PMU: + if (lpass_macro_get_codec_version() >=3D LPASS_CODEC_VERSION_4_1) + snd_soc_component_update_bits(comp, adpt_ctrl_reg, + CDC_VA_ADPT_CTRL_EN_MASK, 0x00); + /* Enable TX CLK */ snd_soc_component_update_bits(comp, tx_vol_ctl_reg, CDC_VA_TX_PATH_CLK_EN_MASK, @@ -1526,6 +1730,14 @@ static int va_macro_set_lpass_codec_version(struct v= a_macro *va) default: break; } + } else if (maj =3D=3D 4) { + switch (min) { + case 1: + version =3D LPASS_CODEC_VERSION_4_1; + break; + default: + break; + } } =20 if (version =3D=3D LPASS_CODEC_VERSION_UNKNOWN) { @@ -1556,6 +1768,7 @@ static int va_macro_probe(struct platform_device *pde= v) return -ENOMEM; =20 va->dev =3D dev; + data =3D of_device_get_match_data(dev); =20 va->macro =3D devm_clk_get_optional(dev, "macro"); if (IS_ERR(va->macro)) @@ -1592,15 +1805,15 @@ static int va_macro_probe(struct platform_device *p= dev) goto err; } =20 - va->regmap =3D devm_regmap_init_mmio(dev, base, &va_regmap_config); + dev_set_drvdata(dev, va); + + va->regmap =3D devm_regmap_init_mmio(dev, base, + data->regmap_config ?: &va_regmap_config); if (IS_ERR(va->regmap)) { ret =3D -EINVAL; goto err; } =20 - dev_set_drvdata(dev, va); - - data =3D of_device_get_match_data(dev); va->has_swr_master =3D data->has_swr_master; va->has_npl_clk =3D data->has_npl_clk; =20 @@ -1775,6 +1988,7 @@ static const struct of_device_id va_macro_dt_match[] = =3D { { .compatible =3D "qcom,sm8450-lpass-va-macro", .data =3D &sm8450_va_data= }, { .compatible =3D "qcom,sm8550-lpass-va-macro", .data =3D &sm8550_va_data= }, { .compatible =3D "qcom,sc8280xp-lpass-va-macro", .data =3D &sm8450_va_da= ta }, + { .compatible =3D "qcom,shikra-lpass-va-macro", .data =3D &shikra_va_data= }, {} }; MODULE_DEVICE_TABLE(of, va_macro_dt_match); --=20 2.34.1 From nobody Fri Sep 25 16:56:49 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 BFE7841378C for ; Thu, 10 Sep 2026 09:47:52 +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=1789033675; cv=none; b=cwKd75ztN9lN02TbTUk2I5F4gw8shLU+MNQtMheynGzMNIS8l5mRMXQobhh5V4Qzj7OcLvASEzn5MmDRJv812mXx1Fk9hp+yJjWXEti8r1S1f5trInlm9bCWk/jpGqgWZ2RXg52ZUTMlz3shRbTEiKqtQCeAF7Z5JLrWLNxXTW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789033675; c=relaxed/simple; bh=KP1B8jmPIOUAYbYtsBM367GDomMQVaWtZeTmopGWkOM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LZgqkNrgD6dn+jDWIm6Cr9p8MkjJ4sOgYBUujjZpj2G4E5kbbcNqiyCldbFaCD0w+ZHZ8Hv3Jrfzv94aDh9LDwQp3hbtZzkGxz2AdtyQJyPUUY8SBvZpB6l5FD5K8C/Sc5cx3gVZZLhNpI1rSnNCJhKZ3EHoSaJOLjX1T/qqKBA= 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=FuvZc2MH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=az0OYXyp; 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="FuvZc2MH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="az0OYXyp" 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 68A8pv9e3998288 for ; Thu, 10 Sep 2026 09:47:50 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= fVUqAvMiB9JAsaFJB5FKDKFdZN1MylnMLuxwGAm+HZg=; b=FuvZc2MHQ9cEvqGF 84p70F59o6lOnIrTiMfDyuov0CLj4b1L+NniK/J06FL0qINneXSry620vsx5IVUu wTSa5yeO9UYwJnP0tNKxfnQolqu75dP1IuW/xNIcVXQVFpyDAe/7JL60B52Sbf8c lz371/RCXWoGDvvhJU+sdmRUKThkdwueCZhTmvWCAi6cQX91jURtNoKA/LYcy4MK noXbuD3YVFfwG/2/K21jnyuFVtYX9Jqsxpp48Q3yXHgET+5SieypTdGbKvOAsIou D99ezdB5rh0X7XatOHCFXDVHgwPcHi5SKxR6VyPkx1eyuwpZtoOIK3tPRMjiRwEf YrFR5A== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gkcyfk9f5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 10 Sep 2026 09:47:50 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2d6fed0652bso86316945ad.2 for ; Thu, 10 Sep 2026 02:47:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789033669; x=1789638469; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=fVUqAvMiB9JAsaFJB5FKDKFdZN1MylnMLuxwGAm+HZg=; b=az0OYXypBTQZbWUHPh6lcRXfrMEnSEmdfgufpIKntZLnUBkR/vDH7+J/cLCO49oSIY 5iL+rAYwsFviUZGNpE5gWTmJtKqRZyp9zbiVCG68ebEc7QIAKXtbEfUXnu23dgZ0BRDK p+iEq3aTv0jFzqA/oY+vVITYIcX7D0V+3ERFuh/ipAgDn2yCvRlWNjuHPwRAGjsSwzfI jKdpSYofni3JnibVUWD5Cnp1nwDsKzP7a0aDpDgM308VXTo5ZQbrpHO3/31myqEolEqU xicQ/cAWzrjrVypuu0PXAxbBFOQgIy8VC0VW6jddn2+IaZUHdzcv4LReHiamzGe3rKlH hSSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789033669; x=1789638469; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=fVUqAvMiB9JAsaFJB5FKDKFdZN1MylnMLuxwGAm+HZg=; b=B1LjGflbRbzaVmRZjKPO7dv6a4FNZDaWUOhrQj/TZL3azaqxihlDtppT/3VS14QH2g c3JuqTazB34ydGCBgXOcdXCZJcRGPXF4Z7AeY0hfodObfWZ2e1EadbtMzXTACno/oTMH gCE/dpFi1yWzTW3G96KKe7vYuRZ6u0Moc/gwH3O6Z4iBg9MXga/KSOwnaY5GwulYqSgT R6kaBmDA3g2WcBxZQ4X6nAmwlXH4oNg+IkfUbBeFcX71bOV5/hhrfZlk8oM8ZkrvFcp4 K/8VVH4tqGwHQUxb+lc6j7ZPDa4royVS7QobmJwizTUN7TMFTbAy56iG9UYK8NNY7vQo HNFw== X-Forwarded-Encrypted: i=1; AKwUvBxKJZEpph2E++pzdXYD+C3oYulEybSxGuVUIIj5qWYNbKKFSmvO/pCAJ/iY0v3B7k4CX9q1kbZ2LMXHfyk=@vger.kernel.org X-Gm-Message-State: AFuF++lY0DsVC8EWfSEzNlVpcHKUeLrNHzg+bMC+G32CEdnjlDI/sdDS ULeo7fPhaWHpyKYHYCdTBcSxm2XchHbdBljUtVxaJ+cliwutLLjE95WbF7SB8S3udf+HoeWyIHH LweotcCz4GfEC34ulbTA6/3P40NZT+zkP+JuK2GOPYndXt3I7P1vIZcVt3TQxSsCgXRQ= X-Gm-Gg: AYBFou2NicuK22AitJyYrWtCXjF240ZOW+0Tih+YeFqT6CaJv0dUpKMREqbsvH54M+e K/KT7H1CHeCNJ27VE9aupGtlMT0cIbtaMVM+UHbutW1pGTh67TnYI/8qmcIKeUvVNs3aPtuj1iE 7Pu5FC+hMOZnXr29ijWAkALH9w4lIEbTddgoVPmyVALX9uqo9DRhcDJMvIGQp/wuLqxGkmKDa3z NIsL4YrG+y4SSX7v2Pq4ArNnk/4EDP2+yJPKS0rZFD+Wr4QuDIlUURdaHEMVZMf7Ti/BFjRAnj1 sQEyRMSBjt2AaN8I5neTcCoP5UFQQf4j+JIx9H7fUR/UjWqDNHj479OO/SVeUQ7hHgd1Ebf3G9u F/dlQlDUqGjvhruMBFPZFYdC6JbKJTUw+9Qgd X-Received: by 2002:a17:90b:2d07:b0:398:ceed:6d44 with SMTP id 98e67ed59e1d1-39b262abd26mr59783244a91.25.1789033669252; Thu, 10 Sep 2026 02:47:49 -0700 (PDT) X-Received: by 2002:a17:90b:2d07:b0:398:ceed:6d44 with SMTP id 98e67ed59e1d1-39b262abd26mr59783179a91.25.1789033668684; Thu, 10 Sep 2026 02:47:48 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33987ccf483sm11941129eec.20.2026.09.10.02.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 02:47:48 -0700 (PDT) From: Mohammad Rafi Shaik Date: Thu, 10 Sep 2026 15:16:57 +0530 Subject: [PATCH v2 6/6] ASoC: qcom: lpass-va-macro: Add SoundWire microphone mux support 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: <20260910-add_shikra_support-v2-6-fdd2129c696c@oss.qualcomm.com> References: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> In-Reply-To: <20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai Cc: Mohammad Rafi Shaik , linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789033635; l=8793; i=mohammad.rafi.shaik@oss.qualcomm.com; s=20260424; h=from:subject:message-id; bh=KP1B8jmPIOUAYbYtsBM367GDomMQVaWtZeTmopGWkOM=; b=tAoTM+NNc/wOj/T59GNUa+VqadjqjnW8oz62MbPnezTia2VDh+NvlXtgv9MBcXpS27Bh0eIR+ 4VtMR48cZwbA6lX76SRcHj9IZ/nYWGC5ljEFbzx5AV7rYWlKKgm9Dne X-Developer-Key: i=mohammad.rafi.shaik@oss.qualcomm.com; a=ed25519; pk=KZedmYgMGYOzuTpLGv56tdrL+pTLDP8pdmfQ91xemiA= X-Proofpoint-Spam-Info: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX6o5517tCq14K iVK8KT2rJllqjXkhWMwsJkYG6Apf7ZbNg+vBluFiKCJT4AVKVsxTjLRPdSvdjWPEhLPanrcUNYV vcUtaqGzYyWtN+Y7A7kJ6nx/KkGrASQ= X-Proofpoint-ORIG-GUID: ze-oMczo9RCm44vHdLJK27c3BJZu5wkL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTEwMDExMSBTYWx0ZWRfX9e8hVy5i37+P h3KrOKXsH9cAKKZnLC2NJ1DW0B7S5t8z2++JcrxJKKbq/tw4e5nIsObZjrk0eVOZA3oLNmWMYya nCUQB+ZBkoeWwevkq+i0SnS7KToPoWPC7EBitxPZ9J9gzedhe+drUos1CCORZbjuKrj3XkO6JtP dldj8/9qOlPsoXWBgk8lQEdAcIHe1hG38fCdiIB2WM6Mfvb6wcpnhuA0eIDXpcO4ziIq/EI6z3t Uw74GPV7x4Hflcpm/jqrjIYdViDgkCSmepiDmXuozow7LcpifRi5X5OtFv2ua+gLotIz7K1g8EK qgwc9d3H5NolGhihuleRp78Z/R+h7lg26H1bZPbvaiIHJnPwM5+Q+SE0+rAt5euEz5cVHPvY6By fHwA7lm78ilcTw89Bqvph14p8LtyOmWjwETPEIzgu7ac+oAtPXMurCIEhYb78HKUJvIfB3O2uT2 UcQyaJvU2bp3yb3GrZQ== X-Authority-Analysis: v=2.4 cv=H5pOUOYi c=1 sm=1 tr=0 ts=6aa27cc6 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=76V9-zZnIusTmnIAdMMA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: ze-oMczo9RCm44vHdLJK27c3BJZu5wkL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-10_03,2026-09-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 spamscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609100111 The VA decimators can currently capture audio only from DMIC inputs. Add support for routing audio from SoundWire microphone (SMIC) inputs as well. Update the decimator source selection logic to switch between DMIC and SMIC sources based on the active input path. Add a helper to detect whether a decimator is using a SoundWire microphone input. Use this information to skip DMIC-specific HPF programming sequences when the decimator is configured for an SMIC source. This enables VA decimators to capture audio from either DMIC or SoundWire microphone inputs. Signed-off-by: Mohammad Rafi Shaik --- sound/soc/codecs/lpass-va-macro.c | 124 ++++++++++++++++++++++++++++++++++= ---- 1 file changed, 113 insertions(+), 11 deletions(-) diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-= macro.c index 8353921f7..46f35a984 100644 --- a/sound/soc/codecs/lpass-va-macro.c +++ b/sound/soc/codecs/lpass-va-macro.c @@ -249,6 +249,7 @@ enum { VA_MACRO_CLK_DIV_16, }; =20 + #define VA_NUM_CLKS_MAX 3 =20 struct va_macro { @@ -756,10 +757,16 @@ static int va_macro_put_dec_enum(struct snd_kcontrol = *kcontrol, return -EINVAL; } =20 - if (val !=3D 0) - snd_soc_component_update_bits(component, mic_sel_reg, + if (val !=3D 0) { + if (strstr(widget->name, "SMIC")) + snd_soc_component_update_bits(component, mic_sel_reg, + CDC_VA_TX_PATH_ADC_DMIC_SEL_MASK, + CDC_VA_TX_PATH_ADC_DMIC_SEL_ADC); + else + snd_soc_component_update_bits(component, mic_sel_reg, CDC_VA_TX_PATH_ADC_DMIC_SEL_MASK, CDC_VA_TX_PATH_ADC_DMIC_SEL_DMIC); + } =20 return snd_soc_dapm_put_enum_double(kcontrol, ucontrol); } @@ -940,6 +947,16 @@ static int va_macro_enable_dmic(struct snd_soc_dapm_wi= dget *w, return 0; } =20 +static bool is_amic_enabled(struct snd_soc_component *comp, int decimator) +{ + u16 adc_mux_reg; + + adc_mux_reg =3D CDC_VA_INP_MUX_ADC_MUX0_CFG1 + + VA_MACRO_ADC_MUX_CFG_OFFSET * decimator; + + return snd_soc_component_read(comp, adc_mux_reg) & BIT(0); +} + static int va_macro_enable_dec(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { @@ -949,7 +966,6 @@ static int va_macro_enable_dec(struct snd_soc_dapm_widg= et *w, u16 tx_gain_ctl_reg; u16 adpt_ctrl_reg; u8 hpf_cut_off_freq; - struct va_macro *va =3D snd_soc_component_get_drvdata(comp); =20 decimator =3D w->shift; @@ -980,7 +996,8 @@ static int va_macro_enable_dec(struct snd_soc_dapm_widg= et *w, snd_soc_component_update_bits(comp, tx_vol_ctl_reg, CDC_VA_TX_PATH_CLK_EN_MASK, CDC_VA_TX_PATH_CLK_EN); - snd_soc_component_update_bits(comp, hpf_gate_reg, + if (!is_amic_enabled(comp, decimator)) + snd_soc_component_update_bits(comp, hpf_gate_reg, CDC_VA_TX_HPF_ZERO_GATE_MASK, CDC_VA_TX_HPF_ZERO_GATE); =20 @@ -994,21 +1011,20 @@ static int va_macro_enable_dec(struct snd_soc_dapm_w= idget *w, CF_MIN_3DB_150HZ << 5); =20 snd_soc_component_update_bits(comp, hpf_gate_reg, - CDC_VA_TX_HPF_CUTOFF_FREQ_CHANGE_MASK, - CDC_VA_TX_HPF_CUTOFF_FREQ_CHANGE_REQ); + CDC_VA_TX_HPF_CUTOFF_FREQ_CHANGE_MASK, + CDC_VA_TX_HPF_CUTOFF_FREQ_CHANGE_REQ); =20 /* * Minimum 1 clk cycle delay is required as per HW spec */ usleep_range(1000, 1010); =20 - snd_soc_component_update_bits(comp, - hpf_gate_reg, - CDC_VA_TX_HPF_CUTOFF_FREQ_CHANGE_MASK, - 0x0); + if (!is_amic_enabled(comp, decimator)) + snd_soc_component_update_bits(comp, hpf_gate_reg, + CDC_VA_TX_HPF_CUTOFF_FREQ_CHANGE_MASK, + 0x0); } =20 - usleep_range(1000, 1010); snd_soc_component_update_bits(comp, hpf_gate_reg, CDC_VA_TX_HPF_ZERO_GATE_MASK, @@ -1208,6 +1224,39 @@ static const char * const adc_mux_text[] =3D { "VA_DMIC", "SWR_MIC" }; =20 +static const char * const smic_mux_text[] =3D { + "ZERO", "SWR_MIC0", "SWR_MIC1", "SWR_MIC2", "SWR_MIC3", + "SWR_MIC4", "SWR_MIC5", "SWR_MIC6", "SWR_MIC7" +}; + +static SOC_ENUM_SINGLE_DECL(va_smic0_enum, CDC_VA_INP_MUX_ADC_MUX0_CFG0, + 0, smic_mux_text); + +static SOC_ENUM_SINGLE_DECL(va_smic1_enum, CDC_VA_INP_MUX_ADC_MUX1_CFG0, + 0, smic_mux_text); + +static SOC_ENUM_SINGLE_DECL(va_smic2_enum, CDC_VA_INP_MUX_ADC_MUX2_CFG0, + 0, smic_mux_text); + +static SOC_ENUM_SINGLE_DECL(va_smic3_enum, CDC_VA_INP_MUX_ADC_MUX3_CFG0, + 0, smic_mux_text); + +static const struct snd_kcontrol_new va_smic0_mux =3D SOC_DAPM_ENUM_EXT("v= a_smic0", + va_smic0_enum, snd_soc_dapm_get_enum_double, + va_macro_put_dec_enum); + +static const struct snd_kcontrol_new va_smic1_mux =3D SOC_DAPM_ENUM_EXT("v= a_smic1", + va_smic1_enum, snd_soc_dapm_get_enum_double, + va_macro_put_dec_enum); + +static const struct snd_kcontrol_new va_smic2_mux =3D SOC_DAPM_ENUM_EXT("v= a_smic2", + va_smic2_enum, snd_soc_dapm_get_enum_double, + va_macro_put_dec_enum); + +static const struct snd_kcontrol_new va_smic3_mux =3D SOC_DAPM_ENUM_EXT("v= a_smic3", + va_smic3_enum, snd_soc_dapm_get_enum_double, + va_macro_put_dec_enum); + static SOC_ENUM_SINGLE_DECL(va_dec0_enum, CDC_VA_INP_MUX_ADC_MUX0_CFG1, 0, adc_mux_text); static SOC_ENUM_SINGLE_DECL(va_dec1_enum, CDC_VA_INP_MUX_ADC_MUX1_CFG1, @@ -1343,6 +1392,11 @@ static const struct snd_soc_dapm_widget va_macro_dap= m_widgets[] =3D { SND_SOC_DAPM_MUX("VA DMIC MUX2", SND_SOC_NOPM, 0, 0, &va_dmic2_mux), SND_SOC_DAPM_MUX("VA DMIC MUX3", SND_SOC_NOPM, 0, 0, &va_dmic3_mux), =20 + SND_SOC_DAPM_MUX("VA SMIC MUX0", SND_SOC_NOPM, 0, 0, &va_smic0_mux), + SND_SOC_DAPM_MUX("VA SMIC MUX1", SND_SOC_NOPM, 0, 0, &va_smic1_mux), + SND_SOC_DAPM_MUX("VA SMIC MUX2", SND_SOC_NOPM, 0, 0, &va_smic2_mux), + SND_SOC_DAPM_MUX("VA SMIC MUX3", SND_SOC_NOPM, 0, 0, &va_smic3_mux), + SND_SOC_DAPM_REGULATOR_SUPPLY("vdd-micb", 0, 0), SND_SOC_DAPM_INPUT("DMIC0 Pin"), SND_SOC_DAPM_INPUT("DMIC1 Pin"), @@ -1397,6 +1451,14 @@ static const struct snd_soc_dapm_widget va_macro_dap= m_widgets[] =3D { SND_SOC_DAPM_INPUT("VA SWR_MIC5"), SND_SOC_DAPM_INPUT("VA SWR_MIC6"), SND_SOC_DAPM_INPUT("VA SWR_MIC7"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT0"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT1"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT2"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT3"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT4"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT5"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT6"), + SND_SOC_DAPM_INPUT("VA SWR_INPUT7"), =20 SND_SOC_DAPM_MUX_E("VA DEC0 MUX", SND_SOC_NOPM, VA_MACRO_DEC0, 0, &va_dec0_mux, va_macro_enable_dec, @@ -1487,6 +1549,46 @@ static const struct snd_soc_dapm_route va_audio_map[= ] =3D { {"VA DMIC MUX3", "DMIC6", "VA DMIC6"}, {"VA DMIC MUX3", "DMIC7", "VA DMIC7"}, =20 + {"VA DEC0 MUX", "SWR_MIC", "VA SMIC MUX0"}, + {"VA SMIC MUX0", "SWR_MIC0", "VA SWR_INPUT0"}, + {"VA SMIC MUX0", "SWR_MIC1", "VA SWR_INPUT1"}, + {"VA SMIC MUX0", "SWR_MIC2", "VA SWR_INPUT2"}, + {"VA SMIC MUX0", "SWR_MIC3", "VA SWR_INPUT3"}, + {"VA SMIC MUX0", "SWR_MIC4", "VA SWR_INPUT4"}, + {"VA SMIC MUX0", "SWR_MIC5", "VA SWR_INPUT5"}, + {"VA SMIC MUX0", "SWR_MIC6", "VA SWR_INPUT6"}, + {"VA SMIC MUX0", "SWR_MIC7", "VA SWR_INPUT7"}, + + {"VA DEC1 MUX", "SWR_MIC", "VA SMIC MUX1"}, + {"VA SMIC MUX1", "SWR_MIC0", "VA SWR_INPUT0"}, + {"VA SMIC MUX1", "SWR_MIC1", "VA SWR_INPUT1"}, + {"VA SMIC MUX1", "SWR_MIC2", "VA SWR_INPUT2"}, + {"VA SMIC MUX1", "SWR_MIC3", "VA SWR_INPUT3"}, + {"VA SMIC MUX1", "SWR_MIC4", "VA SWR_INPUT4"}, + {"VA SMIC MUX1", "SWR_MIC5", "VA SWR_INPUT5"}, + {"VA SMIC MUX1", "SWR_MIC6", "VA SWR_INPUT6"}, + {"VA SMIC MUX1", "SWR_MIC7", "VA SWR_INPUT7"}, + + {"VA DEC2 MUX", "SWR_MIC", "VA SMIC MUX2"}, + {"VA SMIC MUX2", "SWR_MIC0", "VA SWR_INPUT0"}, + {"VA SMIC MUX2", "SWR_MIC1", "VA SWR_INPUT1"}, + {"VA SMIC MUX2", "SWR_MIC2", "VA SWR_INPUT2"}, + {"VA SMIC MUX2", "SWR_MIC3", "VA SWR_INPUT3"}, + {"VA SMIC MUX2", "SWR_MIC4", "VA SWR_INPUT4"}, + {"VA SMIC MUX2", "SWR_MIC5", "VA SWR_INPUT5"}, + {"VA SMIC MUX2", "SWR_MIC6", "VA SWR_INPUT6"}, + {"VA SMIC MUX2", "SWR_MIC7", "VA SWR_INPUT7"}, + + {"VA DEC3 MUX", "SWR_MIC", "VA SMIC MUX3"}, + {"VA SMIC MUX3", "SWR_MIC0", "VA SWR_INPUT0"}, + {"VA SMIC MUX3", "SWR_MIC1", "VA SWR_INPUT1"}, + {"VA SMIC MUX3", "SWR_MIC2", "VA SWR_INPUT2"}, + {"VA SMIC MUX3", "SWR_MIC3", "VA SWR_INPUT3"}, + {"VA SMIC MUX3", "SWR_MIC4", "VA SWR_INPUT4"}, + {"VA SMIC MUX3", "SWR_MIC5", "VA SWR_INPUT5"}, + {"VA SMIC MUX3", "SWR_MIC6", "VA SWR_INPUT6"}, + {"VA SMIC MUX3", "SWR_MIC7", "VA SWR_INPUT7"}, + { "VA DMIC0", NULL, "DMIC0 Pin" }, { "VA DMIC1", NULL, "DMIC1 Pin" }, { "VA DMIC2", NULL, "DMIC2 Pin" }, --=20 2.34.1