From cb576bd26694d053fecbf264f492f63d6b881755 Mon Sep 17 00:00:00 2001 From: Jiajun Wang Date: Fri, 14 Aug 2026 23:27:49 +0800 Subject: [PATCH 1/3] arm64: dts: apple: t8132: Add SMC support Add the SMC mailbox, SMC and SMC GPIO controller nodes for t8132. Tested on an M4 MacBook Pro (J604), where the SMC and GPIO controllers probe successfully. Signed-off-by: Jiajun Wang --- arch/arm64/boot/dts/apple/t8132.dtsi | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8132.dtsi b/arch/arm64/boot/dts/apple/t8132.dtsi index 715980b5c7de48..a565526cfaa65a 100644 --- a/arch/arm64/boot/dts/apple/t8132.dtsi +++ b/arch/arm64/boot/dts/apple/t8132.dtsi @@ -5,6 +5,7 @@ * Copyright The Asahi Linux Contributors */ +#include #include #include #include @@ -255,6 +256,33 @@ ; }; + smc_mbox: mbox@38c608000 { + compatible = "apple,t8132-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x3 0x8c608000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + }; + + smc: smc@38c600000 { + compatible = "apple,t8132-smc", "apple,t8103-smc"; + reg = <0x3 0x8c600000 0x0 0x4000>, + <0x3 0x8de00000 0x0 0x100000>; + reg-names = "smc", "sram"; + mboxes = <&smc_mbox>; + + smc_gpio: gpio { + compatible = "apple,smc-gpio"; + gpio-controller; + #gpio-cells = <2>; + }; + }; + pinctrl_smc: pinctrl@38c820000 { compatible = "apple,t8132-pinctrl", "apple,t8103-pinctrl"; reg = <0x3 0x8c820000 0x0 0x4000>; From 86a244de023a42ef51a9a22641aa5932a68f4d6b Mon Sep 17 00:00:00 2001 From: Jiajun Wang Date: Fri, 14 Aug 2026 23:28:31 +0800 Subject: [PATCH 2/3] arm64: dts: apple: t8132: Add MTP support Add the MTP, mailbox, DART, DockChannel and HID transport nodes for t8132. Unlike t8122, the MTP DART uses stream ID 0 on t8132. Signed-off-by: Jiajun Wang --- arch/arm64/boot/dts/apple/t8132.dtsi | 80 ++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8132.dtsi b/arch/arm64/boot/dts/apple/t8132.dtsi index a565526cfaa65a..bc9cbb7689b11d 100644 --- a/arch/arm64/boot/dts/apple/t8132.dtsi +++ b/arch/arm64/boot/dts/apple/t8132.dtsi @@ -372,6 +372,86 @@ }; }; + mtp: mtp@394600000 { + compatible = "apple,t8132-mtp", + "apple,t8132-rtk-helper-asc4", + "apple,mtp", + "apple,rtk-helper-asc4"; + reg = <0x3 0x94600000 0x0 0x4000>, + <0x3 0x946c0000 0x0 0x100000>; + reg-names = "asc", "sram"; + + mboxes = <&mtp_mbox>; + iommus = <&mtp_dart 0>; + #helper-cells = <0>; + + status = "disabled"; + }; + + mtp_mbox: mbox@394608000 { + compatible = "apple,t8132-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x3 0x94608000 0x0 0x4000>; + + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + mtp_dart: iommu@394800000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x3 0x94800000 0x0 0x4000>; + + interrupt-parent = <&aic>; + interrupts = ; + + #iommu-cells = <1>; + + status = "disabled"; + }; + + mtp_dockchannel: fifo@394b30000 { + compatible = "apple,t8132-dockchannel", "apple,dockchannel"; + reg = <0x3 0x94b14000 0x0 0x4000>; + reg-names = "irq"; + interrupt-parent = <&aic>; + interrupts = ; + + ranges = <0 0x3 0x94b28000 0x20000>; + nonposted-mmio; + #address-cells = <1>; + #size-cells = <1>; + + interrupt-controller; + #interrupt-cells = <2>; + + status = "disabled"; + + mtp_hid: input@0 { + compatible = "apple,dockchannel-hid"; + reg = <0x0000 0x1000>, + <0x4000 0x1000>, + <0x8000 0x1000>, + <0xc000 0x1000>; + reg-names = "rmt-config", "rmt-data", "config", "data"; + + iommus = <&mtp_dart 0>; + + interrupt-parent = <&mtp_dockchannel>; + interrupts = <2 IRQ_TYPE_LEVEL_HIGH>, + <3 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "tx", "rx"; + + apple,fifo-size = <0x800>; + apple,helper-cpu = <&mtp>; + }; + }; + i2c0: i2c@3ad010000 { compatible = "apple,t8132-i2c", "apple,t8103-i2c"; reg = <0x3 0xad010000 0x0 0x4000>; From 676a38ac4df6cf4c77344a20f5d724b518839194 Mon Sep 17 00:00:00 2001 From: Jiajun Wang Date: Fri, 14 Aug 2026 23:43:44 +0800 Subject: [PATCH 3/3] arm64: dts: apple: t8132-j604: Enable MTP based input Tested on an M4 MacBook Pro (J604), the built-in keyboard works. Signed-off-by: Jiajun Wang --- arch/arm64/boot/dts/apple/t8132-j604.dts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8132-j604.dts b/arch/arm64/boot/dts/apple/t8132-j604.dts index c4be915cb33ab2..62484b18f9d6f5 100644 --- a/arch/arm64/boot/dts/apple/t8132-j604.dts +++ b/arch/arm64/boot/dts/apple/t8132-j604.dts @@ -33,3 +33,26 @@ &fpwm1 { status = "okay"; }; + +&mtp { + status = "okay"; +}; + +&mtp_mbox { + status = "okay"; +}; + +&mtp_dart { + status = "okay"; +}; + +&mtp_dockchannel { + status = "okay"; +}; + +&mtp_hid { + keyboard: keyboard { + hid-country-code = <0>; + apple,keyboard-layout-id = <0>; + }; +};