From 4ead3cbb407582a028e7654ef2f39799ff9ebb23 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Thu, 12 Nov 2026 21:39:18 +1100 Subject: [PATCH] arm64: dts: apple: t8122/t6030/t6032: give the scaler and JPEG DARTs their power domains The M3, M3 Pro and M3 Ultra JPEG engines are enabled, and their DARTs with them, but only the engines name their power domains. A DART probes as a device of its own, so when iBoot leaves the JPEG block off the probe's first register read takes an SError and the boot panics. This is the T8132 failure fixed in #1668, on the other SoCs whose JPEG DARTs were enabled at the same time. Give each JPEG DART its engine's domain, as the T6031, T8112 and T8132 DARTs have. Do the same for the scaler DARTs on these SoCs: they are still disabled, but they would fail the same way once enabled. DTBs for all other boards are unchanged. Fixes: fd4b396ab200 ("media: apple: jpeg: add the M1 Max/Ultra, M3 and M4 engines") Reported-by: Bartosz Nitka Link: https://github.com/aurora-silicon/linux/pull/1668 Assisted-by: LLM Signed-off-by: Ryan Murray --- arch/arm64/boot/dts/apple/t6030-peripherals.dtsi | 3 +++ arch/arm64/boot/dts/apple/t6032-peripherals.dtsi | 8 ++++++++ arch/arm64/boot/dts/apple/t8122-peripherals.dtsi | 3 +++ 3 files changed, 14 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi index 09e37c804ae3f..358413f654dff 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -17,6 +17,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_msr>; status = "disabled"; }; @@ -26,6 +27,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg>; status = "okay"; }; @@ -35,6 +37,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg>; status = "okay"; }; diff --git a/arch/arm64/boot/dts/apple/t6032-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6032-peripherals.dtsi index 01d7abcd5be58..1404caaefeb41 100644 --- a/arch/arm64/boot/dts/apple/t6032-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6032-peripherals.dtsi @@ -17,6 +17,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_msr0>; status = "disabled"; }; @@ -26,6 +27,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_msr1>; status = "disabled"; }; @@ -62,6 +64,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg>; status = "okay"; }; @@ -71,6 +74,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg>; status = "okay"; }; @@ -520,6 +524,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_msr0_die1>; status = "disabled"; }; @@ -529,6 +534,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_msr1_die1>; status = "disabled"; }; @@ -565,6 +571,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg_die1>; status = "okay"; }; @@ -574,6 +581,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg_die1>; status = "okay"; }; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi index d009b2f331b1d..11d4fbcfba8df 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -17,6 +17,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_msr>; status = "disabled"; }; @@ -26,6 +27,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg>; status = "okay"; }; @@ -35,6 +37,7 @@ interrupt-parent = <&aic>; interrupts = ; #iommu-cells = <1>; + power-domains = <&ps_jpg>; status = "okay"; };