linux-loongson/Documentation/devicetree/bindings/gpu/apple,agx.yaml
Sasha Finkelstein f8c667edaf dt-bindings: gpu: Add Apple SoC GPU
Add bindings for the GPU present in Apple SoCs

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
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-1-299bb3a65109@gmail.com
Signed-off-by: Sven Peter <sven@kernel.org>
2025-07-21 15:22:02 +00:00

95 lines
2.3 KiB
YAML

# 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:
- enum:
- apple,agx-g13g
- apple,agx-g13s
- apple,agx-g14g
- items:
- enum:
- apple,agx-g13c
- apple,agx-g13d
- const: apple,agx-g13s
reg:
items:
- description: 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: Calibration blob. Mostly power-related configuration
- description: Calibration blob. Mostly GPU-related configuration
- 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-abi:
$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-abi
additionalProperties: false
examples:
- |
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-abi = <0 0 0>;
};
...