From nobody Sat Oct 11 08:26:17 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC8C318D; Wed, 11 Jun 2025 17:32:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749663159; cv=none; b=rug0md00Amx+HoVIEL0wOfxsVI7faE87nRj7w8MJ23NA80ESJcNb/xmVsupTyIGpWXd94xFSg0JZnvV0SglEfTX3BGmo32dN37D5fcNNaChyfiBP52eCd9Sn1OrDKbiFiEBoKtFbqyTN5CluVbv+RnX2Dc7RcmZCpEC7QS3pIX8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749663159; c=relaxed/simple; bh=bRM3LfTaCoklm62WkDu5Lqp1zfV1Oa3CIVtDIVt+xks=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=M3I+H6YAargUURl7YAoS1JDlmXaZjUQS+oDDJ1xlahMBbZNhr7+JLllrqIMfgGu6L6yrFE3ItyDiE1Tz9+Rm9uLkdWgxlWWoaoRHHZa6F0FwsLbAVplP8ds/iFtsyRq8QWjwAuFdFtVgVbsB0u5M/cb6FIvjdkx6angKvBgh6w8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SsO2MG/d; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SsO2MG/d" Received: by smtp.kernel.org (Postfix) with ESMTPS id 61536C4CEEA; Wed, 11 Jun 2025 17:32:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1749663159; bh=bRM3LfTaCoklm62WkDu5Lqp1zfV1Oa3CIVtDIVt+xks=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=SsO2MG/dYSTnGXSknY9EKLxp9xuOI/v4MF0ZpZlNvQqGmE0FVIAZW15Sg5940yL6c 3si20e1QaWSdCbUDx+Dtc8uIY8Or8d8zq0qisYomTp5UMdDkNo1lL12pChXCnPzQ0y gvIc6jE5jQ1SogEr6lQj+dQVOc7CvblmeXv08ImSjP8Uzrk9oZ0U0HhtFB0ClJ0kfC OQOJzAAvpk26FNUpBHnzldo8rrM850o3/Jl8fBiLb9+AxJecIvtmnQc3Z1/bPu0FLu TYCx4Ch4A59dFRy9nj3xb16ODIqUoYqWhEfV5eHRNnNfHocp+b9rkttzCuoUmhhX2a b/q+wPl2KuRSw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50C12C71143; Wed, 11 Jun 2025 17:32:39 +0000 (UTC) From: Sasha Finkelstein via B4 Relay Date: Wed, 11 Jun 2025 19:32:17 +0200 Subject: [PATCH 2/2] arm64: dts: Add Apple SoC GPU Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250611-sgx-dt-v1-2-7a11f3885c60@gmail.com> References: <20250611-sgx-dt-v1-0-7a11f3885c60@gmail.com> In-Reply-To: <20250611-sgx-dt-v1-0-7a11f3885c60@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Sasha Finkelstein X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1749663157; l=9121; i=fnkl.kernel@gmail.com; s=20241124; h=from:subject:message-id; bh=dHo4NuQQ30tCV5k9Ip37kxDFTRR/INCJCzoQsAaFR4E=; b=2lN4t3g1K5qrJ6Bl4nyaHiUg3pSKWm/Nb1L02Hu8I0APcDNOfKSzUlaMfn7yDT89roBWaVHfO W1pesjSyeFwAW+QfReL8gYKwpDkIZ62zTl628sJOlb29orWiiTVb6I/ X-Developer-Key: i=fnkl.kernel@gmail.com; a=ed25519; pk=aSkp1PdZ+eF4jpMO6oLvz/YfT5XkBUneWwyhQrOgmsU= X-Endpoint-Received: by B4 Relay for fnkl.kernel@gmail.com/20241124 with auth_id=283 X-Original-From: Sasha Finkelstein Reply-To: fnkl.kernel@gmail.com From: Sasha Finkelstein Add device tree entries for GPUs in M-series SoCs Signed-off-by: Sasha Finkelstein Reviewed-by: Alyssa Rosenzweig Reviewed-by: Sven Peter --- arch/arm64/boot/dts/apple/t6000.dtsi | 4 ++++ arch/arm64/boot/dts/apple/t6001.dtsi | 4 ++++ arch/arm64/boot/dts/apple/t6002.dtsi | 4 ++++ arch/arm64/boot/dts/apple/t600x-common.dtsi | 34 +++++++++++++++++++++++++= +++++++++ arch/arm64/boot/dts/apple/t600x-die0.dtsi | 28 +++++++++++++++++++++++++= +++ arch/arm64/boot/dts/apple/t8103.dtsi | 62 +++++++++++++++++++++++++= +++++++++++++++++++++++++++++++++++++ arch/arm64/boot/dts/apple/t8112.dtsi | 62 +++++++++++++++++++++++++= +++++++++++++++++++++++++++++++++++++ 7 files changed, 198 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t6000.dtsi b/arch/arm64/boot/dts/app= le/t6000.dtsi index 89c3b211b116e96ee0a5ea0c923c3ab824008307..3b60842045d4c3277e9530a13ef= 2811774209697 100644 --- a/arch/arm64/boot/dts/apple/t6000.dtsi +++ b/arch/arm64/boot/dts/apple/t6000.dtsi @@ -16,3 +16,7 @@ / { }; =20 /delete-node/ &pmgr_south; + +&gpu { + compatible =3D "apple,agx-g13s", "apple,agx-g13x"; +}; diff --git a/arch/arm64/boot/dts/apple/t6001.dtsi b/arch/arm64/boot/dts/app= le/t6001.dtsi index d2cf81926f284ccf7627701cc82edff31d4d72d6..60c65ad8fabccc153aa98f4431d= c11f7551eca77 100644 --- a/arch/arm64/boot/dts/apple/t6001.dtsi +++ b/arch/arm64/boot/dts/apple/t6001.dtsi @@ -62,3 +62,7 @@ p-core-pmu-affinity { }; }; }; + +&gpu { + compatible =3D "apple,agx-g13c", "apple,agx-g13x"; +}; diff --git a/arch/arm64/boot/dts/apple/t6002.dtsi b/arch/arm64/boot/dts/app= le/t6002.dtsi index e36f422d257d8fe3a62bfa6e0f0e0dc6c34608a4..501ca82f41827e4882683e583b6= feaf25a34321d 100644 --- a/arch/arm64/boot/dts/apple/t6002.dtsi +++ b/arch/arm64/boot/dts/apple/t6002.dtsi @@ -300,3 +300,7 @@ &ps_gfx { // On t6002, the die0 GPU power domain needs both AFR power domains power-domains =3D <&ps_afr>, <&ps_afr_die1>; }; + +&gpu { + compatible =3D "apple,agx-g13d", "apple,agx-g13x"; +}; diff --git a/arch/arm64/boot/dts/apple/t600x-common.dtsi b/arch/arm64/boot/= dts/apple/t600x-common.dtsi index 87dfc13d74171f62bf3087401918d9d41eaac560..329bd084b63e3688547166a8d0c= 3d9ace5d6d937 100644 --- a/arch/arm64/boot/dts/apple/t600x-common.dtsi +++ b/arch/arm64/boot/dts/apple/t600x-common.dtsi @@ -11,6 +11,10 @@ / { #address-cells =3D <2>; #size-cells =3D <2>; =20 + aliases { + gpu =3D &gpu; + }; + cpus { #address-cells =3D <2>; #size-cells =3D <0>; @@ -378,4 +382,34 @@ nco_clkref: clock-ref-nco { #clock-cells =3D <0>; clock-output-names =3D "nco_ref"; }; + + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + gpu_globals: globals { + reg =3D <0x0 0 0 0>; + }; + + gpu_hw_cal_a: hw-cal-a { + reg =3D <0x0 0 0 0>; + }; + + gpu_hw_cal_b: hw-cal-b { + reg =3D <0x0 0 0 0>; + }; + + uat_handoff: uat-handoff { + reg =3D <0x0 0 0 0>; + }; + + uat_pagetables: uat-pagetables { + reg =3D <0x0 0 0 0>; + }; + + uat_ttbs: uat-ttbs { + reg =3D <0x0 0 0 0>; + }; + }; }; diff --git a/arch/arm64/boot/dts/apple/t600x-die0.dtsi b/arch/arm64/boot/dt= s/apple/t600x-die0.dtsi index 110bc6719512e334e04b496fb157cb4368679957..140e0ebc0421881899f276b81f3= d747ae67a8871 100644 --- a/arch/arm64/boot/dts/apple/t600x-die0.dtsi +++ b/arch/arm64/boot/dts/apple/t600x-die0.dtsi @@ -302,6 +302,34 @@ mca: mca@39b600000 { #sound-dai-cells =3D <1>; }; =20 + gpu: gpu@406400000 { + compatible =3D "apple,agx-g13x"; + reg =3D <0x4 0x6400000 0 0x40000>, + <0x4 0x4000000 0 0x1000000>; + reg-names =3D "asc", "sgx"; + mboxes =3D <&agx_mbox>; + power-domains =3D <&ps_gfx>; + memory-region =3D <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>, + <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>; + memory-region-names =3D "ttbs", "pagetables", "handoff", + "hw-cal-a", "hw-cal-b", "globals"; + + apple,firmware-compat =3D <0 0 0>; + }; + + agx_mbox: mbox@406408000 { + compatible =3D "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4"; + reg =3D <0x4 0x6408000 0x0 0x4000>; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + , + ; + interrupt-names =3D "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells =3D <0>; + }; + pcie0_dart_0: iommu@581008000 { compatible =3D "apple,t6000-dart"; reg =3D <0x5 0x81008000 0x0 0x4000>; diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/app= le/t8103.dtsi index 20faf0c0d80927b2e18dd966a61b5507b322c72f..eeaea35a89e2f2c7f8e04d95e22= ed6cc0ec3d5c9 100644 --- a/arch/arm64/boot/dts/apple/t8103.dtsi +++ b/arch/arm64/boot/dts/apple/t8103.dtsi @@ -19,6 +19,10 @@ / { #address-cells =3D <2>; #size-cells =3D <2>; =20 + aliases { + gpu =3D &gpu; + }; + cpus { #address-cells =3D <2>; #size-cells =3D <0>; @@ -351,6 +355,36 @@ nco_clkref: clock-ref-nco { clock-output-names =3D "nco_ref"; }; =20 + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + gpu_globals: globals { + reg =3D <0x0 0 0 0>; + }; + + gpu_hw_cal_a: hw-cal-a { + reg =3D <0x0 0 0 0>; + }; + + gpu_hw_cal_b: hw-cal-b { + reg =3D <0x0 0 0 0>; + }; + + uat_handoff: uat-handoff { + reg =3D <0x0 0 0 0>; + }; + + uat_pagetables: uat-pagetables { + reg =3D <0x0 0 0 0>; + }; + + uat_ttbs: uat-ttbs { + reg =3D <0x0 0 0 0>; + }; + }; + soc { compatible =3D "simple-bus"; #address-cells =3D <2>; @@ -359,6 +393,34 @@ soc { ranges; nonposted-mmio; =20 + gpu: gpu@206400000 { + compatible =3D "apple,agx-g13g"; + reg =3D <0x2 0x6400000 0 0x40000>, + <0x2 0x4000000 0 0x1000000>; + reg-names =3D "asc", "sgx"; + mboxes =3D <&agx_mbox>; + power-domains =3D <&ps_gfx>; + memory-region =3D <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>, + <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>; + memory-region-names =3D "ttbs", "pagetables", "handoff", + "hw-cal-a", "hw-cal-b", "globals"; + + apple,firmware-compat =3D <0 0 0>; + }; + + agx_mbox: mbox@206408000 { + compatible =3D "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4"; + reg =3D <0x2 0x6408000 0x0 0x4000>; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + , + ; + interrupt-names =3D "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells =3D <0>; + }; + cpufreq_e: performance-controller@210e20000 { compatible =3D "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq"; reg =3D <0x2 0x10e20000 0 0x1000>; diff --git a/arch/arm64/boot/dts/apple/t8112.dtsi b/arch/arm64/boot/dts/app= le/t8112.dtsi index e95711d8337f6cea898e88a3d564caf2c4f94404..b8fcfb6d93b27d4e314e706eb1f= 10eb58b15462b 100644 --- a/arch/arm64/boot/dts/apple/t8112.dtsi +++ b/arch/arm64/boot/dts/apple/t8112.dtsi @@ -19,6 +19,10 @@ / { #address-cells =3D <2>; #size-cells =3D <2>; =20 + aliases { + gpu =3D &gpu; + }; + cpus { #address-cells =3D <2>; #size-cells =3D <0>; @@ -366,6 +370,36 @@ nco_clkref: clock-ref-nco { clock-output-names =3D "nco_ref"; }; =20 + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + gpu_globals: globals { + reg =3D <0x0 0 0 0>; + }; + + gpu_hw_cal_a: hw-cal-a { + reg =3D <0x0 0 0 0>; + }; + + gpu_hw_cal_b: hw-cal-b { + reg =3D <0x0 0 0 0>; + }; + + uat_handoff: uat-handoff { + reg =3D <0x0 0 0 0>; + }; + + uat_pagetables: uat-pagetables { + reg =3D <0x0 0 0 0>; + }; + + uat_ttbs: uat-ttbs { + reg =3D <0x0 0 0 0>; + }; + }; + soc { compatible =3D "simple-bus"; #address-cells =3D <2>; @@ -374,6 +408,34 @@ soc { ranges; nonposted-mmio; =20 + gpu: gpu@206400000 { + compatible =3D "apple,agx-g14g"; + reg =3D <0x2 0x6400000 0 0x40000>, + <0x2 0x4000000 0 0x1000000>; + reg-names =3D "asc", "sgx"; + mboxes =3D <&agx_mbox>; + power-domains =3D <&ps_gfx>; + memory-region =3D <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>, + <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>; + memory-region-names =3D "ttbs", "pagetables", "handoff", + "hw-cal-a", "hw-cal-b", "globals"; + + apple,firmware-compat =3D <0 0 0>; + }; + + agx_mbox: mbox@206408000 { + compatible =3D "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4"; + reg =3D <0x2 0x6408000 0x0 0x4000>; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + , + ; + interrupt-names =3D "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells =3D <0>; + }; + cpufreq_e: cpufreq@210e20000 { compatible =3D "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq"; reg =3D <0x2 0x10e20000 0 0x1000>; --=20 2.49.0