From nobody Sun Dec 7 16:16:17 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DD37248176 for ; Mon, 6 Oct 2025 18:37:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775850; cv=none; b=DITPNWYW/qcuf7ggScEVIdKFW2S0hf/YLFApgkHlSoH2tRv6/Y7Yu5sTfJ0msya6qm2nFHK3aQ8PMWfQLv9jjoFWvJDsVgyxDkRU8VkPylyTSim/Tablfsmpe4xBjkv9bezLGNg83IZcPwPMCFYAasUzUzhPZE+wQsXE5XNRpgs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775850; c=relaxed/simple; bh=Qp6v0O2Q8NFftpiMvFMR7p+AevcyccZ4xtCUgR9Y2kY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uicphtDSdKhwDk4WcJ7xvbEmYi/odWvpb9187110mmcb33DpGYYvGW5QMvgZ2d6c+/z815vrei8XR29g0VqDdCesJhUmtAf+dGK5srwKBQYvFd3GRflf8ciVcUU6HgxLDZFlRF4GqEW8dLM2/aMg0ZwEJWqcYZ7RswdkVvZqMIw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=SyXEZ1ST; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="SyXEZ1ST" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-46e491a5b96so30383795e9.2 for ; Mon, 06 Oct 2025 11:37:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759775847; x=1760380647; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YeyoAqoTx6ztjUQYYrMEzGjhHggPr9sSrZX7sEZuQ9g=; b=SyXEZ1STqfKfUK7rk4aBKezW1ZGySK3zKZQTl0XWrjUcw+lbaoa1UREwhr4QJ1pgkm 15jq8+4WT5EbsTYUVwSgeUHjkPFi22lWhpYvSVALL6jx/XCGmI1EPscPctIp6O65Bl0P fobTmtx6Bmawu95UUo4kp2LVdIFi+5BD6EecevfPA1auIiYGjwrso4g3Us5A+O1J5szH B6ehgMjQtaBefX3MftPL2xg5JEi91nnnT6l2Ji+ZN43Wsrm5Q+m5TUhqs44Vf6opid1t nhhpzzmZ5JMT/dcglQwUbqWIT/y+VUPDrvZdjyqewQcXMFvAFKc6MLQD3WsrnHRgBYy4 4FoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759775847; x=1760380647; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YeyoAqoTx6ztjUQYYrMEzGjhHggPr9sSrZX7sEZuQ9g=; b=sHs1974HamfgoZWSt1/GEpH+/q0iGM+d9d1xmnTU/WsE6ejYeq2rUAtm0dInsYkV8d JcBNl5V4zgu2W2YSgeWoUyG2b6V2iW3cR1FjQV+ip78DVY5s9ht29IQ4Co1NTKPsnSfE R4T745lz6Enr+ui+wyKcEeJbirXFijdGCN3XFXbp2qQ/TlRAkcxBah8QMmDwpbNGbzvQ FZY05Um3yJd2VWD16sHeFxzIfzRa5LlDB7S724PH0mlrs0m7dAOLYp/KGL6SqCCDBcoQ jQ9hUU5n8OX3K1hrKNp0VLLjOaGdm+P8594rT8/r9CbDqTREOVPeme5cxZ1ifWUbnZVS TPpQ== X-Forwarded-Encrypted: i=1; AJvYcCWLjbOJV/nm1nThgEVLVtu/fQJAUrFX3kRf5w6EBoAHPPvpYr2OhmgcDCPfrOEixgwd5MTc9CVAkxSAS1E=@vger.kernel.org X-Gm-Message-State: AOJu0Yx8LH1VmRIhzJBy3jZJRaDcA5ZdZpWONWaZcSi8MCQcMSMU0W3H MAAUWyq83vYZxUiOHCjzc8QVJDlsQ1NvYZ3xuBtQ8O3Ax+oMG3CXLB1UxwhF9FyyvQQ= X-Gm-Gg: ASbGncudQdZePUBn8wBuoFOFwsxPUUPRbQkKi5lAS/gBBmxwkfcD4rRlbEWcvoEN6Eq Lyr7+t8PhBnw5MitgSKhzrowRNifrLtHWPW+Vin7tALI9qLUUdVemCagA+N7xC3bh65Me3Kp0FE 0ykl+fL5c56GeyGm+0AkPK2PvTHHsqzxsTRv79WA/zOnrF9zjGqQlqVbQLj9WEs39wEhe7/nFS1 qUeqCIi0Gp2T6aDj7MBRPKvkBV+V3wlRZV4rpnbpjy/xrPweCCZKRl1uT09+cimj/s+HRKihgb2 rIAsJKpCanznQMq5p2S+Z2De9p5Rx06y1f1PhG/6jkXCjDmDFQcvvPTJRQtCXs0oCQ27NMtBkY/ 7jIhszNpTq0Br/bzSUtUbYWMu5Z4CWLRReTev7y8UF2g9jsJP4Wsvi71NoACsocxAFHPrWao= X-Google-Smtp-Source: AGHT+IG4RjGlyCXEOm9wkWq+m//UME7kOlLBh/A4mZhgPhBTK6yQf14gjTtn9AlP3bNLoZkdPbHqLQ== X-Received: by 2002:a05:600c:3d90:b0:46e:4921:9443 with SMTP id 5b1f17b1804b1-46e711524f1mr87726135e9.37.1759775846628; Mon, 06 Oct 2025 11:37:26 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e61a022d8sm254997085e9.12.2025.10.06.11.37.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 11:37:26 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 20:37:14 +0200 Subject: [PATCH RFC 1/6] ASoC: qcom: qdsp6: q6prm: add the missing MCLK clock IDs 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: <20251006-topic-sm8x50-next-hdk-i2s-v1-1-184b15a87e0a@linaro.org> References: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> In-Reply-To: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2050; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=Qp6v0O2Q8NFftpiMvFMR7p+AevcyccZ4xtCUgR9Y2kY=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo5AxiRs4sfyET/B67e9Rj5CXeJXryqCiSfd8bdQs0 WN6OJ8SJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOQMYgAKCRB33NvayMhJ0RIKD/ 9KUTyO+q+qcvQ4cjdDHHBlsMRcXeZ3d0+fIL9V8qFErG/76eVNE2SKT5Y6D+4KsUPVfG3VKL5XB54d k9UUcjVkWdhZB0oKv1ZlLPBCyTT4lKvszJo7euyxownqj6C+vyFKqpsb/1b0eameAkVuT7+eGn6RRN V/ZB70KC0H+eE4aSQ5WovizsuljsboedvnPuKFiDj93hdKsyWX7/1PoC8Llp8X2Cd1hWLfXPOVk/RC ySrbaWyJ/EguCbBfovQc8PsLbepW+YwTLAjZ1XzwPQeLKuVxPfSIKvrBtxfP3o1Yrn5hQ0V6c6CTEG grwhO19vABtvH2nnRS/w2QPiBVRKnM/ViUFD6jZR01/sWknYiGZhBvQCyeBqoBXH1j7yafqk5uU0jl SWNrGSZMj+VXySiKk84MuNsIfyb8B/YdEAp5aHR9CIv2150jsjLHc2eSzh3EolRvclKfVsiNPQiOT/ NZKJVwPKR39CJtx2bnxlOvaPa9fTox5u6JRoWmseA9FM9BZfH4lU5sie3bjNhf1oG8Gu1JHmQYKWrC NE6wSu0ddPRN65o+gz1CWbnRBx9jkj05uedHligeT3BB/3KvicULZrC1Ce4bwOmIF2FZ8zwbw3+Ub7 B0ed/qO87zBohiPXzhreqv3SQZZsYUqNM1Ag5AWNjwl58SnPItNcr9GaSNBg== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Add the missing MCLK ids for the q6prm DSP interface. Signed-off-by: Neil Armstrong Reviewed-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6prm-clocks.c | 5 +++++ sound/soc/qcom/qdsp6/q6prm.h | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6prm-clocks.c b/sound/soc/qcom/qdsp6/q6p= rm-clocks.c index 4c574b48ab0040bc39ae16ec324b41dfc152b408..51b131fa95316cff50342ff60bf= c9e3608939d6c 100644 --- a/sound/soc/qcom/qdsp6/q6prm-clocks.c +++ b/sound/soc/qcom/qdsp6/q6prm-clocks.c @@ -42,6 +42,11 @@ static const struct q6dsp_clk_init q6prm_clks[] =3D { Q6PRM_CLK(LPASS_CLK_ID_INT5_MI2S_IBIT), Q6PRM_CLK(LPASS_CLK_ID_INT6_MI2S_IBIT), Q6PRM_CLK(LPASS_CLK_ID_QUI_MI2S_OSR), + Q6PRM_CLK(LPASS_CLK_ID_MCLK_1), + Q6PRM_CLK(LPASS_CLK_ID_MCLK_2), + Q6PRM_CLK(LPASS_CLK_ID_MCLK_3), + Q6PRM_CLK(LPASS_CLK_ID_MCLK_4), + Q6PRM_CLK(LPASS_CLK_ID_MCLK_5), Q6PRM_CLK(LPASS_CLK_ID_WSA_CORE_MCLK), Q6PRM_CLK(LPASS_CLK_ID_WSA_CORE_NPL_MCLK), Q6PRM_CLK(LPASS_CLK_ID_VA_CORE_MCLK), diff --git a/sound/soc/qcom/qdsp6/q6prm.h b/sound/soc/qcom/qdsp6/q6prm.h index a988a32086fe105e32c4fd713b8e0a3d17b83bca..7a3f2ad7bbd465a6950568af1ff= 3839e5cbe4f62 100644 --- a/sound/soc/qcom/qdsp6/q6prm.h +++ b/sound/soc/qcom/qdsp6/q6prm.h @@ -52,6 +52,17 @@ /* Clock ID for QUINARY MI2S OSR CLK */ #define Q6PRM_LPASS_CLK_ID_QUI_MI2S_OSR 0x116 =20 +/* Clock ID for MCLK1 */ +#define Q6PRM_LPASS_CLK_ID_MCLK_1 0x300 +/* Clock ID for MCLK2 */ +#define Q6PRM_LPASS_CLK_ID_MCLK_2 0x301 +/* Clock ID for MCLK3 */ +#define Q6PRM_LPASS_CLK_ID_MCLK_3 0x302 +/* Clock ID for MCLK4 */ +#define Q6PRM_LPASS_CLK_ID_MCLK_4 0x303 +/* Clock ID for MCLK5 */ +#define Q6PRM_LPASS_CLK_ID_MCLK_5 0x305 + #define Q6PRM_LPASS_CLK_ID_WSA_CORE_MCLK 0x305 #define Q6PRM_LPASS_CLK_ID_WSA_CORE_NPL_MCLK 0x306 =20 --=20 2.34.1 From nobody Sun Dec 7 16:16:17 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40D0D24395C for ; Mon, 6 Oct 2025 18:37:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775850; cv=none; b=DwuYG9BhlMgunAOKW/BV3mxJp8EbJNqvsXFAkRTFFk0GKWvq420gG8Ckrt9ct8eKijE1e4rwo7/kDHZ1u/brm44X2J+34P7DFGdFg/TIzErbeqwS+SYPmT3zKIQQsw+dn17asQQeAECDL2s23VJ37eOiTbSCWO0hzyv+A5tuoP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775850; c=relaxed/simple; bh=Ab4sB+Gy9bByQ3KMwViBWKs43ahwrX4X82dPExLVPMs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J8ntOyr2BCsq5uayYxP+79hHIrpDxRK3hzUC85EALa75K7o9lwx0/nxaUa0m/aKDWDw3tfuw7qZxXv1Ua9n3TXL8hnqqsneSAGFsysbDAQabNHhyODrZNSNJCWcSIvxHrEP5VV+Z7dzXTNKhib99ZzdkSZBpgAVgnjTOlENznBI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=vDDr1mH1; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="vDDr1mH1" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-46e61ebddd6so50523495e9.0 for ; Mon, 06 Oct 2025 11:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759775848; x=1760380648; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=gsvdBaXnMo9ZV1t6Nz72zBmLT24LbwFczkk6xaDii9c=; b=vDDr1mH160NaU5i1wHtn/W4o71xCgILLPTtiGiiETnadwA8Fp0qNKUyY6FSqZB6RXj fJX87glsjikyW05LkJtGkRGVUS2JIlI/nSmUCWr/efk+m0NGuBIQjPy6yG55xGM64s0q lCxGg3ibXGUHFJ2T7GkR30ySLSPSn3D1SI+LxWf+wgJrtCoVXdpBis71zXFH2HAWdzex 8YMov7SPUQWOmLtKNDNMIQt6hcM+dszVVWEPNznLdZKEqqIFigDL8ieFmsOl1uY0tZng fLhzJ6iDe0maE6cmYRvM8JTzxYV4pOQ0f1/Ymt5XHV9cO4czfS58M4zfcc0CZfhO3ybo w2ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759775848; x=1760380648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gsvdBaXnMo9ZV1t6Nz72zBmLT24LbwFczkk6xaDii9c=; b=EMCvl+Byas3bFipwtaxI9llywf5l/ifwlCExgun9jcrUvNlaR5q8iMQjViEyThFsE8 FokBSxMQIKniN8S4RjcH51Aqa0ER9zAxiChSoQgbVk87buWwWCoXh58QOhOxiC/r8IlP janjeKtYqMcos7TMoIQZ22idNnEZjPAqxcXO8H8gAplqtlMj+WYTPiyMyZHZa+UHbKBF r03IGcK7WOMQQLjGgB/2dRa5oPWMJJKQtaSj5I5xv/7xd+M84LH2H5ZZvpyszsaS4qZe wBUNVVCxaUJuSghGQ1lNdSovdq7HtjjphVtX9UoeB83Xrrgwytn4L6lpaMDRzAKsBy4o NUKA== X-Forwarded-Encrypted: i=1; AJvYcCXX28MdWtaNA36wTRTvrxUNkbiRBLp0HHuooD3mnOEqJdAFBHf9rD4zRis2AUZmr/8q7DxcSsJmiQZebqQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwxIp4e8GflKcOvyVdMelycVSiF1HAU4HrvRlPuMEpSEi7dRfA8 qiHed7K8MzICtXAc3zLY1aW4+iMl8KFBGihpsLMEnecvx/NHICuV+Ww6g1hJEYWcaNA= X-Gm-Gg: ASbGncsEeI7Gb9lyigfK6wYsP/mqEbBAfQpMjMU8seXy/ljQmFtCJ6GfIsUlYOMGEos ustFSX5rzY13aCLcpVvHU9J9SejCgYFvJsqzibpIFTfWCrQZt+vo7z5WSIbxOK/r8KB7NSo+JTx VUtbdVawpdfLRoB7csSpzoJlUZnkpmnNUeGIR4ujhMmYpl4Rk5nhX16OrCKvRphyh8NpxbisYJH Aq2pyBz/aLENiaEBoANDR8M/jw3TRF3d8N+bXnZGpBghpU1lc70Y98nPd19L6adVs+jGPDahpw+ Qqzq7hZFJ4k1ZNWeIAQrJN0lS49N8IRK16HsBUoWNHVuFIICj+ivuYk7iDJpaXgxn46YfAyY40g iUrqf9B0fClyn9o7umtf4sOqWJyNgzNWBeU7r3Yn6eBgb8tGNHW2tqMEowVWPN3WfF9OQGPQis4 RaPKeniw== X-Google-Smtp-Source: AGHT+IE8HtaEmxZKyVDB8Fe6Wo9kldEjY3g8C0S4sDI5wHSp5Y21Sr1sIfnUCeq+V+Crm5qgopPFpQ== X-Received: by 2002:a05:600c:1389:b0:45d:f83b:96aa with SMTP id 5b1f17b1804b1-46e710fe329mr100728725e9.7.1759775847435; Mon, 06 Oct 2025 11:37:27 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e61a022d8sm254997085e9.12.2025.10.06.11.37.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 11:37:27 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 20:37:15 +0200 Subject: [PATCH RFC 2/6] ASoC: dt-bindings: qcom,sm8250: Add clocks properties for I2S 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: <20251006-topic-sm8x50-next-hdk-i2s-v1-2-184b15a87e0a@linaro.org> References: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> In-Reply-To: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1730; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=Ab4sB+Gy9bByQ3KMwViBWKs43ahwrX4X82dPExLVPMs=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo5AxiziWYdGMoTESpubxvDryul8gi4WsZdIme2OVK mPg8POuJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOQMYgAKCRB33NvayMhJ0V5XD/ 0U+nmQUnhJSG3oRTPxiXV2QGarF9uJWYOrfOdSXphsNhz7y7bQ3eY1qfSiLGnVhl+OJw3y4ouKejZ4 4uJoQFTFF9Ad5rubdEnEYB364qY2NdpNPh2N+SG/1PBtaDcVcnlQxktoai1Rsusy+D07XZ6vu+7POh xHK7kjGgOGwMxUogo/NLEbkj7zzwEBxV/ErNevylowH8t8rKNrEJ89TEkUh173dEiuBIzxd+3/O78O xOPNicQ7Y1V3vMmSDLQ/ET889xYD0s4EThQJAAphiK0YdqT4vqa8Jl4HmB8lERKG0Yd+9IQnOTa464 a3jiJNIQtxF/96xzkuV229ZWohIldS6Hfn7TSTqOR6Yq3O20+V73hywffNJHbbut+FUhPjgwUIyLWF yQz1+kos4YKLhnpxN2L09chr/wjdgbqEGt7q18LSwtBKH560yBeO7sTc3XwJ2h+eOODItc3v6Ughaa SLcXq2c3NLbE0L0tv5cJGmsEWyosoiM1mRRlUB2/sKKqfvROAgzz3UYUcO2ODy9py7WtXBOqPr73vG GmpN24Bfs6pEXhyi3TuoxAuD6Y74q9jwu4OEqzGjw73mWqQmIPnVyR9MlQOMd+woXjqzz4v6XLE+fp VooVGucdgqNFcVW9wsycQbZVyzrnIVytFKQlTT/F4q42ne+dFaXWUTbMX4Og== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE In order to describe the block and master clock of each I2S bus, add the first 5 I2S busses clock entries. The names (primary, secondary, tertiarty, quaternary, quinary) uses the LPASS clock naming which were used for a long time on Qualcomm LPASS firmware interfaces. Signed-off-by: Neil Armstrong --- .../devicetree/bindings/sound/qcom,sm8250.yaml | 18 ++++++++++++++= ++++ 1 file changed, 18 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Doc= umentation/devicetree/bindings/sound/qcom,sm8250.yaml index 8ac91625dce5ccba5c5f31748c36296b12fac1a6..fd0d7a7ddc7b363a66e1e7bd72c= 7290666efb511 100644 --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml @@ -64,6 +64,24 @@ properties: $ref: /schemas/types.yaml#/definitions/string description: User visible long sound card name =20 + clocks: + minItems: 2 + maxItems: 10 + + clock-names: + minItems: 2 + items: + - const: primary-mi2s # Primary I2S Bit Clock + - const: primary-mclk # Primary I2S Master Clock + - const: secondary-mi2s # Secondary I2S Bit Clock + - const: secondary-mclk # Secondary I2S Master Clock + - const: tertiary-mi2s # Tertiary I2S Bit Clock + - const: tertiary-mclk # Tertiary I2S Master Clock + - const: quaternary-mi2s # Quaternary I2S Bit Clock + - const: quaternary-mclk # Quaternary I2S Master Clock + - const: quinary-mi2s # Quinary I2S Bit Clock + - const: quinary-mclk # Quinary I2S Master Clock + patternProperties: ".*-dai-link$": description: --=20 2.34.1 From nobody Sun Dec 7 16:16:17 2025 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E52922C339 for ; Mon, 6 Oct 2025 18:37:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775852; cv=none; b=LCRZA1u/eQ11w3AeWH+7ox1cYg/Ow8I1jshlat+0INKLPYJ0xwCPgZERJjRa0gykTo3y+OqHfh/ZvbpUBuhEyWNHuFQ8YX3zk42fOc0GjtifHReTFoOVivL0fuAgYDFGSFtwKaUjrdaN1ciK+K0DOlp6MAjYaR44n8h7XpEDSSY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775852; c=relaxed/simple; bh=M5GD77yVYPF4Q7GbK/5MsLgJ13pQ7XTyeq/dx8K3o3k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IKFEee9h0kAWmmWznUweSV+RgjPoYkQ17sc9tfDcHEH5a5Qjg9Z/cyBSz0U2EybOKON8gu4PFDrkUKBAA3Bw8aSmYhkFDYWE2znvE7vcEx9jaTbYD3iiVdilzp9aDlFMgYWGz37/+2E8EhiRhGRY9Gynbb5W4W50xIzYZ2qre4A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=IfwCwJu/; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IfwCwJu/" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-4256866958bso2259498f8f.1 for ; Mon, 06 Oct 2025 11:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759775848; x=1760380648; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=dI8wUrz4/k851DETHwU7YXPmi9b0tL6nAakNVDCwCbw=; b=IfwCwJu/+kr7FMaUWFNdJ9LM/zfhGIYfzkP2fWVuhzgEsiO6VeQeLk4LOjWUZa3B6Z DkKka+wkfKXx2ejpENi/Kv1TARkV05efs02RYFxdBIn+LYlWD+1Z6S06D8Rn6D5Bm2Ow Fl4SMZOIMk6sT0P5RTMTkwFL3ClpH3GFBQxG0BQ3mEo7A06REYHUr8lHDQu13zx9LMj7 ierM2Lm4W39m7BiLq/LUOOM5rzHxM+U9j9IGZsfxmeZH07BrkEBE1c6heu0r9aAhFWdm cC+oIbI/wgOAmrVOskbOrzmzn/53/Zqw1JACGhlbEeUqoLV1Adoup7GaPQ7IDyBxIB7J JQGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759775848; x=1760380648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dI8wUrz4/k851DETHwU7YXPmi9b0tL6nAakNVDCwCbw=; b=LyCJRZkX3/mG8sUkK/BcWnI2JNl1J9zvNyXyasbU3x6OhPgR54JEQZF/rtwct7E9nR /bobLuoHT9R9wrjex0WET5yy4W8VgWUgZDXfS6uv6erTP3rugVO2cMRyHdUlb7satzkX oHiaIOqOrI8TBc4STkxsrnBiRMuviAww10y6C3YK2Oo3VNE3GQ2Wsmiyh2s280nkAWel C11qMs6icqKS7MAKb5pF9toPNS5ZZzoX3Jg5WqelMxW5ocg15rUEjBLI9lPNM4ydomvy ToE4MyXVJGxH7yo7sQ8nws6XYd6xJoiask7VMT0npq7ajzAaaOUQtPZ8BUY/BNV0X66w HijA== X-Forwarded-Encrypted: i=1; AJvYcCXMiwpAfon3lQSynem1bKh+9H5Rxia7MtMSBhDPrdklcBI4g2aEq3QJhsPOhB2ycl9A1F1g4xtdVHjNoIg=@vger.kernel.org X-Gm-Message-State: AOJu0YxuIIb1zKijLvv3ym4iZp3MC2OwNFCTbQsb3HreyJd+8t9lEMuk 0ndhzIonslcrXQryu33yR9B3aASJ5FBgD7wm36ihRN34dTcZ/VMrZl9ER+xviqeVaoM= X-Gm-Gg: ASbGncssELLXDYNl2ce7z3F0PxasSJ/i/OHaVTWuOPk0s/+WIqq2AtfCd6+CYOcBX+w T0DYzOKDws6rwuWdyakpmkR6mDziZDKtcB/HLZ1hzs8TZhbwCJyHNPS88IwQQnbdKbJGZP4HMMP Gy+UJuUF3JJREJWiBQ2zGAe/IDZpkUElaYgauCWnkeDLFQwe3RWbNiVSjvH4Q0DmLkuL8/FlPMZ /Z9+pREKPtxQ9KuA1Uh6mv01kcGLVj0U5dwS7l+UtTwTZ5qGAh60qdWgKXSRrGHEsmhEztO2xGV D67jjlTG+s+PqSrXz+aoukVbfuWIm1SX0v2d7W8glQYVyG23Ue5BcFUOCNqvP6WlS46CN4ipEoU f4Kwuh3HtTBN+gCFwGVeLV1YlgeprpsrF84i/E2B6fFzQ8MfQFguXEVX2xGrKb16TJA3S8ik= X-Google-Smtp-Source: AGHT+IH5WFHXj0MAsogmXEFsMguBCEu2+LGzAK6Up3vXAWYFmLrYzU7DqZUEVx2h3vNb0guaFYMCFQ== X-Received: by 2002:a05:6000:1862:b0:3f4:8579:3692 with SMTP id ffacd0b85a97d-42567139e8bmr8755978f8f.11.1759775848188; Mon, 06 Oct 2025 11:37:28 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e61a022d8sm254997085e9.12.2025.10.06.11.37.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 11:37:27 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 20:37:16 +0200 Subject: [PATCH RFC 3/6] ASoC: soc: qcom: sc8280xp: add support for I2S clocks 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: <20251006-topic-sm8x50-next-hdk-i2s-v1-3-184b15a87e0a@linaro.org> References: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> In-Reply-To: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5267; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=M5GD77yVYPF4Q7GbK/5MsLgJ13pQ7XTyeq/dx8K3o3k=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo5Axji7KylYpPsvsncc7vt5nwH771LHGNHt5tDHXN VaqKniiJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOQMYwAKCRB33NvayMhJ0QVAD/ 9BlLFEVSfpcHuKOUy3obt8YQw32WcWZiI8dQOAWS7EDVQoJ5KDE7p5akSn/PbxH7mq/8qQRCpwF8a0 f57TEFun9bTcnIkXFtHgkIvivsffMRqFYgShb9+Yi8VITe5lFy/9nAjyj8gh821QK9vQo8OEHpdzPR TidqLnmUZxEqkAFr0SkLhmy5XZeWfudvtIfGWBwDNT4r+fMTIFdaFexMjH+ioiRt0L/6/CRdknfqUD xS+xMqKOIzlgVpUVhDsuJhG7U3Wf5gtqqDVGKBaX4Vywa/OwQfzlQkqgSSgspYMrOfX3xB+1E/QtJ4 CF+YhV68XMGO5hqgbht9Aj1CS5nANkdLXrKOMzVerZQ/2PYDl/Dk1M12bg3RBFlnacqKaZsGW3bWx4 4Zga3Th4MG54eSB0zBUO4eqyuoWk20C9rDklS9Pl+uUVlC8ZPJ6eTWfIXBbLAmF6LyvgyOrSFpmd7O PWaqaesE9Llv3lsQhgo7F5f8TFQrcWupHXxukioy6oMp7uhMvx+zJj81E4TJvyzNRr2dQIeN+oeJCc DLEmBbnhD3Ai3PMO8ojtIzO9wuJh9wd3PRBXQuK2vqVraHcp3xTchNS4K3wEKUvvYrkFL050uL0AVm Kiy2nZcXzIogLzpY13E1PR6fbPk7TAXTa/E78yeV+zYa5RR/LL7f8KiyexvQ== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Add support for getting the I2S clocks used for the MI2S interfaces, and enable/disable the clocks on the PCM startup and shutdown card callbacks. Signed-off-by: Neil Armstrong --- sound/soc/qcom/sc8280xp.c | 104 ++++++++++++++++++++++++++++++++++++++++++= +++- 1 file changed, 103 insertions(+), 1 deletion(-) diff --git a/sound/soc/qcom/sc8280xp.c b/sound/soc/qcom/sc8280xp.c index 78e327bc2f07767b1032f09af7f45b947e7eb67a..ad4ee5c6fab8994f18de572842f= 3dab6f4f5397e 100644 --- a/sound/soc/qcom/sc8280xp.c +++ b/sound/soc/qcom/sc8280xp.c @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include #include @@ -15,12 +17,16 @@ #include "common.h" #include "sdw.h" =20 +#define I2S_MAX_CLKS 5 + struct sc8280xp_snd_data { bool stream_prepared[AFE_PORT_MAX]; struct snd_soc_card *card; struct sdw_stream_runtime *sruntime[AFE_PORT_MAX]; struct snd_soc_jack jack; struct snd_soc_jack dp_jack[8]; + struct clk *i2s_clk[I2S_MAX_CLKS]; + struct clk *i2s_mclk[I2S_MAX_CLKS]; bool jack_setup; }; =20 @@ -68,12 +74,66 @@ static int sc8280xp_snd_init(struct snd_soc_pcm_runtime= *rtd) return qcom_snd_wcd_jack_setup(rtd, &data->jack, &data->jack_setup); } =20 +static int sc8280xp_snd_i2s_index(struct snd_soc_dai *dai) +{ + switch (dai->id) { + case PRIMARY_MI2S_RX..PRIMARY_MI2S_TX: + return 0; + case SECONDARY_MI2S_RX.. SECONDARY_MI2S_TX: + return 1; + case TERTIARY_MI2S_RX..TERTIARY_MI2S_TX: + return 2; + case QUATERNARY_MI2S_RX..QUATERNARY_MI2S_TX: + return 3; + case QUINARY_MI2S_RX..QUINARY_MI2S_TX: + return 4; + default: + return -1; + } +} + +static int sc8280xp_snd_startup(struct snd_pcm_substream *substream) +{ + unsigned int codec_dai_fmt =3D SND_SOC_DAIFMT_BC_FC | SND_SOC_DAIFMT_NB_N= F | SND_SOC_DAIFMT_I2S; + struct snd_soc_pcm_runtime *rtd =3D substream->private_data; + struct sc8280xp_snd_data *pdata =3D snd_soc_card_get_drvdata(rtd->card); + struct snd_soc_dai *cpu_dai =3D snd_soc_rtd_to_cpu(rtd, 0); + struct snd_soc_dai *codec_dai =3D snd_soc_rtd_to_codec(rtd, 0); + int index; + + switch (cpu_dai->id) { + case PRIMARY_MI2S_RX...QUATERNARY_MI2S_TX: + case QUINARY_MI2S_RX...QUINARY_MI2S_TX: + index =3D sc8280xp_snd_i2s_index(cpu_dai); + clk_enable(pdata->i2s_mclk[index]); + clk_enable(pdata->i2s_clk[index]); + snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt); + break; + default: + break; + } + + return qcom_snd_sdw_startup(substream); +} + static void sc8280xp_snd_shutdown(struct snd_pcm_substream *substream) { struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct snd_soc_dai *cpu_dai =3D snd_soc_rtd_to_cpu(rtd, 0); struct sc8280xp_snd_data *pdata =3D snd_soc_card_get_drvdata(rtd->card); struct sdw_stream_runtime *sruntime =3D pdata->sruntime[cpu_dai->id]; + int index; + + switch (cpu_dai->id) { + case PRIMARY_MI2S_RX..TERTIARY_MI2S_RX: + case QUINARY_MI2S_RX...QUINARY_MI2S_TX: + index =3D sc8280xp_snd_i2s_index(cpu_dai); + clk_disable(pdata->i2s_clk[index]); + clk_disable(pdata->i2s_mclk[index]); + break; + default: + break; + } =20 pdata->sruntime[cpu_dai->id] =3D NULL; sdw_release_stream(sruntime); @@ -141,7 +201,7 @@ static int sc8280xp_snd_hw_free(struct snd_pcm_substrea= m *substream) } =20 static const struct snd_soc_ops sc8280xp_be_ops =3D { - .startup =3D qcom_snd_sdw_startup, + .startup =3D sc8280xp_snd_startup, .shutdown =3D sc8280xp_snd_shutdown, .hw_params =3D sc8280xp_snd_hw_params, .hw_free =3D sc8280xp_snd_hw_free, @@ -162,6 +222,44 @@ static void sc8280xp_add_be_ops(struct snd_soc_card *c= ard) } } =20 +static const char * const i2s_bus_names[I2S_MAX_CLKS] =3D { + "primary", + "secondary", + "tertiary", + "quaternary", + "quinary", +}; + +static int sc8280xp_get_i2c_clocks(struct platform_device *pdev, + struct sc8280xp_snd_data *data) +{ + struct device *dev =3D &pdev->dev; + int i; + + if (!device_property_present(dev)) + return 0; + + for (i =3D 0; i < I2S_MAX_CLKS; ++i) { + char name[16]; + + snprintf(name, 16, "%s-mi2s", i2s_bus_names, i); + data->i2s_clk[i] =3D devm_clk_get_optional_prepared(dev, name); + if (IS_ERR(data->i2s_clk[i])) + return dev_err_probe(dev, PTR_ERR(data->i2s_clk[i]), + "unable to get %s clock\n", + name); + + snprintf(name, 16, "%s-mclk", i2s_bus_names, i); + data->i2s_mclk[i] =3D devm_clk_get_optional_prepared(dev, name); + if (IS_ERR(data->i2s_mclk[i])) + return dev_err_probe(dev, PTR_ERR(data->i2s_mclk[i]), + "unable to get %s clock\n", + name); + } + + return 0; +} + static int sc8280xp_platform_probe(struct platform_device *pdev) { struct snd_soc_card *card; @@ -185,6 +283,10 @@ static int sc8280xp_platform_probe(struct platform_dev= ice *pdev) if (ret) return ret; =20 + ret =3D sc8280xp_get_i2c_clocks(pdev, data); + if (ret) + return ret; + card->driver_name =3D of_device_get_match_data(dev); sc8280xp_add_be_ops(card); return devm_snd_soc_register_card(dev, card); --=20 2.34.1 From nobody Sun Dec 7 16:16:17 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CCE5D264F9C for ; Mon, 6 Oct 2025 18:37:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775852; cv=none; b=KbYaR8AUCnRW6Kif+9UyDpkCaLTmjYJaKqPu0GhHUD/nNqUtzkI4fEHqZOUKl5L/0mq+I6nghOXaYMYoXNaiwS+jwVNZDjUfZk9ubpjn9wOzd95ToCbIbIZLX3fwIDeT1SfC6DIrKEaVTnPd/qz9kYmfC2t/98BoSLFza3G37L8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775852; c=relaxed/simple; bh=6hz0qvxt77MtIJiKbaXluGcDuauBeIYpemWB7FJpVLM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aiGsuq4f4B1AyZau0BFvNwKcIZD84AUNBno+fBW4DWBc6wXuU2uby7PFcIGWzlKJNfFU99gKaxUjf/nvyz3U595NQFFuvqVA0SvLa7GgOb5shz1xfl0uZONS/skYivkNgxXkaYQ565oTf1NktIHhMms8vxc+wUBSCAdyx6aIW9c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=gF9D1oM4; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gF9D1oM4" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-46e2826d5c6so41648385e9.1 for ; Mon, 06 Oct 2025 11:37:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759775849; x=1760380649; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=g65eFFR0+zG+/W+NEubGJeEkdLvDm61jkb5dtvjzSQQ=; b=gF9D1oM4yxe3/kqbYtViPOv6BYYP//ERvAo9fJIKnsmqrT7d24aYSbj2eeeV29sjK1 oIxfSo/92D3J2wrrAJdQq1uIo6LGwa4j0uuH4s73+9ow8CE0InBBac+iJ99Ms6k42Uh7 mKzkjzITFQ5Hkg27/km8/eyTcJSDKzZLDNg5qdylFcpF45nDoWYUe9pCg2NOYNiDhU4p H+387tJtYDYDCCeu+2Yopolv6vr7akBPvtWCGI7W7i/nMf5FGQ8RQpsFfKL1S6tRVSTv GrP2v5YIFhMEESPvBwxMpcoCN9ge6nPCZFwOC2RQvHeIhKpE6v2OYaB9A9TBCthfKgmH i13A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759775849; x=1760380649; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=g65eFFR0+zG+/W+NEubGJeEkdLvDm61jkb5dtvjzSQQ=; b=rF1v3pxkg0FPlBuQPw9vLT3bynMPCCYAGJWQZ8MxHGqaBvGxYYJ7zeIrnwVL0trAGl wVKfonUZG8DTrIS0o2t3npwKZjRLZVkA9udMzYwHH3AZ3+oDYUOWpEaWYRVuUvlh1SvZ xTDp1zhk+6huUauLaDQQ4fIFUu4pCYJSST+W29MtzsKeTGxwIkI2apkldiaNARGFRifI RLII6kcRGh6FW8XuvPpWxS8txJ5xv6i5yMNurCbrPkrrwdTh4bn+3y2C7mi3j0vCMeEa CO21W2PZxIANeAxwo+V0JMWgag1WBG3633pJfytJy1z+5tEtMnWohDllBdtYwipM9Y/E DaBg== X-Forwarded-Encrypted: i=1; AJvYcCXolE7wehR37NEz71FZCL8gbJdEKzpOPeAKrBspUEEpvZd29Urv13RgoyejoTvSmaaOTOxsOr9BFPyMMig=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3MYb8PzpR1dd/kBXvUnX7Kctr9TePt6b22UhNITv+QRqzLKmm KsErl1V4Ysqp5JE+UJf9UaeEkS7PC5iSrvc6bunA3WkcHnkfEdXS3GaiantFJu2x52o= X-Gm-Gg: ASbGncuTyNMxZyPATh8Mb8FIE/4ZblbcKCmx6+FJE2d0UzsRQBaFrm9SFvjoaxepRdJ 8xUqqQOKEjFvTAvpTbVmaqhG9KPLp6ITGopvdNbovJO3yS3YXBw6/9WnOK+uVL0AQHeAZB+oTXP Kzs0FRpS6iBCGD5rH7EjuR0SadkmFgpcV3ERsQ4tESKweZb38qlOLtb3s6lt/vcTGk9SfaymYNR A9JPY6XeE27hnfxMx1GTxs5AmNvU3Cy4qzzzHW7JsVUqQsUYHuqPCydYwav87fo2Nt7d//ZVySM JXtUf1MTOxYSyWFjSPfx2IRP1C38PmWSnTJfoC4tKOuWAr4lL4WVbm7f6wJCQ3Hnehh8EmHrSAd wm+yII43xYhw5DnEswty8G8f0b3IsicQImsm6/qGMW6tYuZbvRwrkS5Ep76qvAvGXZq32rCU= X-Google-Smtp-Source: AGHT+IEZnmBDj17wLd8kF/rI3tyOfZYroC25YcqmoP9Cjvk6oBwv8ZmWN7YLuLixUXR90j8jKDAYBg== X-Received: by 2002:a05:600c:1d05:b0:45d:d353:a491 with SMTP id 5b1f17b1804b1-46e711002damr81114905e9.1.1759775848917; Mon, 06 Oct 2025 11:37:28 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e61a022d8sm254997085e9.12.2025.10.06.11.37.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 11:37:28 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 20:37:17 +0200 Subject: [PATCH RFC 4/6] sm8650-hdk: Enable I2S for HDMI 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: <20251006-topic-sm8x50-next-hdk-i2s-v1-4-184b15a87e0a@linaro.org> References: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> In-Reply-To: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3235; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=6hz0qvxt77MtIJiKbaXluGcDuauBeIYpemWB7FJpVLM=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo5AxjxRdUqm5pvbHIuG32qXOj+QtkE+8x3PwNiLst efPkzpuJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOQMYwAKCRB33NvayMhJ0UXeD/ 465eN/BuPQwEhzyrNcdAUzHuCuS2G0zvr3e3oatLr127hHgCn3Gq4ue9EBTg9yLmiNd7V51hc708K4 iNU6L8DNAjbBLW/lxWTO9xvcLxu63il1l4EqpxU2RuSktQMZBsv/zruq0LFSdDLZf6wZ/D/p3vucsr gledYwOH8aLmPGxuo1tyEQ/CO6GLIlXreYIIMJDB87cHt8ImEg1B05m07STqLYtJZK0aqeuGRDbDXO y60j/7ueQlmCTUQx7QuTANgo4ukcRYKL8AzLMkL2xPyoW79qEni2aVx3YnUZSbk1j3IyOnRBn8V/RW LBOYKGsa/+5CyPfHlTqsa+zBtKap27dy/1kZ+kaxZxeqV6ide4aKxuzx9+y+ejPug2IjUsxVoWAuYt 7CaUeyTbSH6rLKdMppHsOVfoH8Dn4Zh2B9AWwDoJVTpKA+AgxQfaVPSyxwthXxmi+C1m6uMyaNAsqK D9gBTuTYI/9cWpH7JqIyJogq3kt410C0sLQIahTEij5f+YLTSPR6LeCOtKlu5o4z7ugillCnYjIuUN F7ETBWUyewO8usM49AYbU2roqKHYSgI6CE4lTR/UWrxwTfhD3JOA0jgUjCcod2khNQclDHxtHdOmDF LD5lRGeN5OAHHxihE14WcuO05r4XCWnyrBfHncZtlItlMr/C9TW62PkNFUsw== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Add the necessary nodes to configure the right I2S interface to output audio via the DSI HDMI bridge. Signed-off-by: Neil Armstrong --- arch/arm64/boot/dts/qcom/sm8650-hdk.dts | 30 +++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sm8650.dtsi | 40 +++++++++++++++++++++++++++++= ++++ 2 files changed, 70 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/= qcom/sm8650-hdk.dts index 87d7190dc991b11f5d1162aabb693dcadd198c51..1286ce95235d5544322a1877292= cbdd426298c11 100644 --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts @@ -171,6 +171,19 @@ sound { "TX SWR_INPUT1", "ADC2_OUTPUT", "TX SWR_INPUT3", "ADC4_OUTPUT"; =20 + pinctrl-0 =3D <&i2s0_default_state>, <&audio_mclk0_default_state>; + pinctrl-names =3D "default"; + + clocks =3D <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUP= LE_NO>, + <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + clock-names =3D "pri-mi2s", + "pri-mclk"; + + assigned-clocks =3D <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT LPASS_CLK_ATTRI= BUTE_COUPLE_NO>, + <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + assigned-clock-rates =3D <1536000>, + <24576000>; + wcd-playback-dai-link { link-name =3D "WCD Playback"; =20 @@ -218,6 +231,22 @@ platform { sound-dai =3D <&q6apm>; }; }; + + pri-mi2s-dai-link { + link-name =3D "Primary MI2S Playback"; + + cpu { + sound-dai =3D <&q6apmbedai PRIMARY_MI2S_RX>; + }; + + codec { + sound-dai =3D <<9611_codec 0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; }; =20 vph_pwr: regulator-vph-pwr { @@ -853,6 +882,7 @@ &i2c6 { lt9611_codec: hdmi-bridge@2b { compatible =3D "lontium,lt9611uxc"; reg =3D <0x2b>; + #sound-dai-cells =3D <1>; =20 interrupts-extended =3D <&tlmm 85 IRQ_TYPE_EDGE_FALLING>; =20 diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qco= m/sm8650.dtsi index ebf1971b1bfbebf4df5a80247a6682ac8e413e3b..7cf5073a29ed4aaf72662a4e05b= a1c6bfb118a3f 100644 --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi @@ -6203,6 +6203,46 @@ wake-pins { }; }; =20 + audio_mclk0_default_state: audio-mclk0-default-state { + pins =3D "gpio125"; + function =3D "audio_ext_mclk0"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + i2s0_default_state: i2s0-default-state { + sck-pins { + pins =3D "gpio126"; + function =3D "i2s0_sck"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + data0-pins { + pins =3D "gpio127"; + function =3D "i2s0_data0"; + drive-strength =3D <8>; + bias-disable; + }; + + data1-pins { + pins =3D "gpio128"; + function =3D "i2s0_data1"; + drive-strength =3D <8>; + bias-disable; + }; + + ws-pins { + pins =3D "gpio129"; + function =3D "i2s0_ws"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + }; + qup_i2c0_data_clk: qup-i2c0-data-clk-state { /* SDA, SCL */ pins =3D "gpio32", "gpio33"; --=20 2.34.1 From nobody Sun Dec 7 16:16:17 2025 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 967D12DE71D for ; Mon, 6 Oct 2025 18:37:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775854; cv=none; b=I9xr6/ipw0905AOKiuK3qeIRmbkB1zmS8DMRPGsR1LIsOBoGOAGslRxc3Z6HZ0e5gZr10aKWwDtcTZ4tGL7IvmjwAXEWXntrhg2XynV7HpZwzg3HQaw2Cc/caSM8rljtlOHDtXTqOHPY7QKo1Coqquo3PVKqY9X72v5YvmKPFM4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775854; c=relaxed/simple; bh=RUQon0X2l9dewpgoFW5x1ZQM3uIRhbtsZW3j0c8QLxw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sIogJ+1dp2AMGlITDPcu0Ir2ZbfRCKdDZmlJlpvtaIZ279BzVJ4+jBe+IFS9XEwqVGVKF/AU9eq77CtSjkpa/rUY76+tThZE2rBVs6Ug/OhHBxcv5r0f+PFoxN19IuWHdYGmPAaTGU6Ezt0k00PAkGlqV7xumZ9+V7uUStMBKYE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=XyRlcWC2; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="XyRlcWC2" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-46e2826d5c6so41648525e9.1 for ; Mon, 06 Oct 2025 11:37:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759775850; x=1760380650; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4nqpL022ZHzLxoBSNe8lQlcLzj+7YwLeMNobOkGqn9Y=; b=XyRlcWC2nBn1dRMNzO5nhx7jSnjEeACoML5xqyYWZxIa/XZNWGYn9MG/7ir1KwhUvF +h2nGeEvWWord8GJ4ClejJtinQgkeD4ySnqER7BpBy6qAm/+QaO7+ra1RPHjVxZbVZKG ixHap+w0SOdbo7dmV7v77h1ucEF3Tpd21UqtqFgsVFh6XjCm36Tl8uIq26ohgs0hSMor E+A4ALXjz6oDqal/hCQnRoX3Feneo1z6K66prIMO6muUSL4/wVeLu+VTXmQpQV/ws1Br d6Vo95ewebAVkh3iJobAAiHt7FvCRur6tBgCyOBx8f/MGCq5eHyA32KEvZRJ+4DfVjQq eUkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759775850; x=1760380650; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4nqpL022ZHzLxoBSNe8lQlcLzj+7YwLeMNobOkGqn9Y=; b=B7HNjE4jTy/d5BwcpStBmqs5Bllk4/ICfttX+f03ZA6Lh4Syhq68IsXkp1ITfyYJTh JX4deoq0C33wpPeiJXhdPwnVS381kYuCd0T/9Erlt5IdCCratY9lbDdHyDf062saKxS5 +JjvbPwgUqFE6FyCkh22fRbCC8UWH31C5NDiEU1sE/cjhFUWepGIXQCROWgyhc98nsjs dZjM8bgVdw60bYeEuczJXSCtV3lST8906AKmbqBzaZJPbxnyaX99dNmU64z6NUZq3+ti Lbsw0+JRvdTzb1ZXMXYJZN4dmUqE4F2vicxliNHo4X0LE+fHfKlxnAAYnnRU3WFp1fqy VpwA== X-Forwarded-Encrypted: i=1; AJvYcCV58V0cU/EBJCFmvMuzl1YhWkX/LK1iCoK8/xMWzDJDwiJm3bDGmWqGHx6Uykf6eVdZMjdb4JiI1dYs6sA=@vger.kernel.org X-Gm-Message-State: AOJu0YxMf5ELUNabVADrxsPZyikjAVvI/XdfzTD5sNHJvi2ZVoIt05F4 sJk26bAq4Tp+tjsdaRIgLf1UF9nPs4ogxyHeGg0wG/XrGy4uEHoaeRcLo95gYYcT/wM= X-Gm-Gg: ASbGncsv1tY2IJVdmQgo4kLAhPLVHCGMvtnfKMtErYg/zNWj9rSyOWiLN0ELiujp2cH pa8P4M4lG6sJ+sIcxMJxj8y4HiqGsuBRMNTzpNhZFz/qvASXFViliuN1ybwV3ck9JGq7uBzRzYu F0gsBUPBtgSYLEeqzjYW1weqWhr14jR98nOHUWbf7rkzUIws9MhgYLe9aRp+PruM4ksXUywFcut Jif1ZPYT4AhztINKhaaDJdqFsh5+v0fFjyc3Hp/JJPE1s6lEkwxR3zRuckHzbWnU1/IZVGrb4Wh oO47R4d/PSk6FPtKW8JeEqokDI02LsyCB7M908bpoVem57zB+xB9EMzmbnlmC7Qmii1pZfhO8+4 DWnAuswtDcolybtP/6wm8RvrnQt4jNcyjYEB3iJL+WHqx5EkwcESmpJC02lGgNTuE2mv0T4w04T Hc0zrbDA== X-Google-Smtp-Source: AGHT+IGVfYaIP/zCK/+Ukb7WUJrFoG+q2zlnyv+sL6LlfSFtI3oHSUhRuOZSiaVkqiU6+Sz2bxLJ1g== X-Received: by 2002:a05:600d:41d0:b0:46e:19f8:88d3 with SMTP id 5b1f17b1804b1-46e71140bffmr77041755e9.22.1759775849697; Mon, 06 Oct 2025 11:37:29 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e61a022d8sm254997085e9.12.2025.10.06.11.37.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 11:37:29 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 20:37:18 +0200 Subject: [PATCH RFC 5/6] sm8550-hdk: Enable I2S for HDMI 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: <20251006-topic-sm8x50-next-hdk-i2s-v1-5-184b15a87e0a@linaro.org> References: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> In-Reply-To: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3890; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=RUQon0X2l9dewpgoFW5x1ZQM3uIRhbtsZW3j0c8QLxw=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo5Axkall/cRF/u+lnGGBUUMUWRb93dFEOPn5wrGEQ t7wwg/qJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOQMZAAKCRB33NvayMhJ0RSuEA C3YnCo8MHFyVI8i65vd7TTct606yieKnEtl/1K6NVtKEav5fpC5ZlXYnso1R1ZND/QMEtG0Xz/IQj8 Ll8Nes3EjHrTkquzuNcguJBJURT+Ba6VMrYboJx9kqUcOsHfLpJZCn4EHvritjrUvP/4EDh/7phQ85 4H4ieU6w8Aw6e9qWw87mXGJTOwYZuN2+R96dxc8LWE96sGFcqa+60pf/5vzAAMd98x1DJSQV9zu6xQ aDuV18tmZPPy7nEQ5mEHXFSGbg7wK3virDuk4htX5R45XvJb8dq4LcY2MSJ+sC6kOCQDaL0ydLvBuq MarssHrF3IO/7rb+0xgX17yrIcut8Zcv1nwXWRosJs6S8wIysv9qksCsnjFgmXYN5HhpQzhOPvPgg5 ZiDJdxvmzleWfg9mc36MmQMCBy5AVeSFUsiiktzcO7HgxpJbtSV78oLG2F3jNzEjTRrxUJpxpdc+Ix 9Xj46u+f9Dkj6HseFDj7BNWqAQiIOKrwH5i77dw3zaULTFSDdKf7zOxuA/WMB6ZX0CVgDLR7S92XaG UYbkNcEk68P4HZrqckx4Lnp+S2UDuNdO9S6HezjsC6nNxKbq22TaP3R+8ypwes7ejNiH157/ECpC0x xxu4WiBHwOJuV/T8+12hP4jZG7ZosvWbDcuoFQhFLZ0lirBcsCOHDxSIQxTQ== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Add the necessary nodes to configure the right I2S interface to output audio via the DSI HDMI bridge. Signed-off-by: Neil Armstrong --- arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 30 ++++++++++++++ arch/arm64/boot/dts/qcom/sm8550.dtsi | 73 +++++++++++++++++++++++++++++= ++++ 2 files changed, 103 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/= qcom/sm8550-hdk.dts index b5d7f0cd443a18b167c94e450b5b9412897b2ba2..29c31a3d380d52155a605b24fff= 793745ba3b17c 100644 --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts @@ -215,6 +215,18 @@ sound { "TX SWR_INPUT1", "ADC2_OUTPUT", "TX SWR_INPUT1", "ADC4_OUTPUT"; =20 + pinctrl-0 =3D <&i2s0_default_state>, <&audio_mclk0_default_state>; + pinctrl-names =3D "default"; + clocks =3D <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUP= LE_NO>, + <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + clock-names =3D "pri-mi2s", + "pri-mclk"; + + assigned-clocks =3D <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT LPASS_CLK_ATTRI= BUTE_COUPLE_NO>, + <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + assigned-clock-rates =3D <1536000>, + <24576000>; + wcd-playback-dai-link { link-name =3D "WCD Playback"; =20 @@ -278,6 +290,22 @@ platform { sound-dai =3D <&q6apm>; }; }; + + prim-mi2s-dai-link { + link-name =3D "Primary MI2S Playback"; + + cpu { + sound-dai =3D <&q6apmbedai PRIMARY_MI2S_RX>; + }; + + codec { + sound-dai =3D <<9611_codec 0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; }; =20 wcn7850-pmu { @@ -891,6 +919,8 @@ lt9611_codec: hdmi-bridge@2b { pinctrl-0 =3D <<9611_irq_pin>, <<9611_rst_pin>; pinctrl-names =3D "default"; =20 + #sound-dai-cells =3D <1>; + ports { #address-cells =3D <1>; #size-cells =3D <0>; diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qco= m/sm8550.dtsi index 7724dba75db79a9e66a2c61e1ea3607bacfdf5bb..73df93288f6e0ed71ec1e7f5ae0= 9276e7593fd60 100644 --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi @@ -4956,6 +4956,79 @@ data-pins { drive-strength =3D <10>; }; }; + + audio_mclk0_default_state: audio-mclk0-default-state { + pins =3D "gpio125"; + function =3D "audio_ext_mclk0"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + i2s0_default_state: i2s0-default-state { + sck-pins { + pins =3D "gpio126"; + function =3D "i2s0_sck"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + data0-pins { + pins =3D "gpio127"; + function =3D "i2s0_data0"; + drive-strength =3D <8>; + bias-disable; + }; + + data1-pins { + pins =3D "gpio128"; + function =3D "i2s0_data1"; + drive-strength =3D <8>; + bias-disable; + }; + + ws-pins { + pins =3D "gpio129"; + function =3D "i2s0_ws"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + }; + + audio_mclk1_default_state: audio-mclk1-default-state { + pins =3D "gpio124"; + function =3D "audio_ext_mclk1"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + i2s1_default_state: i2s1-default-state { + sck-pins { + pins =3D "gpio121"; + function =3D "i2s1_sck"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + data0-pins { + pins =3D "gpio122"; + function =3D "i2s1_data0"; + drive-strength =3D <8>; + bias-disable; + }; + + ws-pins { + pins =3D "gpio123"; + function =3D "i2s1_ws"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + }; }; =20 apps_smmu: iommu@15000000 { --=20 2.34.1 From nobody Sun Dec 7 16:16:17 2025 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6AFD92DEA90 for ; Mon, 6 Oct 2025 18:37:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775854; cv=none; b=HaEdfeqarLIqFPZs6ezZw40SMDXPuKKP80Tr0iQjhA7zTVUTukjtZy5ddFMdmybg7MBr4MhirBJ2U6oU7XauaDn+pWUDW6Z7dJ/78EkosIt9Dv7UZww0bkwShXIKqrcs/WMyz4JsGQdrFyoV7Q4fW5nM374MVa2I9wWinUBL2Sg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759775854; c=relaxed/simple; bh=zXvVqOY+FmkLEkipbzYVu9WiK1E5b/lEUQslscbETwc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j0RJ3gJL+RdkMW3u05QlNj1pguexMS8STzw4fuOg5rH6gCgEw1DNZKx96nhTxjL9SxxFE/zkMipnGXOKzpmAvFrmCWfO8p4KOIL0kepCZ13v5HQetNRjuNF8TV+ksKC1OHzrAbAWexpVWj4BtyqJtoSOqqxXwYHGwzq0OVKbOx8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=GOBAWtz5; arc=none smtp.client-ip=209.85.221.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="GOBAWtz5" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3ee12807d97so4386919f8f.0 for ; Mon, 06 Oct 2025 11:37:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759775850; x=1760380650; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=QnX5XErDx5O3zbBQ7ufQmhBI+YSqvg4f14xs2R71brc=; b=GOBAWtz5AJ3DuuRSv+O8vCaxdolOVa7Fy8opj6vg9Y6ogfjRwbgcEl/eQfl7wwnw4l Q4/o7GnYZkCc97fd/H/7MlvrDIU+qMnN1vPnk/UokRdePqsYlGR3xITlpbWNVYLSs+ZO n/pcJDvG+jJKkTHMp3O6uqgYrqfGYkEmtICjNicXvwbZf/8uJVK7eUms5aFFOlde6uge Fi5DOSTbOFE2yspCQuhufyefiw9oly8Ffgaoxf/isDrkH+JCkNZ91f40yVa0dig3eUF5 SnXBxYFgQu+EBguWYYw1fu/8ai0WnTu1+boc8/FGE9mjF5mxtu37PxAGL5GzsGr/EuYz XnuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759775850; x=1760380650; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QnX5XErDx5O3zbBQ7ufQmhBI+YSqvg4f14xs2R71brc=; b=PbdMZeqbvZ8fiwO+vnPH6md7n/ze308ReC+E/oDVBwXdo38+S+w+0IVgftPPd5q5Y4 yPgeFBYzhaL/clzCtFR1MUA2dusH309LRKlo7yIhyN68WZELeb5ulBxcSMNhVu7Yt3BJ yBvPj1KyxuNvzJSRsoDAfWmqOFu5Id91emqKUqWNOSNQ6Wdaq5uUEkGK2a6fHwXfsswd sbRtwp3MCdNeMfGzSWOlTzwEgYc2cG3iMf2QuqniFXEE+LL/yiZZZ+4fV+z9ydL85IVc YRHntgq9vr973ZRx016W/kjNSOn7sjnqh4dHoPoxUTbsE7sqYvA/mGqmWLzGmosLJBvY gy6g== X-Forwarded-Encrypted: i=1; AJvYcCWYlJESn+YFaoy2XDMJo3YG67XpQ18zoRgJ0NVnW+hhcCcQLj4GMXhErMB8GzDd/4hfjCiT0peRUzBrHfg=@vger.kernel.org X-Gm-Message-State: AOJu0YxjaGDuN/DMEUQuVQ/rIvNfNMaF3ohexqj2PnUfq1HsMa7tEXK4 Cx8JCwBMeU3xFkVUUG1nzgEYJPQJWBF0zHk43Sn8471u3CkJF4du0YveZAPMAw3efok= X-Gm-Gg: ASbGncsIIe+K1QklaRecdQeKbL0ERtd7/QJZAlCEn7vGH7N4XlkwAwiPQXnwDru/2g9 1TIaZvJ5YVl3Y9fW0ZuAeufgtoVGNCkPb9Pv4kjYgUuaeZwnL0NwHxRFQ3J5gFPkeEdUMIuC3CO 3pkS14433OfGlX4ggtWjw0+nLPkHUslCPKLM8d/CbrhXoEhlFjs4vejdxTam4XHnq9985CPU0BF xjShv+xBTteU0YLfFBJwTNp3MX5ScIUpf+vFnHfwPOVnk/lGsea4qFmmQ3EpegNdgPS4avr8PEo DsxMfqkpxe2XGp1eqpiy8KhvmrhSWv/xaxQHsDU30hQESvcy0hzBmfa8nN7ZRp3YKldEfR5Qjsu 2j2lzOFKP3dcioKiJt3PXjZDo6PJEO/NwSo629B4ifOE/r+5knJSQR/f+C915u2H/6zEIYm4= X-Google-Smtp-Source: AGHT+IHmiv4QNzGSgUm/ckW+jgSBd7VLloyZLLNL+/yjR4sSGkKLrO/+NrpaCk6W+wa8KoSBCF8W9g== X-Received: by 2002:a05:6000:4382:b0:3ea:5f76:3f7a with SMTP id ffacd0b85a97d-4256714a519mr8024107f8f.22.1759775850429; Mon, 06 Oct 2025 11:37:30 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e61a022d8sm254997085e9.12.2025.10.06.11.37.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 11:37:30 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 20:37:19 +0200 Subject: [PATCH RFC 6/6] sm8450-hdk: Enable I2S for HDMI 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: <20251006-topic-sm8x50-next-hdk-i2s-v1-6-184b15a87e0a@linaro.org> References: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> In-Reply-To: <20251006-topic-sm8x50-next-hdk-i2s-v1-0-184b15a87e0a@linaro.org> To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3244; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=zXvVqOY+FmkLEkipbzYVu9WiK1E5b/lEUQslscbETwc=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo5AxkIxmKn5IT1+b4gR0HImUqI1UGtFwwvxZXXk0/ 9W1tRUqJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOQMZAAKCRB33NvayMhJ0XBvD/ 4hnkvv1QftgEOxXWgVl6SGY6xgEt37UnmWMdFb5pHZNPt2NpiK30PK3phila+tmSllvcE5922lIipV iA00yRuF/EmkF4+6JCbOC7FYu0a3jIDJ2vL9nkPkaIs8vUIGxuxpJQP1sKTviqJ/UdeJwWKJX0Cpvg HNsBDQHPRjfSVVkHgfyaa/u6ZgqSyu+uM39s0FcXyjQ5h/ANNpQI1ejDfsTJ3gLQYqRqd/DQH7z3sv u0K3KHkYJbDCXLfgM6L77OF0oXe4BLzKcjIsftfzDUxo1jr9+8u1GdwzOCq0tYThHVIf1BMF4EEhM4 srH5d76BCSsJbGQE6Fy9U1sthvmyt9jj2IeH9c/H43dRtiC2O2QUsycfgHBPBKfhc2X02Weo1yT9ZK 8r2m2xXIcdbiy0EjPYqxByBWsezqZTrbYetEaOuPAGLcoDKne7puRxOyWReVq4NHj8n8jdVs3PMdTL kpXhdg8MsXqYIwqx775ee/93ld8j7C4jCa7MQ4uYaW2Ow5LnRSInUVw0SW0SB1PPd5c+EApHnsPE1g LnJBTGXTzcQ08Jq1yGscYHopnBBTu3xSMdrJPSdmAyYJrPsok7UpdQxQqfGx/XZjwnmYz9FTQsCl4W SGg4rlHYlP9RRrXPr74jniXK6d31yi1PsWwVDpn9hVIQBlTK6FDXCUw99RJQ== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Add the necessary nodes to configure the right I2S interface to output audio via the DSI HDMI bridge. Signed-off-by: Neil Armstrong --- arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 30 +++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sm8450.dtsi | 40 +++++++++++++++++++++++++++++= ++++ 2 files changed, 70 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/= qcom/sm8450-hdk.dts index 0c6aa7ddf43263f30595b3f0733ec3e126e38608..c8fd4c8c6bc644ccb5f9fb05c09= 9f27513b86e99 100644 --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts @@ -667,6 +667,8 @@ lt9611_codec: hdmi-bridge@2b { pinctrl-names =3D "default"; pinctrl-0 =3D <<9611_irq_pin <9611_rst_pin>; =20 + #sound-dai-cells =3D <1>; + ports { #address-cells =3D <1>; #size-cells =3D <0>; @@ -1016,6 +1018,18 @@ &sound { "TX SWR_INPUT0", "ADC3_OUTPUT", "TX SWR_INPUT1", "ADC4_OUTPUT"; =20 + pinctrl-0 =3D <&i2s0_default_state>, <&audio_mclk0_default_state>; + pinctrl-names =3D "default"; + clocks =3D <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUPL= E_NO>, + <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + clock-names =3D "pri-mi2s", + "pri-mclk"; + + assigned-clocks =3D <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT LPASS_CLK_ATTRIB= UTE_COUPLE_NO>, + <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + assigned-clock-rates =3D <1536000>, + <24576000>; + wcd-playback-dai-link { link-name =3D "WCD Playback"; =20 @@ -1079,6 +1093,22 @@ platform { sound-dai =3D <&q6apm>; }; }; + + prim-mi2s-dai-link { + link-name =3D "Primary MI2S Playback"; + + cpu { + sound-dai =3D <&q6apmbedai PRIMARY_MI2S_RX>; + }; + + codec { + sound-dai =3D <<9611_codec 0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; }; =20 &swr0 { diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qco= m/sm8450.dtsi index 23420e6924728cb80fc9e44fb4d7e01fbffae21f..5ddc1169e8c23327261820f7baa= 31983a3eb0bf8 100644 --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi @@ -4288,6 +4288,46 @@ qup_uart20_default: qup-uart20-default-state { pins =3D "gpio76", "gpio77", "gpio78", "gpio79"; function =3D "qup20"; }; + + audio_mclk0_default_state: audio-mclk0-default-state { + pins =3D "gpio125"; + function =3D "pri_mi2s"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + i2s0_default_state: i2s0-default-state { + sck-pins { + pins =3D "gpio126"; + function =3D "mi2s0_sck"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + data0-pins { + pins =3D "gpio127"; + function =3D "mi2s0_data0"; + drive-strength =3D <8>; + bias-disable; + }; + + data1-pins { + pins =3D "gpio128"; + function =3D "mi2s0_data1"; + drive-strength =3D <8>; + bias-disable; + }; + + ws-pins { + pins =3D "gpio129"; + function =3D "mi2s0_ws"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + }; }; =20 lpass_tlmm: pinctrl@3440000 { --=20 2.34.1