xref: /linux/Documentation/devicetree/bindings/gpu/apple,agx.yaml (revision 30bbcb44707a97fcb62246bebc8b413b5ab293f8)
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