From nobody Tue Dec 16 07:08:12 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 47A66243399; Wed, 9 Jul 2025 22:21:49 +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=1752099710; cv=none; b=GQxW1twuCTmW7C+kkokl1QAtM2uah/Xvog+rXUeVZ95xujM91HzYBi4hK1piQEQmuPg+MggMs08509MkIJmwLmGDVLy4uyJ6rcqRekgRcBlJmrymsdgJGb054HQOq3W3eCyj3HN7Fgr9Chj4E747w2F96gbpHTXHyKgJWiLpXnI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752099710; c=relaxed/simple; bh=vMk63BU6vPbeqFxykHtTw4kWX4uzQsf8eR4cINkk+II=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EOEOGo62/aRgN7ZmMyY6ksZSWXB4/w7ykEHYvVo6SjkfciwxrWWqHdCauLOIPrn27/RbC8kJGG+ij6/lgqHa5K3m37vCaulAORQ0aPd9O2TFT/Bg3A4yRgyonpfORtezdi9fLTHqpBNKZdVhSbpAR/JnDwxoHXjtjQiwoEAqgrI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BQp156Fa; 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="BQp156Fa" Received: by smtp.kernel.org (Postfix) with ESMTPS id BA478C4CEF6; Wed, 9 Jul 2025 22:21:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1752099709; bh=vMk63BU6vPbeqFxykHtTw4kWX4uzQsf8eR4cINkk+II=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=BQp156FaVaIuhLwdDKT/s4ziB7FJaKv9qdeDnwAj8of0sp5+9DlNSqzSWm4kUB6a1 LB0wJd7jaijSGvTLWbFijHDySGHw9OpV04kAPd6EzzyvbqrHf5AWvVCl2wQiQ+0StO TDQFyukHn2jCiz7yXNeRxO4Xh1P93IEcgFj6AbLhPnpnaec6HwiNAGlJXTamv5Ndpr wBkTTv1a0XFx+OWDUA89ibH3hl87VObQFogiuJNGF9pW0q89X7+OrtoCeq9Uc4SdHQ nitePk+C/KMow9cAfTdO1JH1RFQlY4ZIKDtw7q/AUh1GWB/u2KPep62gDkjkE60Ruy y1ZG/AQnRzc1g== 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 AC5F2C83F18; Wed, 9 Jul 2025 22:21:49 +0000 (UTC) From: Sasha Finkelstein via B4 Relay Date: Thu, 10 Jul 2025 00:21:45 +0200 Subject: [PATCH v3 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: <20250710-sgx-dt-v3-2-299bb3a65109@gmail.com> References: <20250710-sgx-dt-v3-0-299bb3a65109@gmail.com> In-Reply-To: <20250710-sgx-dt-v3-0-299bb3a65109@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=1752099708; l=9228; i=fnkl.kernel@gmail.com; s=20241124; h=from:subject:message-id; bh=K6K14UmmEMDGmK5+9wuNs1Mi4fwHRoanhZcBO8g9SnA=; b=lGoxzSJqwgctVwWzlLIVAN1JTfGOcYn2TGjIbCwp8FjHilhP80NzOlPsQ1KiyqwZQ3qZd7y// XJUh3SYHIiLAlyuXqOC3zHsrWeQMRIDozJbiEB0a+qvI5Qb3vpa+T/V 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 Reviewed-by: Alyssa Rosenzweig Reviewed-by: Sven Peter Signed-off-by: Sasha Finkelstein --- 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..0ad77c98073fe65ddde7736acae= ce9acd5f3111e 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"; +}; diff --git a/arch/arm64/boot/dts/apple/t6001.dtsi b/arch/arm64/boot/dts/app= le/t6001.dtsi index d2cf81926f284ccf7627701cc82edff31d4d72d6..ffbe823b71bc8d9c0975524aa04= efa9bf520a89e 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-g13s"; +}; diff --git a/arch/arm64/boot/dts/apple/t6002.dtsi b/arch/arm64/boot/dts/app= le/t6002.dtsi index e36f422d257d8fe3a62bfa6e0f0e0dc6c34608a4..8fb648836b538bbd9efdccd6cec= 5d08d868a0d39 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-g13s"; +}; diff --git a/arch/arm64/boot/dts/apple/t600x-common.dtsi b/arch/arm64/boot/= dts/apple/t600x-common.dtsi index 87dfc13d74171f62bf3087401918d9d41eaac560..e20234ef213538f851d9da0dbd1= 1b318831668b1 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 { + status =3D "disabled"; + }; + + gpu_hw_cal_a: hw-cal-a { + status =3D "disabled"; + }; + + gpu_hw_cal_b: hw-cal-b { + status =3D "disabled"; + }; + + uat_handoff: uat-handoff { + status =3D "disabled"; + }; + + uat_pagetables: uat-pagetables { + status =3D "disabled"; + }; + + uat_ttbs: uat-ttbs { + status =3D "disabled"; + }; + }; }; diff --git a/arch/arm64/boot/dts/apple/t600x-die0.dtsi b/arch/arm64/boot/dt= s/apple/t600x-die0.dtsi index 110bc6719512e334e04b496fb157cb4368679957..341307330bfaa17b276d9c23a87= 931dbe71bd186 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-g13s"; + 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-abi =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..531cfcd463ae6d8701dec67cde8= c953b8865eef6 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 { + status =3D "disabled"; + }; + + gpu_hw_cal_a: hw-cal-a { + status =3D "disabled"; + }; + + gpu_hw_cal_b: hw-cal-b { + status =3D "disabled"; + }; + + uat_handoff: uat-handoff { + status =3D "disabled"; + }; + + uat_pagetables: uat-pagetables { + status =3D "disabled"; + }; + + uat_ttbs: uat-ttbs { + status =3D "disabled"; + }; + }; + 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-abi =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..b41b9f8fa122b13b9bf20dcb713= 5049e11e1819f 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 { + status =3D "disabled"; + }; + + gpu_hw_cal_a: hw-cal-a { + status =3D "disabled"; + }; + + gpu_hw_cal_b: hw-cal-b { + status =3D "disabled"; + }; + + uat_handoff: uat-handoff { + status =3D "disabled"; + }; + + uat_pagetables: uat-pagetables { + status =3D "disabled"; + }; + + uat_ttbs: uat-ttbs { + status =3D "disabled"; + }; + }; + 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-abi =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.50.1