| # 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 |
| - apple,agx-g14s |
| - items: |
| - enum: |
| - apple,agx-g13c |
| - apple,agx-g13d |
| - const: apple,agx-g13s |
| - items: |
| - enum: |
| - apple,agx-g14c |
| - apple,agx-g14d |
| - const: apple,agx-g14s |
| |
| 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>; |
| }; |
| ... |