From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=209.85.215.181 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793691645; b=sn7beu82ei0/5Zsyf6enofX+kfF8iNpmbtlD4RZVerTVw42uXQ+4/MCQqdX3C3XzXzv/ /Oc816kDFegbyh5p3Uaa/PFb077x0MuZ0fjrp+swv69cGfMWxH2S1PNLb9aCH7w7JoES5 iVdI/pSE6VMKSodEqNXPav7gbAmi+J/xJAvbRrgth/DrwNzW+lyimD+bV6U7sDYi+HgRh 4AmhNz5trsiRBO5TNsfFpcbeWNFHkofMC1H2O+gEkyKTCyWmPYR4r76VAn1KIr9mdEndj Az8WI8xcLphCAcKUQH14eb1KJziCpORTEkGUpUAPDy0Y9CD5VxJA8Qonjxc3sfsJRqA== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793691645; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Forwarded-Encrypted:X-Gm-Message-State:X-Gm-Gg:X-Received:Received: From:Date:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding: Message-Id:References:In-Reply-To:To:Cc:X-Mailer: X-Developer-Signature:X-Developer-Key; bh=VV91sp0zgzAnNndz8lEyYpW2VQkodDRsnrajblY9z1s=; b=w2npDCe3v1aepN2PJZUBk8x6d7UwQV0HXLKne7PpsfnWacTxjtm4IgfBVZvl0VHGzFl8 Bs3p2cNBD1l1yHg5FwU2EAe6io2mxZnWWMSb1ytC7PT/fp/Fo5EBQrpvP1JaOL7xe8TOC S6fK4akklxdDyCXDFiluWNFpzxjMlavdQjLqWj9u8Lb4foEA8taGk4y1wDjf5zrmOoUpd NNNez2fN8+zKWMsIZvst9HWlRntdyCXjmBo4ZrzIgrSAoM6o/QiuiOf+H9hMkJ4AUrN1s QJEoygu7ld1iNlXjHIAHroM1BEovB4k0edixXcxYnyfnS4xm2fWCuKeNDz/u89nedFg== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=OU6JyIc9; arc=none smtp.remote-ip=209.85.215.181 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 508E8606A32F for ; Tue, 3 Nov 2026 07:40:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 508E8606A32F 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, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=OU6JyIc9 Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-cd6a7e1f4e4so1604572a12.2 for ; Mon, 02 Nov 2026 23:40:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793691645; x=1794296445; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=VV91sp0zgzAnNndz8lEyYpW2VQkodDRsnrajblY9z1s=; b=OU6JyIc9uZuxLCSN4NWhjghGi135jR+ORUkGaGbSQkWPzPFu2W2DmZ7T0VbRVVktTD Q14QrsL3Gp7bjTB06HeXuWUmVDDHVti20xTDnlFgkqH5Cgr0evO0FYaFSrCWsFCG6n4H 1PVjL+SyVq+ZtxxTt3L5rBpcDAJ7JrBFO088kQFVz56LqbYj3+GstJgXO/cDZILdjvUB 2v8ExGAbjMa74CoRx2BV5mTUul+LiANHduo1BUz+zddUOpJstwcj62bU+XoIvn7mEKJn mGxGFtSW67gdMBRQIGmWUCtJKRxB3GkaWiMtqQoLFpLt8RyHmdiijSwa81pR5DHdgWGc zNMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793691645; x=1794296445; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=VV91sp0zgzAnNndz8lEyYpW2VQkodDRsnrajblY9z1s=; b=RSIr270nw2ltfx4I2voVVTUeiIOzNYuLibyphZ0PA1w/IEkXCYpIa9BZlK5qyni+Lq iXxmbOKiUSqScK/SzMLrtcHxx7z5SaUVn/cSgP00p6YmTX8GtFNa4uQPz1vTmb/sB0hY WBIh0koQw+oS24//efXqSvqoUIsuRP9Y9ym61eck5FMG6+VKS0IIfbZvx5/+CHeqNG+d CiCfCvDXNZFS1TKbFMBRhRbzGcbVMjKub8UQwHCRoFVxHFUk6fi7Y10tIlu6QQMl+HN0 7CXOre0AlcSX7fygXz4hY/wUjoh470RCsyDckFbAYZ16IkAOh899VDjkjFrK1vP5c9kE ZdPQ== X-Forwarded-Encrypted: i=1; AKwUvBzsujODcNKtAJuPZ3hcheVi9y3c3UnKHHhqDdlfxXVTnLiMDpNvPqzazc8nCznEy0PnTK5GYd8vY71L@vger.kernel.org X-Gm-Message-State: APuU4Z+ETRUv9NHwWzNWRZyRcViEX8m4xfyax9DwkldxR5UOxDvK8T8o zGSkn1v1TKdQPYVvO4V3utpBc3qCvw4orlUS47zW96bC+6zGlBsnjDTO X-Gm-Gg: AYBFou2PGBF84UZy2s51eqZM4D8OShJQ/+y3O1wLkgjhnkAElShBya7FJ6tsOfeKY7n SPWIv+r1jy4XuCRjartI898kJP1Kmcl5JkFfBHfSGFlLhNCzvBg2UBeUpF35JVO/ZZHrhGRZCU+ DzeOpcJpSCi3ad3rv0YnC5iV4aG4Or0lrU9mIiLCgJfGWUXgBwb9TTg4ebOSU2IjTxvWFMFU3kC BeH24VH1qfihIElto13rsO28C6K0GrDTNDmrr+lKK4LD78LZwNON13IU0tHjMn8DePBKoVaABKx 8Mh1/b9MA4KKFblxLki4jGLDVzuJt9V+eUH/mzhYgJOXSUoru6NCgD2FxmDiEPLhZEaKXzH0JXR 15H8qTvPc7vvU2PyybFmhMbrcaFkr9qpG9DtrjqmrhjDvB3KYouJ+3kyY+KvKXAEKypae8lGsoe pGAlJrr9YJ9+BZ+8iJbv9rGHazY43ny+2yMsjY4QPghOYc7f22KbZKIaaB/F4nQiUrYYB8464jf 4v4dMN2CAmh7QWjXMz9Uii3Mlo9TTYFpH+gG/048NGuq3vO+8sTWQRjXWye/40fzwJWUdjaaiFs /5INwUjuC6QRXMdeq9uL9XZMRLaF5ahNtAzW//ImbvVQxAw19DR0ALVMPESHTdVWzFMkXJP5J3+ Inegl6fT9AnnEfdcASt7vTLuKuLSGnMhkm7UxwizaJ+VFBQRCog+f4ZKCmiDDtK4t7X8W+uPnMk pu0u4= X-Received: by 2002:a17:90a:e7cf:b0:3ac:9a54:e3ce with SMTP id 98e67ed59e1d1-3ae8986e718mr10689427a91.63.1793691644616; Mon, 02 Nov 2026 23:40:44 -0800 (PST) Received: from [192.168.2.34] ([2403:581e:d87e:0:739f:50a5:e171:f133]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3b07c903d0dsm2956769a91.12.2026.11.02.23.40.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Nov 2026 23:40:44 -0800 (PST) From: James Calligeros Date: Tue, 03 Nov 2026 17:39:52 +1000 Subject: [PATCH v4 04/22] ASoC: dt-bindings: Add binding for Apple Silicon Mac audio X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20261103-macaudio-v4-4-637484efe46d@gmail.com> References: <20261103-macaudio-v4-0-637484efe46d@gmail.com> In-Reply-To: <20261103-macaudio-v4-0-637484efe46d@gmail.com> To: David Rhodes , Richard Fitzgerald , =?utf-8?q?Martin_Povi=C5=A1er?= , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , James Calligeros , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Sven Peter , Janne Grunau , Neal Gompa Cc: asahi@lists.linux.dev, linux-sound@vger.kernel.org, patches@opensource.cirrus.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=6733; i=jcalligeros99@gmail.com; h=from:subject:message-id; bh=q6cZjCz9R++Ba7lkffXrC5JosZFNf04Vy9Rd1123Uys=; b=owGbwMvMwCV2xczoYuD3ygTG02pJDFkv+8/usmxdxzhdZvNmS70e5/1RxxwvHDTkPndTUn2iz dTIEv8JHRNZGMS4GCzFFFk2NAl5zDZiu9kvUrkXZg4rE8gQaZEGBiBgYeDLTcwrNdIx0jPVNtQz NNIx1jFi4OIUgKleEszw369Bo9xKgbn9AUfmUx9e8xcLJE4bb5K+/OLMi3PdO9y+azIyTPryTHz tkXnx6kdq9HTaPS9t+bA42k7a7+b+nyInzQ/1cgEA X-Developer-Key: i=jcalligeros99@gmail.com; a=openpgp; fpr=B08212489B3206D98F1479BDD43632D151F77960 From: Martin Povišer Add a binding for the primary audio subsystem found on Apple Silicon Macs. This binding integrates the codecs and SoC I2S peripheral used for driving the headset jack and speaker arrays on all Apple Silicon Macs. The internal microphones on this platform are connected to a distinct coprocessor and are not part of this "main" audio subsystem. Signed-off-by: Martin Povišer Co-developed-by: James Calligeros Signed-off-by: James Calligeros --- .../devicetree/bindings/sound/apple,macaudio.yaml | 195 +++++++++++++++++++++ 1 file changed, 195 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/apple,macaudio.yaml b/Documentation/devicetree/bindings/sound/apple,macaudio.yaml new file mode 100644 index 000000000000..7a97ce5bb7a1 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/apple,macaudio.yaml @@ -0,0 +1,195 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/apple,macaudio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sound peripheral integration for Apple Silicon Macs + +description: + The speakers and headphone jack on Apple Silicon Macs are part of an + integrated audio subsystem comprising of Apple's I2S peripheral (MCA) and a + series of codecs. The machines have a wide variety of topologies ranging + from a simple mono speaker in the desktops to complex stereo arrays with + dual-opposed woofers and tweeters all driven by their own mono amplifiers. + This arrangement can be expressed as a set of DAI links, where the MCA ports + each codec is connected to are represented by the CPU side of the link. + +maintainers: + - James Calligeros + +properties: + compatible: + oneOf: + - items: + - enum: + - apple,j180-macaudio + - apple,j274-macaudio + - apple,j293-macaudio + - apple,j313-macaudio + - apple,j314-macaudio + - apple,j316-macaudio + - apple,j375-macaudio + - apple,j413-macaudio + - apple,j415-macaudio + - apple,j456-macaudio + - apple,j473-macaudio + - items: + - enum: + - apple,j493-macaudio + - const: apple,j293-macaudio + - items: + - enum: + - apple,j414-macaudio + - apple,j504-macaudio + - apple,j514-macaudio + - const: apple,j314-macaudio + - items: + - enum: + - apple,j416-macaudio + - apple,j516-macaudio + - const: apple,j316-macaudio + - items: + - enum: + - apple,j475-macaudio + - apple,j575-macaudio + - const: apple,j375-macaudio + - items: + - enum: + - apple,j613-macaudio + - const: apple,j413-macaudio + - items: + - enum: + - apple,j615-macaudio + - const: apple,j415-macaudio + - items: + - enum: + - apple,j457-macaudio + - const: apple,j456-macaudio + - items: + - enum: + - apple,j474-macaudio + - const: apple,j473-macaudio + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + model: + description: + Model name for presentation to users + $ref: /schemas/types.yaml#/definitions/string + +patternProperties: + "^([a-z]+-)?dai-link$": + description: Node for each sound peripheral such as the speaker array, + headphones jack, or microphone. + type: object + $ref: tdm-slot.yaml# + unevaluatedProperties: false + + properties: + link-name: + description: Name for the peripheral + enum: [ Headphone Jack, Speaker, Speakers ] + $ref: /schemas/types.yaml#/definitions/string + + codec: + type: object + additionalProperties: false + + properties: + sound-dai: + minItems: 1 + maxItems: 8 + description: | + DAI list with the CODEC-side DAIs connected to the above CPU-side + DAIs and involved in this sound peripheral. + + The list is in left/right order if applicable. If there are more + than one CPU-side DAIs (there can be two), the CODECs must be + listed first those connected to the first CPU, then those + connected to the second. + + In addition, on some machines with many speaker codecs, the CODECs + are listed in this fixed order: + + Four speakers: Left Front, Left Rear, Right Front, Right Rear + Six speakers: Left Woofer 1, Left Tweeter, Left Woofer 2, + Right Woofer 1, Right Tweeter, Right Woofer 2 + + required: + - sound-dai + + cpu: + type: object + additionalProperties: false + + properties: + sound-dai: + minItems: 1 + maxItems: 2 + description: | + DAI list with CPU-side I2S ports involved in this peripheral. + + required: + - sound-dai + + required: + - link-name + - codec + - cpu + +required: + - '#address-cells' + - '#size-cells' + - compatible + - model + +additionalProperties: false + +examples: + - | + sound { + compatible = "apple,j416-macaudio", "apple,j316-macaudio"; + model = "MacBook Pro J416"; + + #address-cells = <1>; + #size-cells = <0>; + + headphone-dai-link { + link-name = "Headphone Jack"; + + codec { + sound-dai = <&jack_codec>; + }; + + cpu { + sound-dai = <&mca 2>; + }; + }; + + speaker-dai-link { + link-name = "Speakers"; + + dai-tdm-idle-mode-0 = "zero"; + dai-tdm-idle-mode-3 = "zero"; + dai-tdm-slot-tx-idle-mask-0 = <0xf0f0f0>; + dai-tdm-slot-tx-idle-mask-3 = <0x0f0f0f>; + + codec { + sound-dai = <&speaker_left_woof1>, + <&speaker_left_tweet>, + <&speaker_left_woof2>, + <&speaker_right_woof1>, + <&speaker_right_tweet>, + <&speaker_right_woof2>; + }; + + cpu { + sound-dai = <&mca 0>, <&mca 1>; + }; + }; + }; -- 2.56.0