From nobody Mon Apr 13 08:37:27 2026 Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) (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 B1C9D32ED29 for ; Sun, 1 Mar 2026 08:06:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772352393; cv=none; b=fkP36PKnCG3medq2/OASCYqTJYx1wEKCivZINK7dC1RO507LgRGWm1k3Qr3hOlJZnty8K+q2PPbO6W7RdPvAjBmmOR8qUdipFiKiGxefjTs8EZymEsy019kt8moePj3BcPS9TmHluHNfRXXnN1QLeU8tTZrMDscfHPJUmIlxX7I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772352393; c=relaxed/simple; bh=115g/WH2mtui7fHuZcwchXsAefVgpriJAftdKhU/VY4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pnM3vzrjWKv+Cc6YPzSb68ljOelRo0Zym6KxT+S6MAlMo7PHtBlHDxDxrrmi2geuy6vShUaWMv5ls+4GRFPJXE6key7rkK94m1h554jvp40sAo0ZfRVvYKSaXN7xaCdwrRVhg8ED4y46mmrHQN5lBpdKgDbilOAx939JpXPV1NI= 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=d7pITuBX; arc=none smtp.client-ip=209.85.215.177 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="d7pITuBX" Received: by mail-pg1-f177.google.com with SMTP id 41be03b00d2f7-c70bc5b4e86so1346726a12.0 for ; Sun, 01 Mar 2026 00:06:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772352392; x=1772957192; 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=fGlR6YzXE5keZeD5R4R4wdzj80ZRJofyKqhSLLbK2aA=; b=d7pITuBXKb+ttwvFoN/kH/q1zeDoKEb0U2dhezOjnn+nO4deEhnECCj8d/o+jCtTxn nNpLau8ubEpcpA4s80a3qq2cKmtXBA3V6CIuQCkHgZ1CJG5U/Ar4ijK+eBWCOhGLcs51 WGeJ36o/35rxxsi354zuLla6pyPZ4gzb6D9+he5t/3UQ8SBAJ2QzkumnmY7KmALva+0D LmXnHeV4tyV8hLCkqwld0CfGDxAVA7ujJoUj8pFFSDTl83g7H6a+FEwsbb02GlkKfQXb nNzqg0GVgoRa17KlI+2RRtsaec08fJV2TJAEv6inDsIodYy40miW4G4Okwb1bnyLSweK 3B9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772352392; x=1772957192; 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=fGlR6YzXE5keZeD5R4R4wdzj80ZRJofyKqhSLLbK2aA=; b=RILD50AuWQ9Pc2vZ+nxqsDIBC/f8sQbd7xCZXw9jkxPGQEbrDqM27Kk8FDLdxlPiHn XXvxAs0DCKUXzaJKV/nQqQC7v2lE8wo7FOOK2qT/1jHPG79qWDVYxfkouMc5//ywBxGG oP5hwProuZXrkkC/9RjTHgYfag+8gA7JUE5ZYJFmslq4CyDuj/+hGHltBrUmsZE8diYy e2luidUNBJeJON2HUvjooY8kseTaXScb/iKUD8p2+rb5Z/g6kboeWlfgqysn12eIgf3r ZqGYghLi+6ppkqSjdjyk4W24pP34so9nLF05MR+L8pxRTzMFruElaBnBC3YVMJz08H2w b7YQ== X-Forwarded-Encrypted: i=1; AJvYcCVmYlayy3U1pC1xumrwm4vz+mUs7BJM93rYMD+L9RbM16l1fYmuDNiIWyrz7KfjFtPn24foxSQBWkiBO5Q=@vger.kernel.org X-Gm-Message-State: AOJu0YzO9ObM0dJfwou8NrN3qlluwOWSn9lQ/od/iGC5d/y0NQX0jSge 2AWMT8PHeDvxOf38EInEd9kfzAVRKD4xdcFeG6n8FHpCUvwklH/GOiOGoWjx7HzG X-Gm-Gg: ATEYQzyDc2PaA6H053MNvzbssY9WUVDQsDC6CLBUiSHBifFyYO+j5+WLqyXCcPe2asa 5CR+Ce3DQGl8zpCC7FJMOvPtnqo0Y3l7bagZYNdknYsaNscSaB4kGHLvl6hX0Z1W8IBqSAaefYb S0DTh/WM1njl42VG3SaZfPyqwMMWDVBXNIVWqOF+DbXX/vkKNjiLI0YEIoxhrrEF31jRUhlwTGJ B/Bisy4BI2ROyONvwuyjGiuv9kMHAgm6bI19eYqmWK0EukevUEceauD8188nQO9R6NOyg0MNFwH a0llKW+gFtvSjrfSo5NSAhCDLq3MzTSabmE/wM4maP+R0RX5RvDjhpBNKCzzHM1mMYik4GG4x5/ JnGnULXsE4adn4FRcH0h7Vfjqhg6vgrV8OhGW4PHpMX4L0qJ659XZhtfgcdRGWZnD4mN6PKVray DqNifMA1RpdIQyr9j044FwAlN0cc+6GXj2Me9V0KO2oWoQwLnRjUOxYzZkyg1ZF+KTBLWOEuDqq mMib2jwa1+UNSOtHcICuvQ9pPJy+Zy1NweJqvualeO0V1drk6J+LCxXvN+lLJhHhWEfpbtK9Ux+ X-Received: by 2002:a17:90b:578e:b0:34c:2db6:578f with SMTP id 98e67ed59e1d1-35965cccb83mr6714723a91.19.1772352392000; Sun, 01 Mar 2026 00:06:32 -0800 (PST) Received: from [192.168.2.3] ([2403:581e:d87e:0:fc2d:ed31:e80e:412d]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-359135ef1d7sm8885384a91.5.2026.03.01.00.06.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Mar 2026 00:06:31 -0800 (PST) From: James Calligeros Date: Sun, 01 Mar 2026 18:05:22 +1000 Subject: [PATCH v3 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: <20260301-tdm-idle-slots-v3-3-c6ac5351489a@gmail.com> References: <20260301-tdm-idle-slots-v3-0-c6ac5351489a@gmail.com> In-Reply-To: <20260301-tdm-idle-slots-v3-0-c6ac5351489a@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 , Frank Li 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=2001; i=jcalligeros99@gmail.com; h=from:subject:message-id; bh=115g/WH2mtui7fHuZcwchXsAefVgpriJAftdKhU/VY4=; b=owGbwMvMwCV2xczoYuD3ygTG02pJDJmLP6fH1CYvWfDi6+VdS/ptHsxy/zZ9/q/rWu7bdB9du c1wrz6BrWMiC4MYF4OlmCLLhiYhj9lGbDf7RSr3wsxhZQIZIi3SwAAELAx8uYl5pUY6Rnqm2oZ6 hkY6xjpGDFycAjDV96cxMvRPZA5hNnB6kNker/euf6nWnZJG5XMz9l95IXBFaqHH4QUM/13ivlz XP+vO+XRlp0D1vO8fDn37U1wXWD5Z6kr+pOTQSCYA 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 Reviewed-by: Rob Herring (Arm) --- .../bindings/sound/tdm-slot.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/tdm-slot.yaml b/Docume= ntation/devicetree/bindings/sound/tdm-slot.yaml index ca71e3660f62..457a899e8872 100644 --- a/Documentation/devicetree/bindings/sound/tdm-slot.yaml +++ b/Documentation/devicetree/bindings/sound/tdm-slot.yaml @@ -20,6 +20,20 @@ properties: $ref: /schemas/types.yaml#/definitions/uint32 description: Width, in bits, of each slot =20 + dai-tdm-idle-mode: + $ref: /schemas/types.yaml#/definitions/string + enum: + - none + - off + - zero + - pulldown + - hiz + - pullup + - drivehigh + description: Drive mode for inactive/idle TDM slots. For hardware that + implements .set_tdm_idle(). Optional. "None" represents undefined + behaviour and is the same as not setting this property. + patternProperties: '^dai-tdm-slot-[rt]x-mask$': $ref: /schemas/types.yaml#/definitions/uint32-array @@ -30,4 +44,9 @@ patternProperties: a mask. The first element of the array is slot 0 (LSB). Any nonzero value will be treated as 1. =20 + '^dai-tdm-slot-[rt]x-idle-mask$': + $ref: /schemas/types.yaml#/definitions/uint32 + description: Idle slot mask. Optional. A bit being set to 1 indicates + that the corresponding TDM slot is inactive/idle. + additionalProperties: true --=20 2.53.0