]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: apple: Add Apple SoC GPU
authorSasha Finkelstein <fnkl.kernel@gmail.com>
Wed, 9 Jul 2025 22:21:45 +0000 (00:21 +0200)
committerSven Peter <sven@kernel.org>
Mon, 21 Jul 2025 15:22:10 +0000 (15:22 +0000)
Add device tree entries for GPUs in M-series SoCs

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Sven Peter <sven@kernel.org>
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
Link: https://lore.kernel.org/r/20250710-sgx-dt-v3-2-299bb3a65109@gmail.com
Signed-off-by: Sven Peter <sven@kernel.org>
arch/arm64/boot/dts/apple/t6000.dtsi
arch/arm64/boot/dts/apple/t6001.dtsi
arch/arm64/boot/dts/apple/t6002.dtsi
arch/arm64/boot/dts/apple/t600x-common.dtsi
arch/arm64/boot/dts/apple/t600x-die0.dtsi
arch/arm64/boot/dts/apple/t8103.dtsi
arch/arm64/boot/dts/apple/t8112.dtsi

index 89c3b211b116e96ee0a5ea0c923c3ab824008307..0ad77c98073fe65ddde7736acaece9acd5f3111e 100644 (file)
@@ -16,3 +16,7 @@
 };
 
 /delete-node/ &pmgr_south;
+
+&gpu {
+       compatible = "apple,agx-g13s";
+};
index d2cf81926f284ccf7627701cc82edff31d4d72d6..ffbe823b71bc8d9c0975524aa04efa9bf520a89e 100644 (file)
@@ -62,3 +62,7 @@
                };
        };
 };
+
+&gpu {
+       compatible = "apple,agx-g13c", "apple,agx-g13s";
+};
index e36f422d257d8fe3a62bfa6e0f0e0dc6c34608a4..8fb648836b538bbd9efdccd6cec5d08d868a0d39 100644 (file)
        // On t6002, the die0 GPU power domain needs both AFR power domains
        power-domains = <&ps_afr>, <&ps_afr_die1>;
 };
+
+&gpu {
+       compatible = "apple,agx-g13d", "apple,agx-g13s";
+};
index 87dfc13d74171f62bf3087401918d9d41eaac560..e20234ef213538f851d9da0dbd11b318831668b1 100644 (file)
        #address-cells = <2>;
        #size-cells = <2>;
 
+       aliases {
+               gpu = &gpu;
+       };
+
        cpus {
                #address-cells = <2>;
                #size-cells = <0>;
                #clock-cells = <0>;
                clock-output-names = "nco_ref";
        };
+
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               gpu_globals: globals {
+                       status = "disabled";
+               };
+
+               gpu_hw_cal_a: hw-cal-a {
+                       status = "disabled";
+               };
+
+               gpu_hw_cal_b: hw-cal-b {
+                       status = "disabled";
+               };
+
+               uat_handoff: uat-handoff {
+                       status = "disabled";
+               };
+
+               uat_pagetables: uat-pagetables {
+                       status = "disabled";
+               };
+
+               uat_ttbs: uat-ttbs {
+                       status = "disabled";
+               };
+       };
 };
index 17ad9328baa14de66ff0f0fdf9e26b3f4a80524a..1563b3ce1ff67b51ab576d79246b0bf5668b85bd 100644 (file)
                #sound-dai-cells = <1>;
        };
 
+       gpu: gpu@406400000 {
+               compatible = "apple,agx-g13s";
+               reg = <0x4 0x6400000 0 0x40000>,
+                       <0x4 0x4000000 0 0x1000000>;
+               reg-names = "asc", "sgx";
+               mboxes = <&agx_mbox>;
+               power-domains = <&ps_gfx>;
+               memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
+                               <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
+               memory-region-names = "ttbs", "pagetables", "handoff",
+                                     "hw-cal-a", "hw-cal-b", "globals";
+
+               apple,firmware-abi = <0 0 0>;
+       };
+
+       agx_mbox: mbox@406408000 {
+               compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
+               reg = <0x4 0x6408000 0x0 0x4000>;
+               interrupt-parent = <&aic>;
+               interrupts = <AIC_IRQ 0 1059 IRQ_TYPE_LEVEL_HIGH>,
+                       <AIC_IRQ 0 1060 IRQ_TYPE_LEVEL_HIGH>,
+                       <AIC_IRQ 0 1061 IRQ_TYPE_LEVEL_HIGH>,
+                       <AIC_IRQ 0 1062 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "send-empty", "send-not-empty",
+                       "recv-empty", "recv-not-empty";
+               #mbox-cells = <0>;
+       };
+
        pcie0_dart_0: iommu@581008000 {
                compatible = "apple,t6000-dart";
                reg = <0x5 0x81008000 0x0 0x4000>;
index 76bab19f99c89d5c0a025fb313b53bac1f703bc9..f7b41c6920859bfac5c0b74deb09a2d13340c64a 100644 (file)
        #address-cells = <2>;
        #size-cells = <2>;
 
+       aliases {
+               gpu = &gpu;
+       };
+
        cpus {
                #address-cells = <2>;
                #size-cells = <0>;
                clock-output-names = "nco_ref";
        };
 
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               gpu_globals: globals {
+                       status = "disabled";
+               };
+
+               gpu_hw_cal_a: hw-cal-a {
+                       status = "disabled";
+               };
+
+               gpu_hw_cal_b: hw-cal-b {
+                       status = "disabled";
+               };
+
+               uat_handoff: uat-handoff {
+                       status = "disabled";
+               };
+
+               uat_pagetables: uat-pagetables {
+                       status = "disabled";
+               };
+
+               uat_ttbs: uat-ttbs {
+                       status = "disabled";
+               };
+       };
+
        soc {
                compatible = "simple-bus";
                #address-cells = <2>;
                ranges;
                nonposted-mmio;
 
+               gpu: gpu@206400000 {
+                       compatible = "apple,agx-g13g";
+                       reg = <0x2 0x6400000 0 0x40000>,
+                               <0x2 0x4000000 0 0x1000000>;
+                       reg-names = "asc", "sgx";
+                       mboxes = <&agx_mbox>;
+                       power-domains = <&ps_gfx>;
+                       memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
+                                       <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
+                       memory-region-names = "ttbs", "pagetables", "handoff",
+                                             "hw-cal-a", "hw-cal-b", "globals";
+
+                       apple,firmware-abi = <0 0 0>;
+               };
+
+               agx_mbox: mbox@206408000 {
+                       compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
+                       reg = <0x2 0x6408000 0x0 0x4000>;
+                       interrupt-parent = <&aic>;
+                       interrupts = <AIC_IRQ 575 IRQ_TYPE_LEVEL_HIGH>,
+                               <AIC_IRQ 576 IRQ_TYPE_LEVEL_HIGH>,
+                               <AIC_IRQ 577 IRQ_TYPE_LEVEL_HIGH>,
+                               <AIC_IRQ 578 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "send-empty", "send-not-empty",
+                               "recv-empty", "recv-not-empty";
+                       #mbox-cells = <0>;
+               };
+
                cpufreq_e: performance-controller@210e20000 {
                        compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
                        reg = <0x2 0x10e20000 0 0x1000>;
index a27e2312b0c73d5352a80dd050c7b314786add4a..d91dbeb55f717adb7c59c785fc1a56366c6b8584 100644 (file)
        #address-cells = <2>;
        #size-cells = <2>;
 
+       aliases {
+               gpu = &gpu;
+       };
+
        cpus {
                #address-cells = <2>;
                #size-cells = <0>;
                clock-output-names = "nco_ref";
        };
 
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               gpu_globals: globals {
+                       status = "disabled";
+               };
+
+               gpu_hw_cal_a: hw-cal-a {
+                       status = "disabled";
+               };
+
+               gpu_hw_cal_b: hw-cal-b {
+                       status = "disabled";
+               };
+
+               uat_handoff: uat-handoff {
+                       status = "disabled";
+               };
+
+               uat_pagetables: uat-pagetables {
+                       status = "disabled";
+               };
+
+               uat_ttbs: uat-ttbs {
+                       status = "disabled";
+               };
+       };
+
        soc {
                compatible = "simple-bus";
                #address-cells = <2>;
                ranges;
                nonposted-mmio;
 
+               gpu: gpu@206400000 {
+                       compatible = "apple,agx-g14g";
+                       reg = <0x2 0x6400000 0 0x40000>,
+                               <0x2 0x4000000 0 0x1000000>;
+                       reg-names = "asc", "sgx";
+                       mboxes = <&agx_mbox>;
+                       power-domains = <&ps_gfx>;
+                       memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
+                                       <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
+                       memory-region-names = "ttbs", "pagetables", "handoff",
+                                             "hw-cal-a", "hw-cal-b", "globals";
+
+                       apple,firmware-abi = <0 0 0>;
+               };
+
+               agx_mbox: mbox@206408000 {
+                       compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
+                       reg = <0x2 0x6408000 0x0 0x4000>;
+                       interrupt-parent = <&aic>;
+                       interrupts = <AIC_IRQ 709 IRQ_TYPE_LEVEL_HIGH>,
+                               <AIC_IRQ 710 IRQ_TYPE_LEVEL_HIGH>,
+                               <AIC_IRQ 711 IRQ_TYPE_LEVEL_HIGH>,
+                               <AIC_IRQ 712 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "send-empty", "send-not-empty",
+                               "recv-empty", "recv-not-empty";
+                       #mbox-cells = <0>;
+               };
+
                cpufreq_e: cpufreq@210e20000 {
                        compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq";
                        reg = <0x2 0x10e20000 0 0x1000>;