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