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