From e2788d5836f68c970c653367e0299e13888c4ec4 Mon Sep 17 00:00:00 2001 From: Ryan Murray Date: Fri, 23 Oct 2026 16:33:58 +1100 Subject: [PATCH 1/3] dt-bindings: mfd: apple,smc: Add apple,t6041-smc The T6040 (M4 Pro) device tree added in commit 9dadcc6c7dd7 ("arm64: dts: apple: Add the T6040 SoC and the MacBook Pro J616s") uses "apple,t6041-smc", which the binding does not list. Add it next to the other post-M2 SoCs, with the "apple,t8103-smc" fallback the driver matches. Assisted-by: LLM Signed-off-by: Ryan Murray --- Documentation/devicetree/bindings/mfd/apple,smc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/mfd/apple,smc.yaml b/Documentation/devicetree/bindings/mfd/apple,smc.yaml index 31d1940f9d3dc..575ca5fc512dd 100644 --- a/Documentation/devicetree/bindings/mfd/apple,smc.yaml +++ b/Documentation/devicetree/bindings/mfd/apple,smc.yaml @@ -19,6 +19,7 @@ properties: - items: - enum: - apple,t6020-smc + - apple,t6041-smc - apple,t8122-smc - apple,t8140-smc - apple,t8142-smc From 1bf2cc691451d27179bf6a5603c3d039619b752b Mon Sep 17 00:00:00 2001 From: Ryan Murray Date: Fri, 23 Oct 2026 16:33:58 +1100 Subject: [PATCH 2/3] dt-bindings: input: apple,dockchannel-hid: Add apple,t6041-dockchannel-hid The T6040 MTP node from commit c7dfa2742910 ("arm64: dts: apple: t6040: Add MTP (keyboard, trackpad) support") names its DockChannel HID "apple,t6041-dockchannel-hid", "apple,dockchannel-hid". The binding allows only the generic compatible. Allow the SoC-specific one in front of it; existing nodes with the generic compatible alone stay valid. Assisted-by: LLM Signed-off-by: Ryan Murray --- .../devicetree/bindings/input/apple,dockchannel-hid.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/input/apple,dockchannel-hid.yaml b/Documentation/devicetree/bindings/input/apple,dockchannel-hid.yaml index 924442134b248..0be283d25641f 100644 --- a/Documentation/devicetree/bindings/input/apple,dockchannel-hid.yaml +++ b/Documentation/devicetree/bindings/input/apple,dockchannel-hid.yaml @@ -29,7 +29,11 @@ description: | properties: compatible: - const: apple,dockchannel-hid + oneOf: + - const: apple,dockchannel-hid + - items: + - const: apple,t6041-dockchannel-hid + - const: apple,dockchannel-hid reg: minItems: 4 From 5bc9bdd42c486d888372f9655687a4242274bc90 Mon Sep 17 00:00:00 2001 From: Ryan Murray Date: Fri, 23 Oct 2026 16:33:58 +1100 Subject: [PATCH 3/3] arm64: dts: apple: t6040: Match the SMC and PCIe nodes to their bindings Two nodes of the T6040 tree do not validate: - The SMC lists the generic "apple,smc" after "apple,t8103-smc". The binding keeps "apple,smc" for the T8103, T8112 and T6000 only; the later SoCs, the T8140 among them, use "-smc", "apple,t8103-smc", which is what the driver matches. Drop the generic entry. - The PCIe controller has the T6020 layout ("apple,t6020-pcie" fallback), and the binding requires the four port and four PHY windows of that layout. The node listed port 0 and PHY 0 only. The T6040's ADT (apcie0, the Mac mini J773s on 26.6.2, the same SoC) has four ports at 0x2_1x028000 and four PHYs at 0x2_1702x000, so list all of them. The driver maps a port's windows only for the port nodes present, so the J616s, with its one Wi-Fi port, is unchanged. Fixes: 9dadcc6c7dd7 ("arm64: dts: apple: Add the T6040 SoC and the MacBook Pro J616s") Fixes: f2a8c9621d0c ("arm64: dts: apple: t6040-j616s: Add Wi-Fi and Bluetooth") Assisted-by: LLM Signed-off-by: Ryan Murray --- arch/arm64/boot/dts/apple/t6040-j616s.dts | 15 +++++++++++++-- arch/arm64/boot/dts/apple/t6040.dtsi | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/apple/t6040-j616s.dts b/arch/arm64/boot/dts/apple/t6040-j616s.dts index ee36e3e012cf9..7c8280cd45850 100644 --- a/arch/arm64/boot/dts/apple/t6040-j616s.dts +++ b/arch/arm64/boot/dts/apple/t6040-j616s.dts @@ -340,8 +340,19 @@ / { pcie0: pcie@1cb0000000 { compatible = "apple,t6041-pcie", "apple,t6020-pcie"; - reg = <0x1c 0xb0000000 0 0x1000000 4 0x14000000 0 0x4000 4 0x10028000 0 0x4000 4 0x17020000 0 0x4000>; - reg-names = "config", "rc", "port0", "phy0"; + reg = <0x1c 0xb0000000 0x0 0x1000000>, /* config */ + <0x4 0x14000000 0x0 0x4000>, /* rc */ + <0x4 0x10028000 0x0 0x4000>, /* port0 */ + <0x4 0x11028000 0x0 0x4000>, /* port1 */ + <0x4 0x12028000 0x0 0x4000>, /* port2 */ + <0x4 0x13028000 0x0 0x4000>, /* port3 */ + <0x4 0x17020000 0x0 0x4000>, /* phy0 */ + <0x4 0x17024000 0x0 0x4000>, /* phy1 */ + <0x4 0x17028000 0x0 0x4000>, /* phy2 */ + <0x4 0x1702c000 0x0 0x4000>; /* phy3 */ + reg-names = "config", "rc", + "port0", "port1", "port2", "port3", + "phy0", "phy1", "phy2", "phy3"; ranges = <0x43000000 0xb 0xc0000000 0xb 0xc0000000 0 0x20000000 0x2000000 0 0x80000000 0xb 0x80000000 0 0x40000000>; pinctrl-names = "default"; pinctrl-0 = <&wifi_clkreq>; diff --git a/arch/arm64/boot/dts/apple/t6040.dtsi b/arch/arm64/boot/dts/apple/t6040.dtsi index 1046aec7d6208..85114b04d9b20 100644 --- a/arch/arm64/boot/dts/apple/t6040.dtsi +++ b/arch/arm64/boot/dts/apple/t6040.dtsi @@ -1072,7 +1072,7 @@ }; smc: smc@50c600000 { - compatible = "apple,t6041-smc", "apple,t8103-smc", "apple,smc"; + compatible = "apple,t6041-smc", "apple,t8103-smc"; reg = <0x5 0x0c600000 0x0 0x4000>, <0x5 0x0de70000 0x0 0x100000>; reg-names = "smc", "sram";