# 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 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>; }; ...