* [PATCH 0/2] Bindings and DTS for Apple SoC GPUs @ 2025-06-11 17:32 Sasha Finkelstein via B4 Relay 2025-06-11 17:32 ` [PATCH 1/2] dt-bindings: Add Apple SoC GPU Sasha Finkelstein via B4 Relay ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: Sasha Finkelstein via B4 Relay @ 2025-06-11 17:32 UTC (permalink / raw) 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, linux-arm-kernel, dri-devel, devicetree, linux-kernel, Sasha Finkelstein Hi. This patch series adds the DT bindings and tree entries for the GPU present in Apple M-series SoCs. The driver itself is in Rust and upstream is currently missing several prerequisite bindings, so will be sent later. Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> --- Sasha Finkelstein (2): dt-bindings: Add Apple SoC GPU arm64: dts: Add Apple SoC GPU Documentation/devicetree/bindings/gpu/apple,agx.yaml | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MAINTAINERS | 1 + 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 294 insertions(+) --- base-commit: aef17cb3d3c43854002956f24c24ec8e1a0e3546 change-id: 20250531-sgx-dt-4a1ba1b3b20f Best regards, -- Sasha Finkelstein <fnkl.kernel@gmail.com> ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/2] dt-bindings: Add Apple SoC GPU 2025-06-11 17:32 [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Sasha Finkelstein via B4 Relay @ 2025-06-11 17:32 ` Sasha Finkelstein via B4 Relay 2025-06-11 17:52 ` Alyssa Rosenzweig ` (2 more replies) 2025-06-11 17:32 ` [PATCH 2/2] arm64: dts: " Sasha Finkelstein via B4 Relay 2025-06-11 17:42 ` [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Alyssa Rosenzweig 2 siblings, 3 replies; 15+ messages in thread From: Sasha Finkelstein via B4 Relay @ 2025-06-11 17:32 UTC (permalink / raw) 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, linux-arm-kernel, dri-devel, devicetree, linux-kernel, Sasha Finkelstein From: Sasha Finkelstein <fnkl.kernel@gmail.com> Add bindings for the GPU present in Apple SoCs Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> --- Documentation/devicetree/bindings/gpu/apple,agx.yaml | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 96 insertions(+) diff --git a/Documentation/devicetree/bindings/gpu/apple,agx.yaml b/Documentation/devicetree/bindings/gpu/apple,agx.yaml new file mode 100644 index 0000000000000000000000000000000000000000..23df3ebd689b1e885eb99ca573343fe7f2d09dc4 --- /dev/null +++ b/Documentation/devicetree/bindings/gpu/apple,agx.yaml @@ -0,0 +1,95 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpu/apple,agx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple SoC GPU + +maintainers: + - Sasha Finkelstein <fnkl.kernel@gmail.com> + +properties: + compatible: + oneOf: + - items: + - const: apple,agx-g13g + - items: + - enum: + - apple,agx-g13s + - apple,agx-g13c + - apple,agx-g13d + - const: apple,agx-g13x + - items: + - const: apple,agx-g14g + reg: + items: + - description: ASC coprocessor control + - description: GPU block MMIO registers + + reg-names: + items: + - const: asc + - const: sgx + + power-domains: + maxItems: 1 + + mboxes: + maxItems: 1 + + memory-region: + items: + - description: Region containing GPU MMU TTBs + - description: Region containing GPU MMU page tables + - description: + Region containing a shared handoff structure for VM + management coordination + - description: Driver-opaque calibration blob + - description: Calibration blob + - description: Shared global variables with GPU firmware + + memory-region-names: + items: + - const: ttbs + - const: pagetables + - const: handoff + - const: hw-cal-a + - const: hw-cal-b + - const: globals + + apple,firmware-compat: + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 3 + description: + MacOS version the current firmware is paired with, used to pick + the version of firmware ABI to be used. + Bootloader will overwrite this + +required: + - compatible + - reg + - mboxes + - memory-region + - apple,firmware-compat + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/apple-aic.h> + gpu@6400000 { + compatible = "apple,agx-g13g"; + reg = <0x6400000 0x40000>, + <0x4000000 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-compat = <0 0 0>; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index a92290fffa163f9fe8fe3f04bf66426f9a894409..2a32c9c4ee355a1109a3e2031ea3663c39cc8c68 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2331,6 +2331,7 @@ F: Documentation/devicetree/bindings/arm/apple/* F: Documentation/devicetree/bindings/clock/apple,nco.yaml F: Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml F: Documentation/devicetree/bindings/dma/apple,admac.yaml +F: Documentation/devicetree/bindings/gpu/apple,agx.yaml F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml F: Documentation/devicetree/bindings/input/touchscreen/apple,z2-multitouch.yaml F: Documentation/devicetree/bindings/interrupt-controller/apple,* -- 2.49.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: Add Apple SoC GPU 2025-06-11 17:32 ` [PATCH 1/2] dt-bindings: Add Apple SoC GPU Sasha Finkelstein via B4 Relay @ 2025-06-11 17:52 ` Alyssa Rosenzweig 2025-06-11 18:44 ` Sven Peter 2025-06-11 18:46 ` Rob Herring 2 siblings, 0 replies; 15+ messages in thread From: Alyssa Rosenzweig @ 2025-06-11 17:52 UTC (permalink / raw) To: fnkl.kernel Cc: Sven Peter, Janne Grunau, Neal Gompa, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley, asahi, linux-arm-kernel, dri-devel, devicetree, linux-kernel > + - description: Driver-opaque calibration blob > + - description: Calibration blob ... > + - const: hw-cal-a > + - const: hw-cal-b For me these descriptions raise more questions than what they're meant to describe... Maybe "First hardware calibration blob" and "Second hardware calibration blob" or something. I don't fully get why A is opaque and B is not, I don't think there's really such a distinction in reality. > + description: > + MacOS version the current firmware is paired with, used to pick macOS ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: Add Apple SoC GPU 2025-06-11 17:32 ` [PATCH 1/2] dt-bindings: Add Apple SoC GPU Sasha Finkelstein via B4 Relay 2025-06-11 17:52 ` Alyssa Rosenzweig @ 2025-06-11 18:44 ` Sven Peter 2025-06-11 19:06 ` Sasha Finkelstein 2025-06-11 18:46 ` Rob Herring 2 siblings, 1 reply; 15+ messages in thread From: Sven Peter @ 2025-06-11 18:44 UTC (permalink / raw) To: fnkl.kernel Cc: asahi, Maarten Lankhorst, Simona Vetter, David Airlie, Neal Gompa, Maxime Ripard, Conor Dooley, Krzysztof Kozlowski, Rob Herring, Thomas Zimmermann, Alyssa Rosenzweig, Janne Grunau, linux-arm-kernel, dri-devel, devicetree, linux-kernel Hi, I think there's a "gpu: " missing in the subject. On 11.06.25 19:32, Sasha Finkelstein via B4 Relay wrote: > From: Sasha Finkelstein <fnkl.kernel@gmail.com> > > Add bindings for the GPU present in Apple SoCs > > Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> > --- > Documentation/devicetree/bindings/gpu/apple,agx.yaml | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 96 insertions(+) > > diff --git a/Documentation/devicetree/bindings/gpu/apple,agx.yaml b/Documentation/devicetree/bindings/gpu/apple,agx.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..23df3ebd689b1e885eb99ca573343fe7f2d09dc4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpu/apple,agx.yaml > @@ -0,0 +1,95 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpu/apple,agx.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Apple SoC GPU > + > +maintainers: > + - Sasha Finkelstein <fnkl.kernel@gmail.com> > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: apple,agx-g13g > + - items: > + - enum: > + - apple,agx-g13s > + - apple,agx-g13c > + - apple,agx-g13d > + - const: apple,agx-g13x > + - items: > + - const: apple,agx-g14g > + reg: > + items: > + - description: ASC coprocessor control Apple calls these co-processors ASC but I'm not sure that's really helpful to describe them. Maybe just "GPU coprocessor control registers"? > + - description: GPU block MMIO registers > + > + reg-names: > + items: > + - const: asc > + - const: sgx > + > + power-domains: > + maxItems: 1 > + > + mboxes: > + maxItems: 1 > + > + memory-region: > + items: > + - description: Region containing GPU MMU TTBs > + - description: Region containing GPU MMU page tables > + - description: > + Region containing a shared handoff structure for VM > + management coordination > + - description: Driver-opaque calibration blob > + - description: Calibration blob Like Alyssa mentioned, this description also raises more questions than it answers for me. Do we know what these two blobs contain or why they are two separate blobs? > + - description: Shared global variables with GPU firmware > + > + memory-region-names: > + items: > + - const: ttbs > + - const: pagetables > + - const: handoff > + - const: hw-cal-a > + - const: hw-cal-b > + - const: globals > + > + apple,firmware-compat: Nit: I'd prefer something like apple,firmware-abi here. > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 3 > + description: > + MacOS version the current firmware is paired with, used to pick > + the version of firmware ABI to be used. > + Bootloader will overwrite this > + > +required: > + - compatible > + - reg > + - mboxes > + - memory-region > + - apple,firmware-compat > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/apple-aic.h> No need for the include for this example. > + gpu@6400000 { > + compatible = "apple,agx-g13g"; > + reg = <0x6400000 0x40000>, > + <0x4000000 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-compat = <0 0 0>; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index a92290fffa163f9fe8fe3f04bf66426f9a894409..2a32c9c4ee355a1109a3e2031ea3663c39cc8c68 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -2331,6 +2331,7 @@ F: Documentation/devicetree/bindings/arm/apple/* > F: Documentation/devicetree/bindings/clock/apple,nco.yaml > F: Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml > F: Documentation/devicetree/bindings/dma/apple,admac.yaml > +F: Documentation/devicetree/bindings/gpu/apple,agx.yaml > F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml > F: Documentation/devicetree/bindings/input/touchscreen/apple,z2-multitouch.yaml > F: Documentation/devicetree/bindings/interrupt-controller/apple,* > Best, Sven ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: Add Apple SoC GPU 2025-06-11 18:44 ` Sven Peter @ 2025-06-11 19:06 ` Sasha Finkelstein 2025-06-11 19:17 ` Sven Peter 0 siblings, 1 reply; 15+ messages in thread From: Sasha Finkelstein @ 2025-06-11 19:06 UTC (permalink / raw) To: Sven Peter Cc: asahi, Maarten Lankhorst, Simona Vetter, David Airlie, Neal Gompa, Maxime Ripard, Conor Dooley, Krzysztof Kozlowski, Rob Herring, Thomas Zimmermann, Alyssa Rosenzweig, Janne Grunau, linux-arm-kernel, dri-devel, devicetree, linux-kernel On Wed, 11 Jun 2025 at 20:44, Sven Peter <sven@kernel.org> wrote: > > + - description: Driver-opaque calibration blob > > + - description: Calibration blob > > Like Alyssa mentioned, this description also raises more questions than > it answers for me. Do we know what these two blobs contain or why they > are two separate blobs? At some point in the gpu initialization process we give the firmware a bag of pointers to various stuff it needs. HwCalA and HwCalB are separate pointers, and they use separate gpu allocations. We do not fully know what is in there, but we know what some of the fields do and how to create the blobs based on data from apple device tree. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: Add Apple SoC GPU 2025-06-11 19:06 ` Sasha Finkelstein @ 2025-06-11 19:17 ` Sven Peter 0 siblings, 0 replies; 15+ messages in thread From: Sven Peter @ 2025-06-11 19:17 UTC (permalink / raw) To: Sasha Finkelstein Cc: asahi, Maarten Lankhorst, Simona Vetter, David Airlie, Neal Gompa, Maxime Ripard, Conor Dooley, Krzysztof Kozlowski, Rob Herring, Thomas Zimmermann, Alyssa Rosenzweig, Janne Grunau, linux-arm-kernel, dri-devel, devicetree, linux-kernel On 11.06.25 21:06, Sasha Finkelstein wrote: > On Wed, 11 Jun 2025 at 20:44, Sven Peter <sven@kernel.org> wrote: >>> + - description: Driver-opaque calibration blob >>> + - description: Calibration blob >> >> Like Alyssa mentioned, this description also raises more questions than >> it answers for me. Do we know what these two blobs contain or why they >> are two separate blobs? > > At some point in the gpu initialization process we give the firmware a bag > of pointers to various stuff it needs. HwCalA and HwCalB are separate > pointers, and they use separate gpu allocations. We do not fully know > what is in there, but we know what some of the fields do and how to > create the blobs based on data from apple device tree. I looked at the driver itself and there are two comments related to these: HwDataA: This mostly contains power-related configuration. HwDataB: This mostly contains GPU-related configuration. Are they still accurate our just outdated leftovers from an early version? If they're accurate I'd include them in the description here as well. Best, Sven ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: Add Apple SoC GPU 2025-06-11 17:32 ` [PATCH 1/2] dt-bindings: Add Apple SoC GPU Sasha Finkelstein via B4 Relay 2025-06-11 17:52 ` Alyssa Rosenzweig 2025-06-11 18:44 ` Sven Peter @ 2025-06-11 18:46 ` Rob Herring 2025-06-11 19:18 ` Alyssa Rosenzweig 2 siblings, 1 reply; 15+ messages in thread From: Rob Herring @ 2025-06-11 18:46 UTC (permalink / raw) To: fnkl.kernel Cc: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Neal Gompa, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Krzysztof Kozlowski, Conor Dooley, asahi, linux-arm-kernel, dri-devel, devicetree, linux-kernel On Wed, Jun 11, 2025 at 12:32 PM Sasha Finkelstein via B4 Relay <devnull+fnkl.kernel.gmail.com@kernel.org> wrote: > > From: Sasha Finkelstein <fnkl.kernel@gmail.com> > > Add bindings for the GPU present in Apple SoCs > > Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> > --- > Documentation/devicetree/bindings/gpu/apple,agx.yaml | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 96 insertions(+) > > diff --git a/Documentation/devicetree/bindings/gpu/apple,agx.yaml b/Documentation/devicetree/bindings/gpu/apple,agx.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..23df3ebd689b1e885eb99ca573343fe7f2d09dc4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpu/apple,agx.yaml > @@ -0,0 +1,95 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpu/apple,agx.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Apple SoC GPU > + > +maintainers: > + - Sasha Finkelstein <fnkl.kernel@gmail.com> > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: apple,agx-g13g > + - items: > + - enum: > + - apple,agx-g13s > + - apple,agx-g13c > + - apple,agx-g13d > + - const: apple,agx-g13x I'm assuming the 'x' is a wildcard. The preferred thing to do make one of the 3 actual devices the fallback. Typically, the oldest one is used. > + - items: > + - const: apple,agx-g14g This and the 1st entry can be a single enum. > + reg: > + items: > + - description: ASC coprocessor control > + - description: GPU block MMIO registers Seems odd that the main GPU registers are not first in the list, but either way is fine. > + > + reg-names: > + items: > + - const: asc > + - const: sgx > + > + power-domains: > + maxItems: 1 > + > + mboxes: > + maxItems: 1 > + > + memory-region: > + items: > + - description: Region containing GPU MMU TTBs > + - description: Region containing GPU MMU page tables > + - description: > + Region containing a shared handoff structure for VM > + management coordination > + - description: Driver-opaque calibration blob > + - description: Calibration blob > + - description: Shared global variables with GPU firmware > + > + memory-region-names: > + items: > + - const: ttbs > + - const: pagetables > + - const: handoff > + - const: hw-cal-a > + - const: hw-cal-b > + - const: globals > + > + apple,firmware-compat: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 3 > + description: > + MacOS version the current firmware is paired with, used to pick > + the version of firmware ABI to be used. > + Bootloader will overwrite this > + > +required: > + - compatible > + - reg > + - mboxes > + - memory-region > + - apple,firmware-compat > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/apple-aic.h> > + gpu@6400000 { > + compatible = "apple,agx-g13g"; > + reg = <0x6400000 0x40000>, > + <0x4000000 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-compat = <0 0 0>; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index a92290fffa163f9fe8fe3f04bf66426f9a894409..2a32c9c4ee355a1109a3e2031ea3663c39cc8c68 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -2331,6 +2331,7 @@ F: Documentation/devicetree/bindings/arm/apple/* > F: Documentation/devicetree/bindings/clock/apple,nco.yaml > F: Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml > F: Documentation/devicetree/bindings/dma/apple,admac.yaml > +F: Documentation/devicetree/bindings/gpu/apple,agx.yaml > F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml > F: Documentation/devicetree/bindings/input/touchscreen/apple,z2-multitouch.yaml > F: Documentation/devicetree/bindings/interrupt-controller/apple,* > > -- > 2.49.0 > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: Add Apple SoC GPU 2025-06-11 18:46 ` Rob Herring @ 2025-06-11 19:18 ` Alyssa Rosenzweig 0 siblings, 0 replies; 15+ messages in thread From: Alyssa Rosenzweig @ 2025-06-11 19:18 UTC (permalink / raw) To: Rob Herring Cc: fnkl.kernel, Sven Peter, Janne Grunau, Neal Gompa, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Krzysztof Kozlowski, Conor Dooley, asahi, linux-arm-kernel, dri-devel, devicetree, linux-kernel > > + - apple,agx-g13s > > + - apple,agx-g13c > > + - apple,agx-g13d > > + - const: apple,agx-g13x > > I'm assuming the 'x' is a wildcard. The preferred thing to do make one > of the 3 actual devices the fallback. Typically, the oldest one is > used. Yeah, it's something of a family. G13X is an apple codename for these three chips. We can do `apple,agx-g13d, apple,agx-g13s` as the compatible list and omit the g13x compatible. I'm not sure if that's actually better since we'd continue to use the G13X naming in the driver itself but it's a minor point either way. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 2/2] arm64: dts: Add Apple SoC GPU 2025-06-11 17:32 [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Sasha Finkelstein via B4 Relay 2025-06-11 17:32 ` [PATCH 1/2] dt-bindings: Add Apple SoC GPU Sasha Finkelstein via B4 Relay @ 2025-06-11 17:32 ` Sasha Finkelstein via B4 Relay 2025-06-11 17:53 ` Alyssa Rosenzweig ` (2 more replies) 2025-06-11 17:42 ` [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Alyssa Rosenzweig 2 siblings, 3 replies; 15+ messages in thread From: Sasha Finkelstein via B4 Relay @ 2025-06-11 17:32 UTC (permalink / raw) 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, linux-arm-kernel, dri-devel, devicetree, linux-kernel, Sasha Finkelstein From: Sasha Finkelstein <fnkl.kernel@gmail.com> Add device tree entries for GPUs in M-series SoCs Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> --- 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/apple/t6000.dtsi index 89c3b211b116e96ee0a5ea0c923c3ab824008307..3b60842045d4c3277e9530a13ef2811774209697 100644 --- a/arch/arm64/boot/dts/apple/t6000.dtsi +++ b/arch/arm64/boot/dts/apple/t6000.dtsi @@ -16,3 +16,7 @@ / { }; /delete-node/ &pmgr_south; + +&gpu { + compatible = "apple,agx-g13s", "apple,agx-g13x"; +}; diff --git a/arch/arm64/boot/dts/apple/t6001.dtsi b/arch/arm64/boot/dts/apple/t6001.dtsi index d2cf81926f284ccf7627701cc82edff31d4d72d6..60c65ad8fabccc153aa98f4431dc11f7551eca77 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 = "apple,agx-g13c", "apple,agx-g13x"; +}; diff --git a/arch/arm64/boot/dts/apple/t6002.dtsi b/arch/arm64/boot/dts/apple/t6002.dtsi index e36f422d257d8fe3a62bfa6e0f0e0dc6c34608a4..501ca82f41827e4882683e583b6feaf25a34321d 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 = <&ps_afr>, <&ps_afr_die1>; }; + +&gpu { + compatible = "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..329bd084b63e3688547166a8d0c3d9ace5d6d937 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 = <2>; #size-cells = <2>; + aliases { + gpu = &gpu; + }; + cpus { #address-cells = <2>; #size-cells = <0>; @@ -378,4 +382,34 @@ nco_clkref: clock-ref-nco { #clock-cells = <0>; clock-output-names = "nco_ref"; }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + gpu_globals: globals { + reg = <0x0 0 0 0>; + }; + + gpu_hw_cal_a: hw-cal-a { + reg = <0x0 0 0 0>; + }; + + gpu_hw_cal_b: hw-cal-b { + reg = <0x0 0 0 0>; + }; + + uat_handoff: uat-handoff { + reg = <0x0 0 0 0>; + }; + + uat_pagetables: uat-pagetables { + reg = <0x0 0 0 0>; + }; + + uat_ttbs: uat-ttbs { + reg = <0x0 0 0 0>; + }; + }; }; diff --git a/arch/arm64/boot/dts/apple/t600x-die0.dtsi b/arch/arm64/boot/dts/apple/t600x-die0.dtsi index 110bc6719512e334e04b496fb157cb4368679957..140e0ebc0421881899f276b81f3d747ae67a8871 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 = <1>; }; + gpu: gpu@406400000 { + compatible = "apple,agx-g13x"; + 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-compat = <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>; diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi index 20faf0c0d80927b2e18dd966a61b5507b322c72f..eeaea35a89e2f2c7f8e04d95e22ed6cc0ec3d5c9 100644 --- a/arch/arm64/boot/dts/apple/t8103.dtsi +++ b/arch/arm64/boot/dts/apple/t8103.dtsi @@ -19,6 +19,10 @@ / { #address-cells = <2>; #size-cells = <2>; + aliases { + gpu = &gpu; + }; + cpus { #address-cells = <2>; #size-cells = <0>; @@ -351,6 +355,36 @@ nco_clkref: clock-ref-nco { clock-output-names = "nco_ref"; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + gpu_globals: globals { + reg = <0x0 0 0 0>; + }; + + gpu_hw_cal_a: hw-cal-a { + reg = <0x0 0 0 0>; + }; + + gpu_hw_cal_b: hw-cal-b { + reg = <0x0 0 0 0>; + }; + + uat_handoff: uat-handoff { + reg = <0x0 0 0 0>; + }; + + uat_pagetables: uat-pagetables { + reg = <0x0 0 0 0>; + }; + + uat_ttbs: uat-ttbs { + reg = <0x0 0 0 0>; + }; + }; + soc { compatible = "simple-bus"; #address-cells = <2>; @@ -359,6 +393,34 @@ soc { 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-compat = <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>; diff --git a/arch/arm64/boot/dts/apple/t8112.dtsi b/arch/arm64/boot/dts/apple/t8112.dtsi index e95711d8337f6cea898e88a3d564caf2c4f94404..b8fcfb6d93b27d4e314e706eb1f10eb58b15462b 100644 --- a/arch/arm64/boot/dts/apple/t8112.dtsi +++ b/arch/arm64/boot/dts/apple/t8112.dtsi @@ -19,6 +19,10 @@ / { #address-cells = <2>; #size-cells = <2>; + aliases { + gpu = &gpu; + }; + cpus { #address-cells = <2>; #size-cells = <0>; @@ -366,6 +370,36 @@ nco_clkref: clock-ref-nco { clock-output-names = "nco_ref"; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + gpu_globals: globals { + reg = <0x0 0 0 0>; + }; + + gpu_hw_cal_a: hw-cal-a { + reg = <0x0 0 0 0>; + }; + + gpu_hw_cal_b: hw-cal-b { + reg = <0x0 0 0 0>; + }; + + uat_handoff: uat-handoff { + reg = <0x0 0 0 0>; + }; + + uat_pagetables: uat-pagetables { + reg = <0x0 0 0 0>; + }; + + uat_ttbs: uat-ttbs { + reg = <0x0 0 0 0>; + }; + }; + soc { compatible = "simple-bus"; #address-cells = <2>; @@ -374,6 +408,34 @@ soc { 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-compat = <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>; -- 2.49.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: Add Apple SoC GPU 2025-06-11 17:32 ` [PATCH 2/2] arm64: dts: " Sasha Finkelstein via B4 Relay @ 2025-06-11 17:53 ` Alyssa Rosenzweig 2025-06-11 19:12 ` Sven Peter 2025-06-11 19:59 ` Janne Grunau 2 siblings, 0 replies; 15+ messages in thread From: Alyssa Rosenzweig @ 2025-06-11 17:53 UTC (permalink / raw) To: fnkl.kernel Cc: Sven Peter, Janne Grunau, Neal Gompa, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley, asahi, linux-arm-kernel, dri-devel, devicetree, linux-kernel Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: Add Apple SoC GPU 2025-06-11 17:32 ` [PATCH 2/2] arm64: dts: " Sasha Finkelstein via B4 Relay 2025-06-11 17:53 ` Alyssa Rosenzweig @ 2025-06-11 19:12 ` Sven Peter 2025-06-11 20:10 ` Janne Grunau 2025-06-11 19:59 ` Janne Grunau 2 siblings, 1 reply; 15+ messages in thread From: Sven Peter @ 2025-06-11 19:12 UTC (permalink / raw) To: fnkl.kernel Cc: asahi, Maarten Lankhorst, Neal Gompa, Alyssa Rosenzweig, Janne Grunau, linux-arm-kernel, Conor Dooley, Rob Herring, Maxime Ripard, dri-devel, Simona Vetter, David Airlie, devicetree, linux-kernel, Thomas Zimmermann, Krzysztof Kozlowski Hi, On 11.06.25 19:32, Sasha Finkelstein via B4 Relay wrote: > From: Sasha Finkelstein <fnkl.kernel@gmail.com> > > Add device tree entries for GPUs in M-series SoCs > > Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> > --- > 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/apple/t6000.dtsi > index 89c3b211b116e96ee0a5ea0c923c3ab824008307..3b60842045d4c3277e9530a13ef2811774209697 100644 > --- a/arch/arm64/boot/dts/apple/t6000.dtsi > +++ b/arch/arm64/boot/dts/apple/t6000.dtsi > @@ -16,3 +16,7 @@ / { > }; > [....] > }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + gpu_globals: globals { > + reg = <0x0 0 0 0>; > + }; > + > + gpu_hw_cal_a: hw-cal-a { > + reg = <0x0 0 0 0>; > + }; > + > + gpu_hw_cal_b: hw-cal-b { > + reg = <0x0 0 0 0>; > + }; > + > + uat_handoff: uat-handoff { > + reg = <0x0 0 0 0>; > + }; > + > + uat_pagetables: uat-pagetables { > + reg = <0x0 0 0 0>; > + }; > + > + uat_ttbs: uat-ttbs { > + reg = <0x0 0 0 0>; > + }; With W=1 this results in a bunch of new warnings like arch/arm64/boot/dts/apple/t600x-common.dtsi:391.24-394.5: Warning (unit_address_vs_reg): /reserved-memory/globals: node has a reg or ranges property, but no unit name but I'm not sure it's possible to fix that without making up fake addresses that then get overwritten here. Would be nice to fix this some other way but I'm not sure how and so far we don't enforce "no additional W=1 warnings", so: Reviewed-by: Sven Peter <sven@kernel.org> Best, Sven ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: Add Apple SoC GPU 2025-06-11 19:12 ` Sven Peter @ 2025-06-11 20:10 ` Janne Grunau 0 siblings, 0 replies; 15+ messages in thread From: Janne Grunau @ 2025-06-11 20:10 UTC (permalink / raw) To: Sven Peter Cc: fnkl.kernel, asahi, Maarten Lankhorst, Neal Gompa, Alyssa Rosenzweig, linux-arm-kernel, Conor Dooley, Rob Herring, Maxime Ripard, dri-devel, Simona Vetter, David Airlie, devicetree, linux-kernel, Thomas Zimmermann, Krzysztof Kozlowski On Wed, Jun 11, 2025 at 09:12:35PM +0200, Sven Peter wrote: > Hi, > > On 11.06.25 19:32, Sasha Finkelstein via B4 Relay wrote: > > From: Sasha Finkelstein <fnkl.kernel@gmail.com> > > > > Add device tree entries for GPUs in M-series SoCs > > > > Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> > > --- > > 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/apple/t6000.dtsi > > index 89c3b211b116e96ee0a5ea0c923c3ab824008307..3b60842045d4c3277e9530a13ef2811774209697 100644 > > --- a/arch/arm64/boot/dts/apple/t6000.dtsi > > +++ b/arch/arm64/boot/dts/apple/t6000.dtsi > > @@ -16,3 +16,7 @@ / { > > }; > > > > [....] > > > }; > > + > > + reserved-memory { > > + #address-cells = <2>; > > + #size-cells = <2>; > > + ranges; > > + > > + gpu_globals: globals { > > + reg = <0x0 0 0 0>; > > + }; > > + > > + gpu_hw_cal_a: hw-cal-a { > > + reg = <0x0 0 0 0>; > > + }; > > + > > + gpu_hw_cal_b: hw-cal-b { > > + reg = <0x0 0 0 0>; > > + }; > > + > > + uat_handoff: uat-handoff { > > + reg = <0x0 0 0 0>; > > + }; > > + > > + uat_pagetables: uat-pagetables { > > + reg = <0x0 0 0 0>; > > + }; > > + > > + uat_ttbs: uat-ttbs { > > + reg = <0x0 0 0 0>; > > + }; > > With W=1 this results in a bunch of new warnings like > > arch/arm64/boot/dts/apple/t600x-common.dtsi:391.24-394.5: Warning > (unit_address_vs_reg): /reserved-memory/globals: node has a reg or > ranges property, but no unit name > > but I'm not sure it's possible to fix that without making up fake > addresses that then get overwritten here. Would be nice to fix this some > other way but I'm not sure how and so far we don't enforce "no > additional W=1 warnings", so: warnings go away if the "uninitialized" reg property is removed. Since it will be filled by the bootloader fills those anyway we could use: | gpu_globals: globals { | /* bootloader static allocation */ | status = "disabled"; | } Janne ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: Add Apple SoC GPU 2025-06-11 17:32 ` [PATCH 2/2] arm64: dts: " Sasha Finkelstein via B4 Relay 2025-06-11 17:53 ` Alyssa Rosenzweig 2025-06-11 19:12 ` Sven Peter @ 2025-06-11 19:59 ` Janne Grunau 2 siblings, 0 replies; 15+ messages in thread From: Janne Grunau @ 2025-06-11 19:59 UTC (permalink / raw) To: fnkl.kernel Cc: Sven Peter, Alyssa Rosenzweig, Neal Gompa, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley, asahi, linux-arm-kernel, dri-devel, devicetree, linux-kernel On Wed, Jun 11, 2025 at 07:32:17PM +0200, Sasha Finkelstein via B4 Relay wrote: > From: Sasha Finkelstein <fnkl.kernel@gmail.com> > > Add device tree entries for GPUs in M-series SoCs > > Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> > --- > 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/t600x-common.dtsi b/arch/arm64/boot/dts/apple/t600x-common.dtsi > index 87dfc13d74171f62bf3087401918d9d41eaac560..329bd084b63e3688547166a8d0c3d9ace5d6d937 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 = <2>; > #size-cells = <2>; > > + aliases { > + gpu = &gpu; > + }; > + > cpus { > #address-cells = <2>; > #size-cells = <0>; > @@ -378,4 +382,34 @@ nco_clkref: clock-ref-nco { > #clock-cells = <0>; > clock-output-names = "nco_ref"; > }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + gpu_globals: globals { > + reg = <0x0 0 0 0>; all memory-regions with invalid address should be disabled. iirc the kernel and/or u-boot will try to map those which does not end well. Janne ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/2] Bindings and DTS for Apple SoC GPUs 2025-06-11 17:32 [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Sasha Finkelstein via B4 Relay 2025-06-11 17:32 ` [PATCH 1/2] dt-bindings: Add Apple SoC GPU Sasha Finkelstein via B4 Relay 2025-06-11 17:32 ` [PATCH 2/2] arm64: dts: " Sasha Finkelstein via B4 Relay @ 2025-06-11 17:42 ` Alyssa Rosenzweig 2025-06-11 17:48 ` Sasha Finkelstein 2 siblings, 1 reply; 15+ messages in thread From: Alyssa Rosenzweig @ 2025-06-11 17:42 UTC (permalink / raw) To: fnkl.kernel Cc: Sven Peter, Janne Grunau, Neal Gompa, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley, asahi, linux-arm-kernel, dri-devel, devicetree, linux-kernel > > This patch series adds the DT bindings and tree entries for the GPU > present in Apple M-series SoCs. The driver itself is in Rust and > upstream is currently missing several prerequisite bindings, so will > be sent later. It would be good to include links to the kernel + m1n1 branches that support this binding, since it's not what downstream ships. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/2] Bindings and DTS for Apple SoC GPUs 2025-06-11 17:42 ` [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Alyssa Rosenzweig @ 2025-06-11 17:48 ` Sasha Finkelstein 0 siblings, 0 replies; 15+ messages in thread From: Sasha Finkelstein @ 2025-06-11 17:48 UTC (permalink / raw) To: Alyssa Rosenzweig Cc: Sven Peter, Janne Grunau, Neal Gompa, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley, asahi, linux-arm-kernel, dri-devel, devicetree, linux-kernel On Wed, 11 Jun 2025 at 19:42, Alyssa Rosenzweig <alyssa@rosenzweig.io> wrote: > > It would be good to include links to the kernel + m1n1 branches that > support this binding, since it's not what downstream ships. Right, will add to cover message on v2. Kernel: https://github.com/WhatAmISupposedToPutHere/linux/tree/starlight m1n1 (the bootloader): https://github.com/WhatAmISupposedToPutHere/m1n1/tree/bootloader-cal-blobs ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-06-11 22:45 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-06-11 17:32 [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Sasha Finkelstein via B4 Relay 2025-06-11 17:32 ` [PATCH 1/2] dt-bindings: Add Apple SoC GPU Sasha Finkelstein via B4 Relay 2025-06-11 17:52 ` Alyssa Rosenzweig 2025-06-11 18:44 ` Sven Peter 2025-06-11 19:06 ` Sasha Finkelstein 2025-06-11 19:17 ` Sven Peter 2025-06-11 18:46 ` Rob Herring 2025-06-11 19:18 ` Alyssa Rosenzweig 2025-06-11 17:32 ` [PATCH 2/2] arm64: dts: " Sasha Finkelstein via B4 Relay 2025-06-11 17:53 ` Alyssa Rosenzweig 2025-06-11 19:12 ` Sven Peter 2025-06-11 20:10 ` Janne Grunau 2025-06-11 19:59 ` Janne Grunau 2025-06-11 17:42 ` [PATCH 0/2] Bindings and DTS for Apple SoC GPUs Alyssa Rosenzweig 2025-06-11 17:48 ` Sasha Finkelstein
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).