From nobody Mon Feb 9 16:13:06 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 A921A27FB0E for ; Sun, 21 Dec 2025 09:36:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766309812; cv=none; b=qSDvmtnYFc58QYIlHzyN0VVgrKJfKG3kBRU9wBeKaaFetOG5Yai5urDqRXuoVWsxLZgZxXqYzO1gFM5POk3R2TP6aV7qbyDgX0sgsW1V68OLNEWMQ+J4X/sgM62uDw70Ryf7zWdA2htSRYFZW+VRg0qVTk97UQnVa9eWbF1EtW0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766309812; c=relaxed/simple; bh=WG5E/HC2YxDy3oxNYC3bZbjudxqByJP3FjNkgk9QQKc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uuIMFvfTPVI+37cx8eeFXBb8pXOLlBBEMyibDuL0r1bwBfycsL8zB/gJb5gggiBZEZdOVhbzzj/8xDvgCcVYeMCqKfaVklm++Beao0zhOCmJJs5IJA6S4WbBy3IejxYnMMhaC6/cxeOlAmJHvQDJ/JowoQrnPc+phFOnNpcgoCc= 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=Up9WZMzA; arc=none smtp.client-ip=209.85.214.171 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="Up9WZMzA" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2a0d6f647e2so50217315ad.1 for ; Sun, 21 Dec 2025 01:36:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766309810; x=1766914610; 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=z8X+CGg6X2TQewpD16dhdCQA0CgAU6ZNu4lyH/rNjLw=; b=Up9WZMzAje2jZMDCPa6venfMhq/OwW97evTE2Eu2REtdcNBllov28nhhEaO/zXiioL dktnWWx5oqAa/ZNiRvxJua7AIz8+v0iPtxNOWr1rqMK+Oqq0dTmRbMyPuUqQJsg4FDFW WpmK4JUME/QDjh1r5bdWJw8Zz0LWTP7HrB4PcI/1wUK+pvbq9sbQzlj1yiO88/qiBDk3 JL7zCy+bxvrNcyp78wGp+Gl9XldFflfSJevz1PHkhy8Z8AnA9Cv9tNlIxT0E+AW9rr0l dMz70CUOx6xS2LQVIOREZVciy1lye061ymgJMlnxO79rT5XwcnOWx0gpjbSiNytHBdrW jj5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766309810; x=1766914610; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=z8X+CGg6X2TQewpD16dhdCQA0CgAU6ZNu4lyH/rNjLw=; b=Ba4Z+/lVazFII5UosWMzrsDBHlXgWpuI8cpK38uTjWZQYHI4x0bH83YarWMiBMuzTb BeD6khcnVUt9f74d9c8vt5Q/cV9af+0Kf/atUozIew7FTNRyN7KzJknUIhuMOBbasvsO tC5mkO+To1pCSVFxt2umf0/Brvowl6DNQ+vfNtpyU9c8fPrIPZbHuqrmdZb/taUsu26R YAsrOe+SmQ/dB3Y2KVwy5K0cO//jjvHdXHqqnSda6g0ERpGXIqNH5TNytFolnBsh2p9i Vj6EckEGS0wniUQywnCowxHsqu0LcMWqzzSB2yHtjnyKfa1RO+VI0kEl+MgQGW2kjUNO A6Uw== X-Forwarded-Encrypted: i=1; AJvYcCVsRWschGiMz4YsWgwdydFaoGglUxgH+08mTS4yI+dVCLqN1JzGcdcenz5xdy2jKf7UYFTAJFh6c5FxHrU=@vger.kernel.org X-Gm-Message-State: AOJu0YziUNrjHbgBWlutT6+EKcMLqsiQSmHC+FmpRZFwp3qGL0OCiFF4 XN1d+v0kHUTiBcRlquoKIJtYBe7jb/IPcL7Vf/MzObDXF0A2XxKFm89D X-Gm-Gg: AY/fxX70ymTko+i6lZSroyLzGjQ+qdiE/zQHHdaBZUGnZZd0qF4tqlXHEhqTp/Gts5M KOQo4AnmXXrMGEzsmujYl2S948vg9uoAQPZ9WVdfrnesowEqs+6goKGgtTHRExAPxUCMViaRlms dLNs3LY1gbZI0pdWa5eKkyME6ooJZ+/G78Y6+G0+E66IgGArTYzjtbWnbxOfBmKizrDrcqnVVm5 77IsIcadGoWDRJq4G076haIDajsYEEN9d0NK7gbskKGifKAtnAtc77Qd61EEfml3nezpXWW4tEj mPlrYyxOlF/ywryNdVrEaidPkVHgHvoJFdAFcR3Nfqk9o/9i58bkZuAIcg8krOHJsm1U+04CHz/ mV7H0FXvYldZGspLR2HPO9hmYQjdi7Hk6x/j8w3nc2SCgsCGS9h+eomyM7Ys3xvOUnLdIGXO50e JXQD2CnUIVLIW8vaUL3HsQ3ys7ltLlWf+2DpvTVmKmstEKKcRLI+O0OuK0s8sQ8hgIjosh3nLbQ nLSAk4L0ico4jV1vLJ7Y5nbjyNjLboxEjHQ6q8nDiXfQHHI446/UXI5+NeFRFVd5UWmN/r3//DY /7y07YuPrsS5fK8Ys/uQS6b6VbPR8EF1520vZVEus6WVFiWuvsw= X-Google-Smtp-Source: AGHT+IE8jH5CF7+AN79OkklOKmx/JMvaSoEQ+RMtmm98sJVMFFzecpBHy1QLye0QOgZLDfrXbuUvuA== X-Received: by 2002:a17:903:ac4:b0:298:2afa:796d with SMTP id d9443c01a7336-2a2f2a56707mr72049865ad.61.1766309810032; Sun, 21 Dec 2025 01:36:50 -0800 (PST) Received: from [192.168.2.3] (2403-580a-80ed-0-4835-5a07-49e7-f115.ip6.aussiebb.net. [2403:580a:80ed:0:4835:5a07:49e7:f115]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d4d363sm67629495ad.62.2025.12.21.01.36.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Dec 2025 01:36:49 -0800 (PST) From: James Calligeros Date: Sun, 21 Dec 2025 19:35:59 +1000 Subject: [PATCH v2 3/7] ASoC: dt-bindings: add TDM slot idle mode properties 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: <20251221-tdm-idle-slots-v2-3-ed4d96413aec@gmail.com> References: <20251221-tdm-idle-slots-v2-0-ed4d96413aec@gmail.com> In-Reply-To: <20251221-tdm-idle-slots-v2-0-ed4d96413aec@gmail.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Kuninori Morimoto , Shengjiu Wang , Jaroslav Kysela , Takashi Iwai , Shenghao Ding , Kevin Lu , Baojun Xu Cc: linux-sound@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, James Calligeros X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2393; i=jcalligeros99@gmail.com; h=from:subject:message-id; bh=WG5E/HC2YxDy3oxNYC3bZbjudxqByJP3FjNkgk9QQKc=; b=owGbwMvMwCV2xczoYuD3ygTG02pJDJnu+yfrGR48+UOQteLYKruZFvVKuT2pb3sY230nqCaUG UpI7DvQMZGFQYyLwVJMkWVDk5DHbCO2m/0ilXth5rAygQyRFmlgAAIWBr7cxLxSIx0jPVNtQz1D Qx1jHSMGLk4BmOqzCowMPecqt8ecjPT+cT8yyy9z9/n5x3WvxfH3eX5gLJd9p/PlIyNDu2reTcm pK7IkV3w9ln6vMD8xT/VD8t/FQl+vqLe6M5owAwA= X-Developer-Key: i=jcalligeros99@gmail.com; a=openpgp; fpr=B08212489B3206D98F1479BDD43632D151F77960 Add properties to describe TDM slot idle behaviour. These properties can be used to describe how a DAI is supposed to behave when not active. For example, Apple Silicon laptops split a single I2S bus between two physical lines which are combined at an OR gate in front of the receiving port. One codec on each line is expected to transmit zeroes during the active TDM slots of the opposite line, or we will have corrupted data at the receiver. Signed-off-by: James Calligeros --- .../bindings/sound/tdm-slot.yaml | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/tdm-slot.yaml b/Docume= ntation/devicetree/bindings/sound/tdm-slot.yaml index 5bc46048d689..e8b2d35a7c37 100644 --- a/Documentation/devicetree/bindings/sound/tdm-slot.yaml +++ b/Documentation/devicetree/bindings/sound/tdm-slot.yaml @@ -33,6 +33,17 @@ $defs: $ref: /schemas/types.yaml#/definitions/uint32-array description: Receive direction slot mask. Optional. Identical to TX ma= sk. =20 + dai-tdm-idle-mode: + $ref: /schemas/types.yaml#/definitions/string + enum: + - none + - off + - zero + - pulldown + - hiz + - pullup + - drivehigh + properties: dai-tdm-slot-num: $ref: "#/$defs/dai-tdm-slot-num" @@ -46,4 +57,26 @@ properties: dai-tdm-slot-rx-mask: $ref: "#/$defs/dai-tdm-slot-rx-mask" =20 + dai-tdm-slot-tx-idle-mode: + $ref: "#/$defs/dai-tdm-idle-mode" + description: Transmit direction idle slot mode. Optional. For hardware + that can configure its behaviour during idle TDM slots via + .set_tdm_idle(). "None" represents UB/unspecified behaviour and is t= he + same as not setting this property. + + dai-tdm-slot-rx-idle-mode: + $ref: "#/$defs/dai-tdm-idle-mode" + description: Receive direction idle slot mode. Optional. Identical to = TX + idle slot mode. + + dai-tdm-slot-tx-idle-mask: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Transmit direction idle slot mask. Optional. 1 represents + an idle slot. + + dai-tdm-slot-rx-idle-mask: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Receive direction idle slot mask. Optional. Identical to + TX mask. + additionalProperties: true --=20 2.52.0