Linux I2C development
 help / color / mirror / Atom feed
From: Janne Grunau <j@jannau.net>
To: Yureka Lilian <yureka@cyberchaos.dev>
Cc: "Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
	"Sven Peter" <sven@kernel.org>, "Neal Gompa" <neal@gompa.dev>,
	"Thomas Gleixner" <tglx@kernel.org>,
	"Radu Rendec" <radu@rendec.net>,
	"Hector Martin" <marcan@marcan.st>,
	"Linus Walleij" <linusw@kernel.org>,
	"Mark Kettenis" <kettenis@openbsd.org>,
	"Andi Shyti" <andi.shyti@kernel.org>,
	"Uwe Kleine-König" <ukleinek@kernel.org>,
	"Sasha Finkelstein" <k@chaosmail.tech>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-pwm@vger.kernel.org
Subject: Re: [PATCH v2 9/9] arm64: dts: apple: Add minimal t8132 (M4) device trees
Date: Sun, 2 Aug 2026 15:54:52 +0200	[thread overview]
Message-ID: <20260802135452.GJ806854@robin.jannau.net> (raw)
In-Reply-To: <20260801-apple-m4-initial-devicetrees-v2-9-5cb07cc275da@cyberchaos.dev>

On Sat, Aug 01, 2026 at 11:40:39PM +0200, 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.6 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 <yureka@cyberchaos.dev>
> ---
>  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 | 1130 +++++++++++++++++++++++++++++
>  arch/arm64/boot/dts/apple/t8132.dtsi      |  447 ++++++++++++
>  10 files changed, 1797 insertions(+)

...

> diff --git a/arch/arm64/boot/dts/apple/t8132.dtsi b/arch/arm64/boot/dts/apple/t8132.dtsi
> new file mode 100644
> index 000000000000..6df6ccdda90e
> --- /dev/null
> +++ b/arch/arm64/boot/dts/apple/t8132.dtsi
> @@ -0,0 +1,447 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * Apple T8132 "M4" SoC
> + *
> + * Copyright The Asahi Linux Contributors
> + */
> +
> +#include <dt-bindings/interrupt-controller/apple-aic.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/pinctrl/apple.h>
> +
> +/ {
> +	compatible = "apple,t8132", "apple,arm-platform";
> +
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +
> +	cpus {
> +		#address-cells = <2>;
> +		#size-cells = <0>;
> +
> +		cpu-map {
> +			cluster0 {
> +				core0 {
> +					cpu = <&cpu_e0>;
> +				};
> +				core1 {
> +					cpu = <&cpu_e1>;
> +				};
> +				core2 {
> +					cpu = <&cpu_e2>;
> +				};
> +				core3 {
> +					cpu = <&cpu_e3>;
> +				};
> +				core4 {
> +					cpu = <&cpu_e4>;
> +				};
> +				core5 {
> +					cpu = <&cpu_e5>;
> +				};
> +			};
> +
> +			cluster1 {
> +				core0 {
> +					cpu = <&cpu_p0>;
> +				};
> +				core1 {
> +					cpu = <&cpu_p1>;
> +				};
> +				core2 {
> +					cpu = <&cpu_p2>;
> +				};
> +				core3 {
> +					cpu = <&cpu_p3>;
> +				};
> +			};
> +		};
> +
> +		cpu_e0: cpu@0 {
> +			compatible = "apple,donan-e";
> +			device_type = "cpu";
> +			reg = <0x0 0x0>;
> +			enable-method = "spin-table";
> +			cpu-release-addr = <0 0>;
> +			next-level-cache = <&l2_cache_0>;

missing "i-cache-size" and "d-cache-size". As far as I'm aware they
remain unchanged. 128kB i-cache, 64kB d-cache for the e-cores and 192kB
i-cache, 128kB d-cache for the p-cores

...

> +		pmgr_mini: power-management@388280000 {
> +			compatible = "apple,t8132-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			reg = <0x3 0x88280000 0 0x4000>;
> +			/* child nodes are added in t8132-pmgr.dtsi */
> +		};
> +
> +		wdt: watchdog@3882b0000 {
> +			compatible = "apple,t8132-wdt", "apple,t8103-wdt";
> +			reg = <0x3 0x882b0000 0x0 0x4000>;
> +			clocks = <&clkref>;
> +			interrupt-parent = <&aic>;
> +			interrupts = <AIC_IRQ 507 IRQ_TYPE_LEVEL_HIGH>;
> +		};
> +
> +		pinctrl_nub: pinctrl@3881f0000 {

out of order node, it belongs before pmgr_mini in unit-address order

Janne

      reply	other threads:[~2026-08-02 13:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 1/9] dt-bindings: arm: cpus: Add Apple M4 CPU core compatibles Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 2/9] dt-bindings: interrupt-controller: apple,aic2: Add apple,t8132 compatible Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 3/9] dt-bindings: arm: apple: apple,pmgr: Add t8132 compatible Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 4/9] dt-bindings: power: apple,pmgr-pwrstate: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 5/9] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 6/9] dt-bindings: i2c: apple,i2c: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 7/9] dt-bindings: pwm: apple,s5l-fpwm: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 8/9] dt-bindings: arm: apple: Add M4 based devices Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 9/9] arm64: dts: apple: Add minimal t8132 (M4) device trees Yureka Lilian
2026-08-02 13:54   ` Janne Grunau [this message]

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=20260802135452.GJ806854@robin.jannau.net \
    --to=j@jannau.net \
    --cc=andi.shyti@kernel.org \
    --cc=asahi@lists.linux.dev \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=k@chaosmail.tech \
    --cc=kettenis@openbsd.org \
    --cc=krzk+dt@kernel.org \
    --cc=linusw@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=marcan@marcan.st \
    --cc=neal@gompa.dev \
    --cc=radu@rendec.net \
    --cc=robh@kernel.org \
    --cc=sven@kernel.org \
    --cc=tglx@kernel.org \
    --cc=ukleinek@kernel.org \
    --cc=yureka@cyberchaos.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox