| # 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 <k@chaosmail.tech> | |
| 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>; | |
| }; | |
| ... |