From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) (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 2869B3D6CCB for ; Wed, 4 Mar 2026 19:57:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772654268; cv=none; b=u6jiMUBhdi+KlZudY+OkdcI/cXSHANIhlG6Xu/Seq7eJkOlwpTIAzVZkY1B+xp8tVmBoYuVrMYx6iGVsZkP2kUzdOvf2Cpp4N7m13PjIAJiK5KIXlOu8mJb0vkz8G8L8T5hCkXi0Rakg9+9DNWVcd+ChP/vPd6pHiDl1L+3n3Cs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772654268; c=relaxed/simple; bh=BgdtRCrG+UT4Wjl3MNPFweAAAvfm5+xVSgZzPOCJs5M=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mS0yRE3THUzkQXOTrXE58sWQf3mMSdWeaT0bY7tEPEYwenufLcjgD8PCTW2ul/eBM6/9ASvUO6CxGr5sWhF/HnAtyn+JwAyLUh80Mzmb4I1EK77xpnCq05iVsC3AivL7ijU9uDdC4Ie7MpMrp/uBpgsef/Nb9o+r++RxtURadhk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OF4V1Ie2; arc=none smtp.client-ip=209.85.219.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OF4V1Ie2" Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-89a15b9a556so19835706d6.3 for ; Wed, 04 Mar 2026 11:57:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772654265; x=1773259065; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=kZuBqMqdE2cR1Kb9L+99KXcjTlaXgNSs2txRlLKnKaA=; b=OF4V1Ie2vaqPUvtWXOIagQfe3oQZchFCCIEXpik9fK0YwPOeg3Ao1cmYKy29tUZyXY J3gOR4oHo0KJkWOkgRZ/Fl30twFijBZL8d4cVAPKZGZYkVY5dc+/S1VMoKaQqhS0rMPA s/kR/Y9kAaYLSs5+S4rMJwZrwSzvjdSfZNUUQy5ml9HIkiCL84mGr7sMUlHjtu+1jUwJ llxZzfAKu5wn+M2pFdyYz2qGYWPrPZ0usOpbVGk6p290G3sefmms858+0SSRIQ+3O4hg WlQSEaB1GL/0uSX2gCVVvYyJFvnxIwuF1vNvMlmMTGqta6ZjN19kCe22YxAphT3uHTG6 lH0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772654265; x=1773259065; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kZuBqMqdE2cR1Kb9L+99KXcjTlaXgNSs2txRlLKnKaA=; b=IAusPfp41Y6x4FASME4rIAaz+5VSwjcjAvZfTSzMlmkhmN+Zn7lvgB2KX/X6ECfGo+ oaDD/KthTRlhYpQFM4DLfemDnozHbHCrkUb44T/ysJEqpGltLLlvD58a57S/YiW0S/B9 HhxlvZUocyXEbs+dzsM7IMONvufuPklSVceVaucEiKLZSlnsGLuCuW2ovHgr4BAmFQ4y 0Qh6ND0fBWqc39I9dG3LE/87p/DqLWZ1wHQp1AGOq1rekPTtG1QvV9VirM2hsCDhBkd4 VlkEhj+7Ba0ulDi2AE3KLG7TdDzKY7tc4LW+ZTVLJjbsAlFnbf3vEeEF2EmjPhuBSy2K RQTQ== X-Forwarded-Encrypted: i=1; AJvYcCWQyDR3t198/wsH4czVJisVTaUF4jgy4vp26ccSbzvM5hR87fu74WVTAgUsUIzcnvwu+F1k437TQNRj75an@vger.kernel.org X-Gm-Message-State: AOJu0YyoFsQMBZB91k1Udcgac6xKHzIsQy6I0dd4gadD5F3VSFxW6kCN 2a1g2pB0EvSI8sm6EcDJ5/mqJfJ5WkSTvZozvd/ohvGNcLM3W6h5SVXE X-Gm-Gg: ATEYQzzi4KhcMzBLrnger6diQKQzb/0RwfG5iFLeD3NhWFkVISe+2BHvN8dTIstms+V ngRldDCdP5CSJYPzZly1JQHP8UwgX86nwiwozS/B6PMxuyhAKP6rT+RcwnuO84ohqXEQfeRjKQJ wP8B7vj5xEtWFG5CAl7MgeIyHXQAaM9sLS9WJtwREm3/fCsgFCWb+tXMjL03zm5wtBurfTl9pn3 eT7CCLb0vIfYVp6JvxPzn8AhW+2b9tWKc4WR3TrnAj0JarV1TrFnDnbRvmDiKZT6yiaSmcryUIE bLGjKECJjuDXJF2Pz6gAwqCUu+yGl7zwItCSNr9mzXpMe19FqvnZOJvhZ/OM9egvbgsFt6xDqLU WMOlo3AClFMII/VBq10fFYPtn+DSqprV3lTfSf7Ik3ZDw3urAOcwVFWFhqwX/d80iPQEur8ErGO dzSwE8+AAHRfPuBKC5JSOb6OS1mESrjk5SShXa X-Received: by 2002:a05:6214:21c2:b0:899:f8c4:5c with SMTP id 6a1803df08f44-89a199acacfmr47559586d6.22.1772654265116; Wed, 04 Mar 2026 11:57:45 -0800 (PST) Received: from localhost ([184.144.58.243]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-899fc21676fsm76028846d6.22.2026.03.04.11.57.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 11:57:44 -0800 (PST) From: Richard Acayan To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jaroslav Kysela , Takashi Iwai , Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, devicetree@vger.kernel.org Cc: Nickolay Goppen , Wesley Cheng , Greg Kroah-Hartman , Johan Hovold , Kees Cook , Charles Keepax , Kuninori Morimoto , Richard Acayan Subject: [PATCH v2 00/11] SDM660 sound card and internal MI2S support Date: Wed, 4 Mar 2026 14:58:04 -0500 Message-ID: <20260304195815.52347-1-mailingradian@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This adds support for the SDM660 (formerly "SDM660 internal") sound card and support for WCD codecs over internal MI2S. Like on MSM8916 and MSM8953, some SDM660 and SDM670 devices connect to a digital and analog codec. The connection to the digital codec is through special "internal" MI2S ports. The digital and analog codecs are used on the Xiaomi Redmi Note 7 for headset (playback + capture) and earpiece, and also on the Google Pixel 3a for the headset. This series does not include devicetree patches. Changes since v1 (https://lore.kernel.org/r/20260211020302.2674-1-mailingradian@gmail.com): - rename sound card to drop "internal" (1/11, 10/11) - use common headphone jack code (9/11, 10/11) - remove no-op code in sound card driver (10/11) - remove inaccurate comment about clock consumer/producer (10/11) - add review tags (3/11, 4/11) Nickolay Goppen (1): ASoC: dt-bindings: qcom,sm8250: add compatible for sdm660 Richard Acayan (10): ASoC: dt-bindings: qcom: q6dsp: add internal mi2s support ASoC: dt-bindings: pm8916-analog-codec: Add PM660L compatible ASoC: dt-bindings: msm8916-digital-codec: Add SDM660 compatible ASoC: qdsp6: q6dsp-lpass-ports: add internal mi2s support ASoC: qdsp6: q6afe: add internal mi2s support ASoC: qdsp6: q6afe-dai: add internal mi2s support ASoC: qdsp6: q6routing: add internal mi2s support ASoC: qdsp6: common: support headphone jacks connected to internal mi2s ASoC: qcom: add sdm660 sound card support ASoC: msm8916-wcd-analog: add quirk for cajon 2.0 .../sound/qcom,msm8916-wcd-digital-codec.yaml | 8 +- .../sound/qcom,pm8916-wcd-analog-codec.yaml | 8 +- .../sound/qcom,q6dsp-lpass-ports.yaml | 5 +- .../bindings/sound/qcom,sm8250.yaml | 1 + .../sound/qcom,q6dsp-lpass-ports.h | 14 ++ sound/soc/codecs/msm8916-wcd-analog.c | 63 +++++- sound/soc/qcom/Kconfig | 12 ++ sound/soc/qcom/Makefile | 2 + sound/soc/qcom/common.c | 1 + sound/soc/qcom/qdsp6/q6afe-dai.c | 46 ++++ sound/soc/qcom/qdsp6/q6afe.c | 56 +++++ sound/soc/qcom/qdsp6/q6afe.h | 2 +- sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 200 ++++++++++++++++++ sound/soc/qcom/qdsp6/q6routing.c | 78 ++++++- sound/soc/qcom/sdm660.c | 192 +++++++++++++++++ 15 files changed, 681 insertions(+), 7 deletions(-) create mode 100644 sound/soc/qcom/sdm660.c -- 2.53.0