From: James Calligeros <jcalligeros99@gmail.com>
To: "David Rhodes" <david.rhodes@cirrus.com>,
"Richard Fitzgerald" <rf@opensource.cirrus.com>,
"Martin Povišer" <povik+lin@cutebit.org>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"James Calligeros" <jcalligeros99@gmail.com>,
"Jaroslav Kysela" <perex@perex.cz>,
"Takashi Iwai" <tiwai@suse.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Shenghao Ding" <shenghao-ding@ti.com>,
"Kevin Lu" <kevin-lu@ti.com>, "Baojun Xu" <baojun.xu@ti.com>,
"Sen Wang" <sen@ti.com>, "Sven Peter" <sven@kernel.org>,
"Janne Grunau" <j@jannau.net>, "Neal Gompa" <neal@gompa.dev>
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
Subject: [PATCH v3 18/21] arm64: dts: apple: t600x-j31x: Add speaker/headset jack nodes
Date: Sun, 18 Oct 2026 15:54:12 +1000 [thread overview]
Message-ID: <20261018-macaudio-v3-18-abdff7741dea@gmail.com> (raw)
In-Reply-To: <20261018-macaudio-v3-0-abdff7741dea@gmail.com>
The M1 Pro/Max MacBooks integrate Apple-specific variants of the TI TAS2764
and Cirrus CS42L42. Add these nodes and advertise them to the machine
driver via the sound node.
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
---
.../arm64/boot/dts/apple/t6000-j314s.dts | 5 +
.../arm64/boot/dts/apple/t6000-j316s.dts | 5 +
.../arm64/boot/dts/apple/t6001-j314c.dts | 5 +
.../arm64/boot/dts/apple/t6001-j316c.dts | 5 +
.../boot/dts/apple/t600x-j314-j316.dtsi | 135 +++++++++++++++++++++++++
5 files changed, 155 insertions(+)
diff --git a/arch/arm64/boot/dts/apple/t6000-j314s.dts b/arch/arm64/boot/dts/apple/t6000-j314s.dts
index 1430b91ff1b1..63ae47ea46e6 100644
--- a/arch/arm64/boot/dts/apple/t6000-j314s.dts
+++ b/arch/arm64/boot/dts/apple/t6000-j314s.dts
@@ -24,3 +24,8 @@ &wifi0 {
&bluetooth0 {
brcm,board-type = "apple,maldives";
};
+
+&sound {
+ compatible = "apple,j314-macaudio";
+ model = "MacBook Pro J314";
+};
diff --git a/arch/arm64/boot/dts/apple/t6000-j316s.dts b/arch/arm64/boot/dts/apple/t6000-j316s.dts
index da0cbe7d9673..c8428fbf9244 100644
--- a/arch/arm64/boot/dts/apple/t6000-j316s.dts
+++ b/arch/arm64/boot/dts/apple/t6000-j316s.dts
@@ -24,3 +24,8 @@ &wifi0 {
&bluetooth0 {
brcm,board-type = "apple,madagascar";
};
+
+&sound {
+ compatible = "apple,j316-macaudio";
+ model = "MacBook Pro J316";
+};
diff --git a/arch/arm64/boot/dts/apple/t6001-j314c.dts b/arch/arm64/boot/dts/apple/t6001-j314c.dts
index c37097dcfdb3..05066cbde96b 100644
--- a/arch/arm64/boot/dts/apple/t6001-j314c.dts
+++ b/arch/arm64/boot/dts/apple/t6001-j314c.dts
@@ -24,3 +24,8 @@ &wifi0 {
&bluetooth0 {
brcm,board-type = "apple,maldives";
};
+
+&sound {
+ compatible = "apple,j314-macaudio";
+ model = "MacBook Pro J314";
+};
diff --git a/arch/arm64/boot/dts/apple/t6001-j316c.dts b/arch/arm64/boot/dts/apple/t6001-j316c.dts
index 3bc6e0c3294c..ee0339b61713 100644
--- a/arch/arm64/boot/dts/apple/t6001-j316c.dts
+++ b/arch/arm64/boot/dts/apple/t6001-j316c.dts
@@ -24,3 +24,8 @@ &wifi0 {
&bluetooth0 {
brcm,board-type = "apple,madagascar";
};
+
+&sound {
+ compatible = "apple,j316-macaudio";
+ model = "MacBook Pro J316";
+};
diff --git a/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi b/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
index caded1636f3d..1f23ae3e4e1a 100644
--- a/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
+++ b/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
@@ -169,6 +169,94 @@ hpm5: usb-pd@3a {
};
};
+/* Audio codecs */
+&i2c1 {
+ status = "okay";
+
+ speaker_left_woof1: codec@38 {
+ compatible = "ti,sn012776";
+ reg = <0x38>;
+ interrupts-extended = <&pinctrl_ap 179 IRQ_TYPE_LEVEL_LOW>;
+ shutdown-gpios = <&pinctrl_ap 178 GPIO_ACTIVE_HIGH>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "Left Woofer 1";
+ ti,imon-slot-no = <0>;
+ ti,vmon-slot-no = <2>;
+ };
+
+ speaker_left_woof2: codec@39 {
+ compatible = "ti,sn012776";
+ reg = <0x39>;
+ interrupts-extended = <&pinctrl_ap 179 IRQ_TYPE_LEVEL_LOW>;
+ shutdown-gpios = <&pinctrl_ap 178 GPIO_ACTIVE_HIGH>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "Left Woofer 2";
+ ti,imon-slot-no = <16>;
+ ti,vmon-slot-no = <18>;
+ };
+
+ speaker_left_tweet: codec@3a {
+ compatible = "ti,sn012776";
+ reg = <0x3a>;
+ interrupts-extended = <&pinctrl_ap 179 IRQ_TYPE_LEVEL_LOW>;
+ shutdown-gpios = <&pinctrl_ap 178 GPIO_ACTIVE_HIGH>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "Left Tweeter";
+ ti,imon-slot-no = <8>;
+ ti,vmon-slot-no = <10>;
+ };
+};
+
+&i2c2 {
+ status = "okay";
+
+ jack_codec: codec@4b {
+ compatible = "cirrus,cs42l84";
+ reg = <0x4b>;
+ interrupts-extended = <&pinctrl_ap 180 IRQ_TYPE_LEVEL_LOW>;
+ reset-gpios = <&pinctrl_nub 4 GPIO_ACTIVE_HIGH>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "Jack";
+ };
+};
+
+&i2c3 {
+ status = "okay";
+
+ speaker_right_woof1: codec@3b {
+ compatible = "ti,sn012776";
+ reg = <0x3b>;
+ interrupts-extended = <&pinctrl_ap 179 IRQ_TYPE_LEVEL_LOW>;
+ shutdown-gpios = <&pinctrl_ap 178 GPIO_ACTIVE_HIGH>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "Right Woofer 1";
+ ti,imon-slot-no = <4>;
+ ti,vmon-slot-no = <6>;
+ };
+
+ speaker_right_woof2: codec@3c {
+ compatible = "ti,sn012776";
+ reg = <0x3c>;
+ interrupts-extended = <&pinctrl_ap 179 IRQ_TYPE_LEVEL_LOW>;
+ shutdown-gpios = <&pinctrl_ap 178 GPIO_ACTIVE_HIGH>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "Right Woofer 2";
+ ti,imon-slot-no = <20>;
+ ti,vmon-slot-no = <22>;
+ };
+
+ speaker_right_tweet: codec@3d {
+ compatible = "ti,sn012776";
+ reg = <0x3d>;
+ interrupts-extended = <&pinctrl_ap 179 IRQ_TYPE_LEVEL_LOW>;
+ shutdown-gpios = <&pinctrl_ap 178 GPIO_ACTIVE_HIGH>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "Right Tweeter";
+ ti,imon-slot-no = <12>;
+ ti,vmon-slot-no = <14>;
+ };
+};
+
&nco_clkref {
clock-frequency = <1068000000>;
};
@@ -366,6 +454,53 @@ &atcphy3 {
status = "disabled";
};
+/ {
+ sound: sound {
+ /* Compatible is set for each machine */
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dai-link@0 {
+ reg = <0>;
+
+ 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>;
+
+ link-name = "Speakers";
+
+ 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>;
+ };
+ };
+
+ dai-link@1 {
+ reg = <1>;
+
+ link-name = "Headphone Jack";
+
+ codec {
+ sound-dai = <&jack_codec>;
+ };
+
+ cpu {
+ sound-dai = <&mca 2>;
+ };
+ };
+ };
+};
+
#include "spi1-nvram.dtsi"
#include "hwmon-laptop.dtsi"
#include "hwmon-fan-dual.dtsi"
--
2.56.0
next prev parent reply other threads:[~2026-10-18 5:57 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-18 5:53 [PATCH v3 00/21] Add speaker and headset jack support for Apple Silicon Macs James Calligeros
2026-10-18 5:53 ` [PATCH v3 01/21] ASoC: dt-bindings: cs42l84: Document sound-name-prefix property James Calligeros
2026-10-19 8:53 ` Krzysztof Kozlowski
2026-10-18 5:53 ` [PATCH v3 02/21] ASoC: dt-bindings: cs42l42: Document additional dai-common properties James Calligeros
2026-10-18 6:04 ` sashiko-bot
2026-10-19 8:54 ` Krzysztof Kozlowski
2026-10-18 5:53 ` [PATCH v3 03/21] ASoC: dt-bindings: Add binding for Apple Silicon Mac audio James Calligeros
2026-10-18 6:07 ` sashiko-bot
2026-10-18 5:53 ` [PATCH v3 04/21] ASoC: ops: Introduce 'snd_soc_ctl_activate' James Calligeros
2026-10-18 5:53 ` [PATCH v3 05/21] ASoC: ops: Introduce 'soc_set_enum_kctl' James Calligeros
2026-10-18 5:54 ` [PATCH v3 06/21] ASoC: card: Let 'fixup_controls' return errors James Calligeros
2026-10-18 5:54 ` [PATCH v3 07/21] ASoC: tas2770: Add compatible for TAS5770L James Calligeros
2026-10-18 5:54 ` [PATCH v3 08/21] ASoC: apple: Add macaudio machine driver James Calligeros
2026-10-18 6:23 ` sashiko-bot
2026-10-18 5:54 ` [PATCH v3 09/21] arm64: dts: apple: t8103-jxxx: Add regulators for CS42L83 power supply James Calligeros
2026-10-18 6:04 ` sashiko-bot
2026-10-18 5:54 ` [PATCH v3 10/21] arm64: dts: apple: t8103-j274: Add speaker/headset jack nodes James Calligeros
2026-10-18 6:10 ` sashiko-bot
2026-10-18 5:54 ` [PATCH v3 11/21] arm64: dts: apple: t8103-j313: " James Calligeros
2026-10-18 6:15 ` sashiko-bot
2026-10-18 5:54 ` [PATCH v3 12/21] arm64: dts: apple: t8103-j293: " James Calligeros
2026-10-18 5:54 ` [PATCH v3 13/21] arm64: dts: apple: t8103-j45x: Add headset " James Calligeros
2026-10-18 5:54 ` [PATCH v3 14/21] arm64: dts: apple: t8112-j413: Add speaker/headset " James Calligeros
2026-10-18 5:54 ` [PATCH v3 15/21] arm64: dts: apple: t8112-j415: " James Calligeros
2026-10-18 5:54 ` [PATCH v3 16/21] arm64: dts: apple: t8112-j473: " James Calligeros
2026-10-18 5:54 ` [PATCH v3 17/21] arm64: dts: apple: t8112-j493: " James Calligeros
2026-10-18 5:54 ` James Calligeros [this message]
2026-10-18 5:54 ` [PATCH v3 19/21] arm64: dts: apple: t600x-j375: " James Calligeros
2026-10-18 5:54 ` [PATCH v3 20/21] arm64: dts: apple: t602x-j41x: " James Calligeros
2026-10-18 5:54 ` [PATCH v3 21/21] arm64: dts: apple: t602x-j47x: " James Calligeros
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261018-macaudio-v3-18-abdff7741dea@gmail.com \
--to=jcalligeros99@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=asahi@lists.linux.dev \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=david.rhodes@cirrus.com \
--cc=devicetree@vger.kernel.org \
--cc=j@jannau.net \
--cc=kevin-lu@ti.com \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-sound@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=neal@gompa.dev \
--cc=patches@opensource.cirrus.com \
--cc=perex@perex.cz \
--cc=povik+lin@cutebit.org \
--cc=rf@opensource.cirrus.com \
--cc=robh@kernel.org \
--cc=sen@ti.com \
--cc=shenghao-ding@ti.com \
--cc=sven@kernel.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.