From nobody Tue Feb 10 04:03:02 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 63E7F43CECB for ; Thu, 5 Feb 2026 17:14:27 +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=1770311667; cv=none; b=aaxPYDBVRpRIQ5iRqB3jVYv3ru7I/9Lta9CN0fgySJG0S6PIjpM8nopJoLeLb1vMLlUE/RJO/DvBh+lUOoxEmnJ18Zp+i2sv5U5mgdrf2f1IgfrlJNHWoxeYHYAV+ObLltZdP3RuikZujB1stKJQTZ72qsw9D6GBKeHlgOPtjf8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770311667; c=relaxed/simple; bh=mDW997OLPhj9/cZiWF71LObptofAy2aHxMQZYNVrW5o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GuAAxeptQ2eCnaNRWeWiax9edJ0eQHXuSZYqtpBXrssV4cxXvxmOxQ25GwnyhBEQHnYhW3sba+TupjvvxFCGCNca8Ad1HP3XZ8yPekZajZTzHpCn6wXzxygujSUhs9YhIoLvSDgTkV6d3Ks0Z53qRvoHZiYMfPFddDv82ixloU0= 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=mCK+jooc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Gg31f2LI; 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="mCK+jooc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Gg31f2LI" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 615BlfbA4135872 for ; Thu, 5 Feb 2026 17:14:27 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=TSmNTbeOuD+ fL/CAookHlWTYOHGnEPMNf+RyYw4NXHs=; b=mCK+joocnmJqKQFky4wSZx/JxCw B52ySztCcFnGZmn0Cnsv6rs89Ro0Aj6CBXHiwf+olV/p/gucC/ip6Ochq7FhymEX JxCSCUHrJ93RBmhl4G+1TNm2dFjc/hkTXGDS6dG1zOZ0LMa72qLM47E0iGlGA38K PU0BJBoNdf7pybnpv3eAlnAfLxT8lucz6UbDIQhVvSnfjGNSYpL8Jl3m2viGHR1y jQlfQjG6Co+AxKjddiAymhHiAFUZwBq3aCZbBhGyvIwEiWm4Pu+S2Hkp1NE3+UQy 4GBgFw+flhwRG3GvIu402rC73gEQ5kzel1BvBxDtv4OXU8MtLFP9UWLfTTw== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c4tn41340-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Feb 2026 17:14:26 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8c70fadd9a3so399385585a.0 for ; Thu, 05 Feb 2026 09:14:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770311666; x=1770916466; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TSmNTbeOuD+fL/CAookHlWTYOHGnEPMNf+RyYw4NXHs=; b=Gg31f2LIz+5t44EEy0+GS6bimr+GQ06adHLUGj8ij1W7YB5XTUu9mHV5Is2ZDQ3zsV Bg/kySDmZ0Y8NB4PnfmA3WMmivd7acU0qUtCWsNAMwG7aMvqvkDq+KrZBkPmAg5f4F3o fvAeqp3spk34etypEKE0Fg42CqYnP4QZAXzJn9Cy9EDfwiWG6qtut+wflRwqYaoiWp0B 5c/8B8ermbjXpHtEGQzZlYX1fNN9hV1Rnxd3j80leHdAGcqfBWovnKFkY41kUaYgoXFt dNWBsB0KYZ2iji/Ks8qx19jHJwWQxzSuXU5aPNgx53xnT6NoSiQku0Vy6F2T3IpHKHqS ymtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770311666; x=1770916466; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TSmNTbeOuD+fL/CAookHlWTYOHGnEPMNf+RyYw4NXHs=; b=ZKY6GbItArAlZ8JAUyn3AbDiYgn65sEswG1XhF12dT0kJyQATH8JavUg23W7qzw47t OFJxbT/D6pKxbuSHj6x0lnVShMB7m9avnKpgjQ1RS4fAJ4Fw+kSUo7EcZypSLQAvu97D hYlrxbJyKc/IQcZg/l6+uoqaYymzD0/7GJ9nfJ3Z9kHM0jVDq1QKCtrl+KJmMCOpWwJV iVEgu1fckupA47pHtSyH9IASPL+ACXj8sWsQJF4rG80dRMax23aO0wc+s03Gk/COohBJ Adc6HLqy+lJenwpZe9kE5bODn3W6/AJAl2pG0Paj5dsgn9fuhGULbZ1mUKtpEKn/kJpI hQbw== X-Forwarded-Encrypted: i=1; AJvYcCWtxu3tA8lD0gVqRA5uK8b3jA0JZLkGM/B4MKPsbPbs7XXf2j3G9LbXCWfY3TAJpCFWR4MtOf+OvtoLc9s=@vger.kernel.org X-Gm-Message-State: AOJu0YxTu6Fo+QiKmDnZ5i0Lv1AqHiAIq7a6kjjPqf8YRn+VDxLN5/1j giaG0aVey7k0Yn6wRu2FohUkCcZssM4zc43rcbKmpP84ZtITsboCbEQ0EZj159TYLXJvqEu0ga1 O2HMiqbXCpAK0cX5VgByTlIDk5aTnxYxhGVOaKRxEPFiU+RGadDdIWKsRDQhWAHiDREw= X-Gm-Gg: AZuq6aJMtbPb8P5J+FSOhV+e//wkxxue8a54sZEmao5R2wrBdwzwvpjh/jYDl3trCiV 3Ps8xOc7zFo5XYOOp1O1hyX4P0qS81VZHIvUJhVDLQZwfpNNxLUzuf0F10uNElQXnENNKJXbmEf IhCfB0ELC2O96u6WCQ0Y1znfjl7ie1x0PhTiFHK2eIjYd0yKKKJ+dSUmmKpPW7wS2caF6UMZX7k 2u2aNXWs8Sxq6Ezu/eBcg1ea0dIcMi24N1iIVcY4pjTQXF+0bF+hwoWPcdZ5Nk+eJFGDsC+flmG gYlWFSHUYsaWhFVmRo8FelSX6LzO8gIbvWizqEhzo9QbQmcPQKXPKUA2CJnhP7w2EMjaUT/2dt0 pFXx1lLN4/hslbaPR2tQIBPOdKvVqpwNDxCWMVnAqDyc= X-Received: by 2002:a05:620a:3953:b0:8bb:7e56:f204 with SMTP id af79cd13be357-8ca2f82c96amr937667185a.20.1770311665752; Thu, 05 Feb 2026 09:14:25 -0800 (PST) X-Received: by 2002:a05:620a:3953:b0:8bb:7e56:f204 with SMTP id af79cd13be357-8ca2f82c96amr937660185a.20.1770311665100; Thu, 05 Feb 2026 09:14:25 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43618057f87sm14802849f8f.21.2026.02.05.09.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Feb 2026 09:14:24 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org Cc: lgirdwood@gmail.com, robh@kernel.org, krzk+dt@kernel.org, cnor+dt@kernel.org, srini@kernel.org, perex@perex.cz, tiwai@suse.com, alexey.klimov@linaro.org, mohammad.rafi.shaik@oss.qualcomm.com, quic_wcheng@quicinc.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 07/10] ASoC: qcom: q6dsp: Add Senary MI2S audio interface support Date: Thu, 5 Feb 2026 12:14:08 -0500 Message-ID: <20260205171411.34908-8-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260205171411.34908-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260205171411.34908-1-srinivas.kandagatla@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: rB3EWLVImYetm0DYgmk9HR4lAMB7x3r8 X-Proofpoint-ORIG-GUID: rB3EWLVImYetm0DYgmk9HR4lAMB7x3r8 X-Authority-Analysis: v=2.4 cv=Dfgaa/tW c=1 sm=1 tr=0 ts=6984cff2 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=aBFzMgE2VLA-TvnT3JMA:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA1MDEzMCBTYWx0ZWRfX5GcTUPO8XD2Q SJhdzSvF8GbyGVn/7G2FromyXFedXo4UG1QWnCKj+2O3Ama2Ocnpr+jXF06Af23llzUmFwHRCRe qUanvsrXocWtBL3KSzgvCITAnbBkD4fAiO/4CUaNe9pn+H3HFNg2P6RpAbQQ1LQN9s1S4PVJudS KIaQnlfcgKnzAIFgEk3bkwrQJHuP82pWnABhgYHYmzm7mQv4C8SppB1U/DPZIGKEOy2Gbvs8XGr /aK9Qq2WywsaZcGiwYCuwQM5PUWl+/i5ubfv5/N8/BvKtkJU8njSoT6X4qBgEm16oROGUPF74VB 8bK+8sL11bMmjSgUh/7ABiyoR37nUbeblRR3SL3Wmo+hSs4XhHlF0H1ourBVaWZxSXVasoHeatT dTU1hTJa4IiaOmIUoc42PCGDlKd4+yWpyodWHXwAP9qrSTyGh2Lpd2reh1dU8GjoRyZHmd6n0WX x5D8XWFwxwe+TlZHI6Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-05_04,2026-02-05_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 bulkscore=0 malwarescore=0 phishscore=0 priorityscore=1501 spamscore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602050130 Content-Type: text/plain; charset="utf-8" From: Mohammad Rafi Shaik Introduces support for the Senary MI2S audio interface in the Qualcomm q6dsp. Add new AFE port IDs for Senary MI2S RX and TX and include the necessary mappings in the port configuration to allow audio routing over the Senary MI2S interface. Signed-off-by: Mohammad Rafi Shaik Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6afe-dai.c | 6 +++++ sound/soc/qcom/qdsp6/q6afe.c | 6 +++++ sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 29 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6afe-dai.c b/sound/soc/qcom/qdsp6/q6afe-= dai.c index 0f47aadaabe1..a0d21034a626 100644 --- a/sound/soc/qcom/qdsp6/q6afe-dai.c +++ b/sound/soc/qcom/qdsp6/q6afe-dai.c @@ -409,6 +409,7 @@ static int q6afe_dai_prepare(struct snd_pcm_substream *= substream, q6afe_slim_port_prepare(dai_data->port[dai->id], &dai_data->port_config[dai->id].slim); break; + case SENARY_MI2S_RX ... SENARY_MI2S_TX: case QUINARY_MI2S_RX ... QUINARY_MI2S_TX: case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX: rc =3D q6afe_i2s_port_prepare(dai_data->port[dai->id], @@ -540,6 +541,7 @@ static const struct snd_soc_dapm_route q6afe_dapm_route= s[] =3D { {"Tertiary MI2S Playback", NULL, "TERT_MI2S_RX"}, {"Quaternary MI2S Playback", NULL, "QUAT_MI2S_RX"}, {"Quinary MI2S Playback", NULL, "QUIN_MI2S_RX"}, + {"Senary MI2S Playback", NULL, "SEN_MI2S_RX"}, =20 {"Primary TDM0 Playback", NULL, "PRIMARY_TDM_RX_0"}, {"Primary TDM1 Playback", NULL, "PRIMARY_TDM_RX_1"}, @@ -636,6 +638,7 @@ static const struct snd_soc_dapm_route q6afe_dapm_route= s[] =3D { {"SEC_MI2S_TX", NULL, "Secondary MI2S Capture"}, {"QUAT_MI2S_TX", NULL, "Quaternary MI2S Capture"}, {"QUIN_MI2S_TX", NULL, "Quinary MI2S Capture"}, + {"SEN_MI2S_TX", NULL, "Senary MI2S Capture"}, =20 {"WSA_CODEC_DMA_RX_0 Playback", NULL, "WSA_CODEC_DMA_RX_0"}, {"WSA_CODEC_DMA_TX_0", NULL, "WSA_CODEC_DMA_TX_0 Capture"}, @@ -770,6 +773,8 @@ static const struct snd_soc_dapm_widget q6afe_dai_widge= ts[] =3D { SND_SOC_DAPM_AIF_OUT("SLIMBUS_4_TX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SLIMBUS_5_TX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SLIMBUS_6_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SEN_MI2S_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEN_MI2S_TX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_MI2S_RX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_MI2S_TX", NULL, @@ -1037,6 +1042,7 @@ static void of_q6afe_parse_dai_data(struct device *de= v, =20 switch (id) { /* MI2S specific properties */ + case SENARY_MI2S_RX ... SENARY_MI2S_TX: case QUINARY_MI2S_RX ... QUINARY_MI2S_TX: case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX: priv =3D &data->priv[id]; diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 76e14fc1b2b5..037a281d6f61 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -130,6 +130,8 @@ #define AFE_PORT_ID_QUATERNARY_MI2S_TX 0x1007 #define AFE_PORT_ID_QUINARY_MI2S_RX 0x1016 #define AFE_PORT_ID_QUINARY_MI2S_TX 0x1017 +#define AFE_PORT_ID_SENARY_MI2S_RX 0x1018 +#define AFE_PORT_ID_SENARY_MI2S_TX 0x1019 =20 /* Start of the range of port IDs for TDM devices. */ #define AFE_PORT_ID_TDM_PORT_RANGE_START 0x9000 @@ -718,6 +720,10 @@ static struct afe_port_map port_maps[AFE_PORT_MAX] =3D= { QUINARY_MI2S_RX, 1, 1}, [QUINARY_MI2S_TX] =3D { AFE_PORT_ID_QUINARY_MI2S_TX, QUINARY_MI2S_TX, 0, 1}, + [SENARY_MI2S_RX] =3D { AFE_PORT_ID_SENARY_MI2S_RX, + SENARY_MI2S_RX, 1, 1}, + [SENARY_MI2S_TX] =3D { AFE_PORT_ID_SENARY_MI2S_TX, + SENARY_MI2S_TX, 0, 1}, [PRIMARY_TDM_RX_0] =3D { AFE_PORT_ID_PRIMARY_TDM_RX, PRIMARY_TDM_RX_0, 1, 1}, [PRIMARY_TDM_TX_0] =3D { AFE_PORT_ID_PRIMARY_TDM_TX, diff --git a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c b/sound/soc/qcom/qdsp= 6/q6dsp-lpass-ports.c index d31388ed3ccf..e5cd82f77b55 100644 --- a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c +++ b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c @@ -519,6 +519,34 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[]= =3D { }, .id =3D QUINARY_MI2S_TX, .name =3D "QUIN_MI2S_TX", + }, { + .playback =3D { + .stream_name =3D "Senary MI2S Playback", + .rates =3D SNDRV_PCM_RATE_8000_192000, + .formats =3D SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, + .channels_min =3D 1, + .channels_max =3D 8, + .rate_min =3D 8000, + .rate_max =3D 192000, + }, + .id =3D SENARY_MI2S_RX, + .name =3D "SEN_MI2S_RX", + }, { + .capture =3D { + .stream_name =3D "Senary MI2S Capture", + .rates =3D SNDRV_PCM_RATE_8000_192000, + .formats =3D SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, + .channels_min =3D 1, + .channels_max =3D 8, + .rate_min =3D 8000, + .rate_max =3D 192000, + }, + .id =3D SENARY_MI2S_TX, + .name =3D "SEN_MI2S_TX", }, Q6AFE_MI2S_RX_DAI("LPI RX0", LPI_MI2S_RX_0), Q6AFE_MI2S_RX_DAI("LPI RX1", LPI_MI2S_RX_1), @@ -680,6 +708,7 @@ struct snd_soc_dai_driver *q6dsp_audio_ports_set_config= (struct device *dev, case SLIMBUS_0_RX ... SLIMBUS_6_TX: q6dsp_audio_fe_dais[i].ops =3D cfg->q6slim_ops; break; + case SENARY_MI2S_RX ... SENARY_MI2S_TX: case QUINARY_MI2S_RX ... QUINARY_MI2S_TX: case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX: case LPI_MI2S_RX_0 ... LPI_MI2S_TX_4: --=20 2.47.3