From nobody Thu Oct 9 04:16:44 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 331D32857CB for ; Fri, 20 Jun 2025 10:30:39 +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=1750415441; cv=none; b=lhfZEpIhN9BtUHadlwLgD6ojOtIxohdhf9BDZnaQ6d+TlGuGsLp8y73QmV+rR2gl49B+63EUKlwntAmGQbnz9kKDYq7TFQB6eMpJBmIifHmBJ8KZ7uq2QVJKSaGE7GnZF8Whdjb3VcKcI4RcwS24j3EaAv1+oIzXU3I3vQRh81A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750415441; c=relaxed/simple; bh=FACaevhjabj+99RoTiQQq1b2jCviQK1t6Im1KybJtjk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lu9gbV2rBk4MoH5vGdsfYGlQwmwfDyXS9A26jaOSo6XU+a3SAwi9zqdhivKT1+ogitttMcOQ7rX4864V/wWDalGzfZYVwgnTVu5mtBh6fcLh7Ha2lpvr0nVA8JDmbDT5+oSZ4o9B951cVbuqqkZhDNNwoz1jGHG7jqZ0ehKmvJQ= 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=gaVgOEKH; 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="gaVgOEKH" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55K70oOk015082 for ; Fri, 20 Jun 2025 10:30:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=D4WuNA6VbsB h8tPmc7Kh2HUVGz6QFTY4VzYqj8L1/+k=; b=gaVgOEKHZoPuF83f2WXzGvAqQnB vlQWW1Xv8ZtbT0YxCQdC/ZmvWPWdCmdHBnq+n5T2RGd7pfoybSLDissfsmtRuE4R +ydx8Ml+bxF7+k4TrwvsKnO2I/R10mIk5R/qf8jNHjJpi1KPl9l3S0MSX0AA8+a8 hDR5Cl2qaN/MNIgkBG975tg8FkEPp+ekc168h6Ytri0QMRDgu+uS6A7l60UCQN9u oSp9r25oZnauUhg7RWwonko++1GixvXLouiHAWR7TTJdaSrgWundwsM5HKH5QNDM 65R8MAzx7uv82FZdN03IF7sC2ppX4K8C5LSozBHpfiDomFeIjIZFl02JXAw== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4792cab45k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 20 Jun 2025 10:30:39 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-b31831b0335so2056263a12.3 for ; Fri, 20 Jun 2025 03:30:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750415438; x=1751020238; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D4WuNA6VbsBh8tPmc7Kh2HUVGz6QFTY4VzYqj8L1/+k=; b=hr2y3ColN9OSCpnL169zMeaqAC+Uqv9AnnOzc2IgZMxV4q0819bHWFtDgQB8X11ZWq 3Nzwr29BT0q5SWOFkbEh2OyGY4we0qBr9p+Ca3Qmv0fq4TQbmsN9+d16/0IkMxYS4iaB 5svmTKYbOwZm00BAktxxGvF9e6u0hycCiOKJ7gFNQUJ7uXdH9zro5B9P+TuVHUR0MdDq Q7oWbWr/cHZdhRXDC/nLxnTp/l+S8NRLQqiMv4z65Yzdi0yT/SdjbMWQzRkTAK9oFqC3 6+HMPHFhmlyLtMZyRArWAVUmh+dB3iePgCxtCSP/aGKLjw6k7UJzM7W73HZvu+QtsTJg SdEg== X-Forwarded-Encrypted: i=1; AJvYcCWcu5RPCKGk4PQRqadtO9w/RuZLPr8QUe1UJlm1cOwlPPyVY7A3OIceGfCtw1gkKCzLAPn5JuiFTzDDvuQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yyqkl8irT8wL8oJTEoi8jFbgR3uD5OJSCijCZG5fCCHZjCn11nD Zf9TiPlK+M54W+dWPSjTnS0C2M+OGS73PzSPqAr/CJfGaxznZ+NkgigSMcFuaxSHEpVQn2nzu8n +u7RqPdke+91UcmkPP0VRYZm8qA2qhYPItciovqSC3wn7gX9EMdYfigeGvYA5hEU+jmM= X-Gm-Gg: ASbGncugbmgkabp2GIPW9eyfZNS0R14W1kNkTfKlaft1n4IBAQ2L/X8fqwgWHu3ltRB ztKm8YWTlYfnzhLvGeCnyrh1AmIY29xG+nsPgJJEIzO9nOc2NTXQR8gI83sD6V2v45gvCEv8I2b 90U5R7P9YnqWq/ubgwj0fLFqX3b/9RPD8rYI8+Ca03UfU8QVVc+/U7oBqHErPVPwrxJYjJR4NNU p2678832seJJsZ45l5DHvU77fbKSwElFdw+26lMtuhPVLliz+RFt9XFz8RQmqaddryoMb4gn+ty Eh+UQjJM5k4ROfSdC+IZUJaJfj7OUucz3AByxrhrIDNbBxr8EtC0/oxtteI= X-Received: by 2002:a05:6a20:7350:b0:21f:ebfd:def2 with SMTP id adf61e73a8af0-22026e4f496mr3560300637.10.1750415438499; Fri, 20 Jun 2025 03:30:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFsRepHQERqynj9bksMS2WBRfE9QQUxy9vlASK1Gx1FVkJz/k4AGWV4kq6UMQPyMo0LynP3AA== X-Received: by 2002:a05:6a20:7350:b0:21f:ebfd:def2 with SMTP id adf61e73a8af0-22026e4f496mr3560253637.10.1750415438066; Fri, 20 Jun 2025 03:30:38 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7490a69f3e2sm1651347b3a.159.2025.06.20.03.30.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Jun 2025 03:30:37 -0700 (PDT) From: Mohammad Rafi Shaik To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai , Philipp Zabel , Linus Walleij , Bartosz Golaszewski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, quic_pkumpatl@quicinc.com, kernel@oss.qualcomm.com Subject: [PATCH v1 1/2] ASoC: dt-bindings: qcom,wsa8830: Add reset-gpios for shared line Date: Fri, 20 Jun 2025 16:00:11 +0530 Message-Id: <20250620103012.360794-2-mohammad.rafi.shaik@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250620103012.360794-1-mohammad.rafi.shaik@oss.qualcomm.com> References: <20250620103012.360794-1-mohammad.rafi.shaik@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: tbGoFKhe-OUrL_C53ogNNnocWsVlv9XM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjIwMDA3NiBTYWx0ZWRfX8rUqFeJ250/j bVrEDl7rAaFAh/tYQWM4UH1y7M4VyqonY31UN+8gR6SVFVMwemyn1BB80Rd0GCwC9olp3K6nQMZ dVWojZK87SLG0oe4NKtDeyedNAZYD+DDHWzncojwyhbyqL0MlupQG3dZnC3lCqavLoBGaUhCIBh 0uV/PmDcP5eC/xBWlqouQRgYZYjv4aJmSlRBtHTXT37HPQEIUWsvR4Km27s6OsGyWwEIUCQcqa1 2/H4jwrHOkDHEIe3vUOs4wKEa8sOY7TtcknUtoyES5SFxrWh629JUK55BkUiiW9SqrOpJxVXrKg n0bgHpaa0DGadOIOXF9aRTtVWdhm1VZr4HiDR4VF2t/SlSpwYtEcs65DLjwFtDgeTe8/wgnHE+I 8Vj/ZRxz7Edpk4M3fLoFtgXhOlCpYRiPJGxO+YFagDmsJ8QLQhSUs9iRJ/WZzV4jsezpa29S X-Proofpoint-ORIG-GUID: tbGoFKhe-OUrL_C53ogNNnocWsVlv9XM X-Authority-Analysis: v=2.4 cv=etffzppX c=1 sm=1 tr=0 ts=6855384f cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=WN4HfKPq_xmDaqbUiLYA:9 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-20_04,2025-06-18_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 adultscore=0 spamscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 phishscore=0 mlxlogscore=999 lowpriorityscore=0 bulkscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506200076 Content-Type: text/plain; charset="utf-8" On Qualcomm platforms, like QCS6490-RB3Gen2 and QCM6490-IDP, the WSA884x speakers share SD_N GPIOs between two speakers, thus a coordinated assertion is needed. Linux supports handling shared GPIO lines through "reset-gpios"property, thus allow specifying either powerdown or reset GPIOs (these are the same). Signed-off-by: Mohammad Rafi Shaik --- .../devicetree/bindings/sound/qcom,wsa883x.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml b/Do= cumentation/devicetree/bindings/sound/qcom,wsa883x.yaml index 14d312f9c345..098f1df62c8c 100644 --- a/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml @@ -29,6 +29,10 @@ properties: description: GPIO spec for Powerdown/Shutdown line to use (pin SD_N) maxItems: 1 =20 + reset-gpios: + description: Powerdown/Shutdown line to use (pin SD_N) + maxItems: 1 + vdd-supply: description: VDD Supply for the Codec =20 @@ -50,10 +54,15 @@ required: - compatible - reg - vdd-supply - - powerdown-gpios - "#thermal-sensor-cells" - "#sound-dai-cells" =20 +oneOf: + - required: + - powerdown-gpios + - required: + - reset-gpios + unevaluatedProperties: false =20 examples: --=20 2.34.1 From nobody Thu Oct 9 04:16:44 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 69F8D2857CB for ; Fri, 20 Jun 2025 10:30:45 +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=1750415446; cv=none; b=iPCXmtDkG0T8iORRHXtidp+NC8xSBZS+jxTsZyEPRUL3Z0Ck1sltHDOlXjcytiyNHEa/SkCr4kB59lmv62sQLAnZfF5/ltHsk3oF7ANBAXNnpHpY8i6sL5aXBY+yTJFqUv+oxk7wbIImp9W9RH9ZpyZYvpzUtsRXHQGb1VAhHDk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750415446; c=relaxed/simple; bh=bbxaUsU/ka58nAhmBhenyOaPkSWvg3S0shWSJ/g+NV8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=FSvg2ZMvOlIwpI1wzwNEHQbbpmQPnvxALSSm0UjfHwx8rToAiL/kAogRInGO2GFdB6B+jPfDjXIyoWYcO0BhVNghDAK49ovwPzDEybjsfcLSQ7tduA4X9NOQJ2iqY8kFvmyyE1AKbJIzMJvunT0ISto3cRiR3ohO3WwnsRFjeW8= 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=Xm2UK1op; 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="Xm2UK1op" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55K5hiOR020800 for ; Fri, 20 Jun 2025 10:30:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=TU8mtSZU0G3 e/vpytaHll2AVzRvf35xT6/rG2wBi1+U=; b=Xm2UK1opIwo2VuHAhy/7NgUMzok XIgk6n7VC60ycGcRim/Pjv/lJNhiH9yksLLb90NOxkYrWrMIlarp8nRbTZxB54YP AieQcG6/nRA2oW09EzE/GdrJALeJbGCCpmq7OPIZOVHQujUKGoQ4RO+grvkB1x5D Jl+0q26gbrSvyXYyKmKwJtJSGEbfUsZXenbNvo1gbAGC2YyDnA3zvgnn9JeGckeW FuMSR7cWA91SLNL7T+N5q9TEAlIuPDV9zhkj+fbniMFIWp0UtRDYJxYeHG7W45Pz ncyclO5s5NpDH0mcbl/DnPm3qOaAbaJUdGuznsGlFq6WEq03ns8tKZ+QZRg== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4792cab464-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 20 Jun 2025 10:30:44 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-b2fdba7f818so2083970a12.2 for ; Fri, 20 Jun 2025 03:30:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750415444; x=1751020244; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TU8mtSZU0G3e/vpytaHll2AVzRvf35xT6/rG2wBi1+U=; b=G4MJm4Za1JH6oT84ALfzwLvP6SRGbqjuHXrI8kODfpLMB5NioATIIt7xo4Yld0zIon ehBCrbsQnsGjT6HXvALNfNTIUHMTmyhxKVUzjHlJt1AvjM5+Z9mO/GSf2w9/8DCi7zWO bBjYY52BBLt7PJisQECZhdpMv6q8t9Y6YmRk2NPBdzKGa0XGEH7s3GsgmQQa+I9ZC1Xf /0vAlnz5IPsxb7HZX1ktpUyMKR1ZjGmGcApi8vT4Ch/cHqItDNY5I8Y+0gnameYH0cwp GSDz969XOJ9c3T8/01h1SQJb6+AV/9lrBTrsj5JgyFjq1pKr2zCVxMcGBn29UhX61ITu FH5A== X-Forwarded-Encrypted: i=1; AJvYcCXP6ItXKilJVcRcdG9mlu6SE7fQCBTfoLBrG2vcuBKbmkHVy1Y4041ka/V5dJbVR2/vfFwgCp8NMKlzhUk=@vger.kernel.org X-Gm-Message-State: AOJu0Ywuo7zM41G0hTQN/sdZpMZZMrIE1b9crL7n6QuCh7TxQSq4lx8Y Ncc3L9tGI/WL2VBcAOod4rmlXHIHVAx3VUPsJwGLi0EX3I6bKjsTuJiaICaeU7a/thGxlWq3SQW 1HNeesqqfMvuOGesYt2pkqZdAO9RWdJK0eGIFqdHtnjcm/26nWrcikmGxIl/xTXKo23Q= X-Gm-Gg: ASbGncvz+R9CMgWBhXEU1BGMF460WVYui7gMpWMwWwn/dDsR/iH+YWdwUISegep7IZO h3fFKh+5Kil1DQmKe1MlggYRGy0Tdv215GZyro3ys8VO6eKPkG9CNj5WBLrYN+0nsE8ninXTWzz NzBHIrmGI3/qICqm0Lqfxv8/WQDDHo6J6NOYgdrDOTWHNUzAsKpnsaGdI6HjkHTqp0JRwk5nR6g wJRtqcH17F8O6sVZM2DF9IzCWhO0rysYEBiOPzSxlgmwgcCYm4oHwSdQjjaLUE7beBBmPKLmvy0 7riDs982BkNAl18xm9EoQ91F3LEVqvv3k65vPAApQZIAF//FsycfUe+uyJ0= X-Received: by 2002:a05:6a20:e616:b0:1f5:8a1d:3905 with SMTP id adf61e73a8af0-22026d2a7ddmr3949863637.7.1750415443790; Fri, 20 Jun 2025 03:30:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFbABCw6JW0Oz+95JAMsrKVWxcJJvpq0lO029mDpH7UZsS9QxxUAUwGtMnwmvH7CIQbnMGnow== X-Received: by 2002:a05:6a20:e616:b0:1f5:8a1d:3905 with SMTP id adf61e73a8af0-22026d2a7ddmr3949816637.7.1750415443400; Fri, 20 Jun 2025 03:30:43 -0700 (PDT) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7490a69f3e2sm1651347b3a.159.2025.06.20.03.30.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Jun 2025 03:30:43 -0700 (PDT) From: Mohammad Rafi Shaik To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai , Philipp Zabel , Linus Walleij , Bartosz Golaszewski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, quic_pkumpatl@quicinc.com, kernel@oss.qualcomm.com Subject: [PATCH v1 2/2] ASoC: codecs: wsa883x: Handle shared reset GPIO for WSA883x speakers Date: Fri, 20 Jun 2025 16:00:12 +0530 Message-Id: <20250620103012.360794-3-mohammad.rafi.shaik@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250620103012.360794-1-mohammad.rafi.shaik@oss.qualcomm.com> References: <20250620103012.360794-1-mohammad.rafi.shaik@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: -8lYFqiGGySuU_cIZf3yBjZkHATdf9Pw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjIwMDA3NiBTYWx0ZWRfX6uy9wyAv7qYK 3G4PAHonInFahBOJhawdXZ485he0688EHIsW6w92hpdIoFrxQmfuOnaFQrjxx1d580hW5WKI7Sn 5nJZMzr5Hi8NdWkFqQ48FdeaT7NuCD5BgQHPIlLD0Ohjl7nEZAL64smkiirZxF4NtxRp/miiCc1 qCrHJgmFhydat6kE6jtFhkvgFJ+/jj8LwGYEsrxQ9K4A9UROYLBsSJOAZkTluoXmzTTMnOIZJuI i/HxVeo8Zr4XlXdw8XpV6O1xp3ywgCIIBTD9damN/oAIeNKPr75sGco+Y/vK/1x9YtYslBo1seb 9pa4rbd6wSuaUARZNoXHR37IgtVgwDRHJtFMHEnOc5AxSnY+naDuza2qafDKvp/KJEMMKLiibhf FzDxtJOlAJG/Zv+BymshD7D50YLxTjm7offRdGjuiaEAu4HiYdfWGE5zy+jWGceb1VGqj+Nc X-Proofpoint-ORIG-GUID: -8lYFqiGGySuU_cIZf3yBjZkHATdf9Pw X-Authority-Analysis: v=2.4 cv=etffzppX c=1 sm=1 tr=0 ts=68553854 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=pGReym1pqKqKmaA-xlUA:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-20_04,2025-06-18_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 adultscore=0 spamscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 phishscore=0 mlxlogscore=999 lowpriorityscore=0 bulkscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506200076 Content-Type: text/plain; charset="utf-8" On some Qualcomm platforms, such as QCS6490-RB3Gen2 and QCM6490-IDP, multiple WSA8830/WSA8835 speakers share a common reset (shutdown) GPIO. To handle such cases, use the reset controller framework along with the "reset-gpio" driver. Signed-off-by: Mohammad Rafi Shaik --- sound/soc/codecs/wsa883x.c | 57 ++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c index 13c9d4a6f015..b82b925c1f8d 100644 --- a/sound/soc/codecs/wsa883x.c +++ b/sound/soc/codecs/wsa883x.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -468,6 +469,7 @@ struct wsa883x_priv { struct sdw_stream_runtime *sruntime; struct sdw_port_config port_config[WSA883X_MAX_SWR_PORTS]; struct gpio_desc *sd_n; + struct reset_control *sd_reset; bool port_prepared[WSA883X_MAX_SWR_PORTS]; bool port_enable[WSA883X_MAX_SWR_PORTS]; int active_ports; @@ -1547,6 +1549,44 @@ static const struct hwmon_chip_info wsa883x_hwmon_ch= ip_info =3D { .info =3D wsa883x_hwmon_info, }; =20 +static void wsa883x_reset_powerdown(void *data) +{ + struct wsa883x_priv *wsa883x =3D data; + + if (wsa883x->sd_reset) + reset_control_assert(wsa883x->sd_reset); + else + gpiod_direction_output(wsa883x->sd_n, 1); +} + +static void wsa883x_reset_deassert(struct wsa883x_priv *wsa883x) +{ + if (wsa883x->sd_reset) + reset_control_deassert(wsa883x->sd_reset); + else + gpiod_direction_output(wsa883x->sd_n, 0); +} + +static int wsa883x_get_reset(struct device *dev, struct wsa883x_priv *wsa8= 83x) +{ + wsa883x->sd_reset =3D devm_reset_control_get_optional_shared(dev, NULL); + if (IS_ERR(wsa883x->sd_reset)) + return dev_err_probe(dev, PTR_ERR(wsa883x->sd_reset), + "Failed to get reset\n"); + else if (wsa883x->sd_reset) + return 0; + /* + * else: NULL, so use the backwards compatible way for powerdown-gpios, + * which does not handle sharing GPIO properly. + */ + wsa883x->sd_n =3D devm_gpiod_get_optional(dev, "powerdown", + GPIOD_FLAGS_BIT_NONEXCLUSIVE | GPIOD_OUT_HIGH); + if (IS_ERR(wsa883x->sd_n)) + return dev_err_probe(dev, PTR_ERR(wsa883x->sd_n), + "Shutdown Control GPIO not found\n"); + return 0; +} + static int wsa883x_probe(struct sdw_slave *pdev, const struct sdw_device_id *id) { @@ -1567,13 +1607,9 @@ static int wsa883x_probe(struct sdw_slave *pdev, if (ret) return dev_err_probe(dev, ret, "Failed to enable vdd regulator\n"); =20 - wsa883x->sd_n =3D devm_gpiod_get_optional(dev, "powerdown", - GPIOD_FLAGS_BIT_NONEXCLUSIVE | GPIOD_OUT_HIGH); - if (IS_ERR(wsa883x->sd_n)) { - ret =3D dev_err_probe(dev, PTR_ERR(wsa883x->sd_n), - "Shutdown Control GPIO not found\n"); - goto err; - } + ret =3D wsa883x_get_reset(dev, wsa883x); + if (ret) + return ret; =20 dev_set_drvdata(dev, wsa883x); wsa883x->slave =3D pdev; @@ -1596,11 +1632,14 @@ static int wsa883x_probe(struct sdw_slave *pdev, pdev->prop.simple_clk_stop_capable =3D true; pdev->prop.sink_dpn_prop =3D wsa_sink_dpn_prop; pdev->prop.scp_int1_mask =3D SDW_SCP_INT1_BUS_CLASH | SDW_SCP_INT1_PARITY; - gpiod_direction_output(wsa883x->sd_n, 0); + + wsa883x_reset_deassert(wsa883x); + ret =3D devm_add_action_or_reset(dev, wsa883x_reset_powerdown, wsa883x); + if (ret) + return ret; =20 wsa883x->regmap =3D devm_regmap_init_sdw(pdev, &wsa883x_regmap_config); if (IS_ERR(wsa883x->regmap)) { - gpiod_direction_output(wsa883x->sd_n, 1); ret =3D dev_err_probe(dev, PTR_ERR(wsa883x->regmap), "regmap_init failed\n"); goto err; --=20 2.34.1