public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] arm64: dts: apple: Small pmgr fixes
@ 2026-01-08 21:04 Janne Grunau
  2026-01-08 21:04 ` [PATCH 1/3] arm64: dts: apple: t8112-j473: Keep the HDMI port powered on Janne Grunau
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Janne Grunau @ 2026-01-08 21:04 UTC (permalink / raw)
  To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, Janne Grunau,
	stable, Hector Martin

This series contains 3 small pmgr related fixes for Apple silicon
devices with M1 and M2.

1. Prevent the display controller and DPTX phy from powered down after
   initial boot on the M2 Mac mini. This is the only fix worthwhile for
   stable kernels. Given how long it has been broken and that it's not a
   regression I think it can wait to the next merge window and get
   backported from there into stable kernels.

2. Mark ps_atc?_usb_aon as always-on. This is required to keep the soon
   to be suported USB type-c working across suspend an resume. The later
   submitted devicetrees for M1 Pro/Max/Ultra, M2 and M2 Pro/Max/Ultra
   already have this property since the initial change. Only the
   separate for M1 was forgotten.

3. Model the hidden dependency between GPU and pmp as power-domain
   dependency. This is required to avoid crashing the GPU firmware
   immediately after booting.

Signed-off-by: Janne Grunau <j@jannau.net>
---
Hector Martin (1):
      arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on

Janne Grunau (2):
      arm64: dts: apple: t8112-j473: Keep the HDMI port powered on
      arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx

 arch/arm64/boot/dts/apple/t8103-pmgr.dtsi |  3 +++
 arch/arm64/boot/dts/apple/t8112-j473.dts  | 19 +++++++++++++++++++
 2 files changed, 22 insertions(+)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20260108-apple-dt-pmgr-fixes-dc66a8658aed

Best regards,
-- 
Janne Grunau <j@jannau.net>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3] arm64: dts: apple: t8112-j473: Keep the HDMI port powered on
  2026-01-08 21:04 [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Janne Grunau
@ 2026-01-08 21:04 ` Janne Grunau
  2026-01-08 21:04 ` [PATCH 2/3] arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on Janne Grunau
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Janne Grunau @ 2026-01-08 21:04 UTC (permalink / raw)
  To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, Janne Grunau,
	stable

Add the display controller and DPTX phy power-domains to the framebuffer
node to keep the framebuffer and display out working after device probing
finished.
The OS has more control about the display pipeline used for the HDMI
output on M2 based devices. The HDMI output is driven by an integrated
DisplayPort to HDMI converter (Parade PS190). The DPTX phy is now
controlled by the OS and no longer by firmware running on the display
co-processor. This allows using the second display controller on the
second USB type-c port or tunneling 2 DisplayPort connections over
USB4/Thunderbolt.
The m1n1 bootloader uses the second display controller to drive the HDMI
output. Adjust for this difference compared to the notebooks as well.

Fixes: 2d5ce3fbef32 ("arm64: dts: apple: t8112: Initial t8112 (M2) device trees")
Cc: stable@vger.kernel.org
Signed-off-by: Janne Grunau <j@jannau.net>
---
 arch/arm64/boot/dts/apple/t8112-j473.dts | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/arch/arm64/boot/dts/apple/t8112-j473.dts b/arch/arm64/boot/dts/apple/t8112-j473.dts
index 06fe257f08be498ace6906b936012e01084da702..4ae1ce919dafc40d849f7dcee948457158562316 100644
--- a/arch/arm64/boot/dts/apple/t8112-j473.dts
+++ b/arch/arm64/boot/dts/apple/t8112-j473.dts
@@ -21,6 +21,25 @@ aliases {
 	};
 };
 
+/*
+ * Keep the power-domains used for the HDMI port on.
+ */
+&framebuffer0 {
+	power-domains = <&ps_dispext_cpu0>, <&ps_dptx_ext_phy>;
+};
+
+/*
+ * The M2 Mac mini uses dispext for the HDMI output so it's not necessary to
+ * keep disp0 power-domains always-on.
+ */
+&ps_disp0_sys {
+	/delete-property/ apple,always-on;
+};
+
+&ps_disp0_fe {
+	/delete-property/ apple,always-on;
+};
+
 /*
  * Force the bus number assignments so that we can declare some of the
  * on-board devices and properties that are populated by the bootloader

-- 
2.52.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on
  2026-01-08 21:04 [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Janne Grunau
  2026-01-08 21:04 ` [PATCH 1/3] arm64: dts: apple: t8112-j473: Keep the HDMI port powered on Janne Grunau
@ 2026-01-08 21:04 ` Janne Grunau
  2026-01-08 21:15   ` Sven Peter
  2026-01-08 21:04 ` [PATCH 3/3] arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx Janne Grunau
  2026-01-10 10:39 ` [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Sven Peter
  3 siblings, 1 reply; 6+ messages in thread
From: Janne Grunau @ 2026-01-08 21:04 UTC (permalink / raw)
  To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, Janne Grunau,
	Hector Martin

From: Hector Martin <marcan@marcan.st>

Shutting these down breaks dwc3 init done by the firmware. We probably
never want to do this anyway. It might be possible remove this once
a PHY driver is in place to do the init properly, but it may not be
worth it. "always-on" is a plausible interpretation of the "aon" suffix.
The t8112, t600x and t602x "ps_atc?_usb_aon" power-controller nodes are
have already "apple,always-on" properties.

Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Janne Grunau <j@jannau.net>
---
 arch/arm64/boot/dts/apple/t8103-pmgr.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi b/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi
index c41c57d63997a59a9fe3c88de31fddb31781398e..4bfe0d2de30ad6f975b31d443b62ef0e74b14324 100644
--- a/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi
+++ b/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi
@@ -1103,6 +1103,7 @@ ps_atc0_usb_aon: power-controller@88 {
 		#power-domain-cells = <0>;
 		#reset-cells = <0>;
 		label = "atc0_usb_aon";
+		apple,always-on; /* Needs to stay on for dwc3 to work */
 	};
 
 	ps_atc1_usb_aon: power-controller@90 {
@@ -1111,6 +1112,7 @@ ps_atc1_usb_aon: power-controller@90 {
 		#power-domain-cells = <0>;
 		#reset-cells = <0>;
 		label = "atc1_usb_aon";
+		apple,always-on; /* Needs to stay on for dwc3 to work */
 	};
 
 	ps_atc0_usb: power-controller@98 {

-- 
2.52.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx
  2026-01-08 21:04 [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Janne Grunau
  2026-01-08 21:04 ` [PATCH 1/3] arm64: dts: apple: t8112-j473: Keep the HDMI port powered on Janne Grunau
  2026-01-08 21:04 ` [PATCH 2/3] arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on Janne Grunau
@ 2026-01-08 21:04 ` Janne Grunau
  2026-01-10 10:39 ` [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Sven Peter
  3 siblings, 0 replies; 6+ messages in thread
From: Janne Grunau @ 2026-01-08 21:04 UTC (permalink / raw)
  To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, Janne Grunau

AGX appears to have a hidden communication channel to pmp, a power
management related co-processor already brought up by Apple's
bootloader. As there is not driver for this co-processor its
power-domain gets shut down after the initial boot.
This crashes the firmware running on AGX immediately.
Until there is a pmp driver and the dependency between AGX and pmp is
understood keep "ps_pmp" as dependency of "ps_gfx".

Signed-off-by: Janne Grunau <j@jannau.net>
---
 arch/arm64/boot/dts/apple/t8103-pmgr.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi b/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi
index 4bfe0d2de30ad6f975b31d443b62ef0e74b14324..fef8a4058f14159d953fdc1d47ed83950e30a37e 100644
--- a/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi
+++ b/arch/arm64/boot/dts/apple/t8103-pmgr.dtsi
@@ -733,6 +733,7 @@ ps_gfx: power-controller@3f8 {
 		#power-domain-cells = <0>;
 		#reset-cells = <0>;
 		label = "gfx";
+		power-domains = <&ps_pmp>;
 	};
 
 	ps_dcs4: power-controller@320 {

-- 
2.52.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3] arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on
  2026-01-08 21:04 ` [PATCH 2/3] arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on Janne Grunau
@ 2026-01-08 21:15   ` Sven Peter
  0 siblings, 0 replies; 6+ messages in thread
From: Sven Peter @ 2026-01-08 21:15 UTC (permalink / raw)
  To: Janne Grunau
  Cc: asahi, Krzysztof Kozlowski, Neal Gompa, linux-arm-kernel,
	Conor Dooley, devicetree, linux-kernel, Hector Martin,
	Rob Herring



On 1/8/26 22:04, Janne Grunau wrote:
> From: Hector Martin <marcan@marcan.st>
>
> Shutting these down breaks dwc3 init done by the firmware. We probably
> never want to do this anyway. It might be possible remove this once
> a PHY driver is in place to do the init properly, but it may not be
> worth it.
Even with that PHY driver now in place we still need this. No need to 
resend to fix the commit description, I can do that when applying the 
series.


Sven




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/3] arm64: dts: apple: Small pmgr fixes
  2026-01-08 21:04 [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Janne Grunau
                   ` (2 preceding siblings ...)
  2026-01-08 21:04 ` [PATCH 3/3] arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx Janne Grunau
@ 2026-01-10 10:39 ` Sven Peter
  3 siblings, 0 replies; 6+ messages in thread
From: Sven Peter @ 2026-01-10 10:39 UTC (permalink / raw)
  To: Neal Gompa, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Janne Grunau
  Cc: Sven Peter, asahi, linux-arm-kernel, devicetree, linux-kernel,
	stable, Hector Martin

On Thu, 08 Jan 2026 22:04:00 +0100, Janne Grunau wrote:
> This series contains 3 small pmgr related fixes for Apple silicon
> devices with M1 and M2.
> 
> 1. Prevent the display controller and DPTX phy from powered down after
>    initial boot on the M2 Mac mini. This is the only fix worthwhile for
>    stable kernels. Given how long it has been broken and that it's not a
>    regression I think it can wait to the next merge window and get
>    backported from there into stable kernels.
> 
> [...]

Applied to AsahiLinux/linux (apple-soc/dt-6.20), thanks!

[1/3] arm64: dts: apple: t8112-j473: Keep the HDMI port powered on
      https://github.com/AsahiLinux/linux/commit/162a29b58c5b
[2/3] arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on
      https://github.com/AsahiLinux/linux/commit/f15cea4e84ae
[3/3] arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx
      https://github.com/AsahiLinux/linux/commit/35e794fefd47

Best regards,
-- 
Sven Peter <sven@kernel.org>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-01-10 10:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-08 21:04 [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Janne Grunau
2026-01-08 21:04 ` [PATCH 1/3] arm64: dts: apple: t8112-j473: Keep the HDMI port powered on Janne Grunau
2026-01-08 21:04 ` [PATCH 2/3] arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on Janne Grunau
2026-01-08 21:15   ` Sven Peter
2026-01-08 21:04 ` [PATCH 3/3] arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx Janne Grunau
2026-01-10 10:39 ` [PATCH 0/3] arm64: dts: apple: Small pmgr fixes Sven Peter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox