1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/gpu/apple,agx.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Apple SoC GPU 8 9maintainers: 10 - Sasha Finkelstein <fnkl.kernel@gmail.com> 11 12properties: 13 compatible: 14 oneOf: 15 - enum: 16 - apple,agx-g13g 17 - apple,agx-g13s 18 - apple,agx-g14g 19 - apple,agx-g14s 20 - items: 21 - enum: 22 - apple,agx-g13c 23 - apple,agx-g13d 24 - const: apple,agx-g13s 25 - items: 26 - enum: 27 - apple,agx-g14c 28 - apple,agx-g14d 29 - const: apple,agx-g14s 30 31 reg: 32 items: 33 - description: GPU coprocessor control registers 34 - description: GPU block MMIO registers 35 36 reg-names: 37 items: 38 - const: asc 39 - const: sgx 40 41 power-domains: 42 maxItems: 1 43 44 mboxes: 45 maxItems: 1 46 47 memory-region: 48 items: 49 - description: Region containing GPU MMU TTBs 50 - description: Region containing GPU MMU page tables 51 - description: 52 Region containing a shared handoff structure for VM 53 management coordination 54 - description: Calibration blob. Mostly power-related configuration 55 - description: Calibration blob. Mostly GPU-related configuration 56 - description: Shared global variables with GPU firmware 57 58 memory-region-names: 59 items: 60 - const: ttbs 61 - const: pagetables 62 - const: handoff 63 - const: hw-cal-a 64 - const: hw-cal-b 65 - const: globals 66 67 apple,firmware-abi: 68 $ref: /schemas/types.yaml#/definitions/uint32-array 69 minItems: 3 70 description: 71 macOS version the current firmware is paired with, used to pick 72 the version of firmware ABI to be used. 73 Bootloader will overwrite this 74 75required: 76 - compatible 77 - reg 78 - mboxes 79 - memory-region 80 - apple,firmware-abi 81 82additionalProperties: false 83 84examples: 85 - | 86 gpu@6400000 { 87 compatible = "apple,agx-g13g"; 88 reg = <0x6400000 0x40000>, 89 <0x4000000 0x1000000>; 90 reg-names = "asc", "sgx"; 91 mboxes = <&agx_mbox>; 92 power-domains = <&ps_gfx>; 93 memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>, 94 <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>; 95 memory-region-names = "ttbs", "pagetables", "handoff", 96 "hw-cal-a", "hw-cal-b", "globals"; 97 98 apple,firmware-abi = <0 0 0>; 99 }; 100... 101