Re: [PATCH 10/10] arm64: dts: apple: Add minimal t8132 (M4) device trees

Sven Peter <[email protected]>
Newsgroups org.kernel.vger.linux-i2c,dev.linux.lists.asahi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pwm,org.kernel.vger.linux-watchdog
Message-ID <[email protected]>

On 7/5/26 15:17, Yureka Lilian wrote:
> Added device trees for the following devices:
> - apple,j604 - MacBook Pro (14-inch, M4, 2024)
> - apple,j623 - iMac (24-inch, 2x USB-C, M4, 2024)
> - apple,j624 - iMac (24-inch, 4x USB-C, M4, 2024)
> - apple,j713 - MacBook Air (13-inch, M4, 2025)
> - apple,j715 - MacBook Air (15-inch, M4, 2025)
> - apple,j773g - Mac mini (M4, 2024)
>
> The device trees have a minimal set of devices limited to CPU cores,
> interrupt controller, power states, watchdog, serial, pin controller,
> i2c and framebuffer.
> The device trees for the notebooks add a PWM controller for the keyboard
> LED illumination.
>
> Using the macOS 26.6b3 iBoot/firmware, the Mac mini reliably boots on a
> single core using the stock kernel.
> Booting with smp requires avoiding the wfi and wfit instructions
> in the idle loop and `delay()` respectively, since those instructions
> cause a loss of architectural state on the secondary cores, and even
> then boot is unreliable.
>
> Signed-off-by: Yureka Lilian <[email protected]>
> ---
>   arch/arm64/boot/dts/apple/Makefile        |    6 +
>   arch/arm64/boot/dts/apple/t8132-j604.dts  |   35 +
>   arch/arm64/boot/dts/apple/t8132-j623.dts  |   18 +
>   arch/arm64/boot/dts/apple/t8132-j624.dts  |   18 +
>   arch/arm64/boot/dts/apple/t8132-j713.dts  |   35 +
>   arch/arm64/boot/dts/apple/t8132-j715.dts  |   35 +
>   arch/arm64/boot/dts/apple/t8132-j773g.dts |   25 +
>   arch/arm64/boot/dts/apple/t8132-jxxx.dtsi |   48 ++
>   arch/arm64/boot/dts/apple/t8132-pmgr.dtsi | 1125 +++++++++++++++++++++++++++++
>   arch/arm64/boot/dts/apple/t8132.dtsi      |  440 +++++++++++
>   10 files changed, 1785 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
> index 6fc3349a5842..181bd0e28965 100644
> --- a/arch/arm64/boot/dts/apple/Makefile
> +++ b/arch/arm64/boot/dts/apple/Makefile
> @@ -1,4 +1,10 @@
>   # SPDX-License-Identifier: GPL-2.0
> +dtb-$(CONFIG_ARCH_APPLE) += t8132-j604.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t8132-j623.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t8132-j624.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t8132-j713.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t8132-j715.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t8132-j773g.dtb
Please put these at the correct position in the Makefile and not at the 
very top.

>   dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j71.dtb
>   dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j73.dtb
>   dtb-$(CONFIG_ARCH_APPLE) += s5l8960x-j85m.dtb
> diff --git a/arch/arm64/boot/dts/apple/t8132-j604.dts b/arch/arm64/boot/dts/apple/t8132-j604.dts
> new file mode 100644
> index 000000000000..c4be915cb33a
> --- /dev/null
> +++ b/arch/arm64/boot/dts/apple/t8132-j604.dts
> @@ -0,0 +1,35 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * Apple MacBook Pro (14-inch, M4, 2024)
> + *
> + * target-type: J604
> + *

[...]

> +
> +		pmgr: power-management@380700000 {
> +			compatible = "apple,t8132-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			reg = <0x3 0x80700000 0 0x14000>;
> +			/* child nodes are added in t8132-pmgr.dtsi */
> +		};
> +
> +		aic: interrupt-controller@381180000 {
> +			compatible = "apple,t8132-aic3", "apple,t8122-aic3";
> +			#interrupt-cells = <3>;
> +			interrupt-controller;
> +			reg = <0x00000003 0x81000000 0x00000000 0x1cc000>,

You have 381180000 in the node name but 381000000 here, I guess the node 
name is a copy paste error. W=1 flags this fwiw.


Sven
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.