From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 15BFD28C862; Fri, 13 Jun 2025 21:17:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749849433; cv=none; b=DlNvFOXZ/BwvFipz7Exe8PyU+G3eoGalRWoZdi4OwFIFSycFxRuivmz9sOBFhpzcAMdZqETVkVAZa3fXruCMvWF+PQ/wXSPY1JD6meFrG5N8MgC4LID01ojOS2UWAK3J8zkNjBDFQgprwA+XPsm2J7s78swaGqUegCRn2S8n/f4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749849433; c=relaxed/simple; bh=QZrUX6qLPma6r2q9zM5C/BtmOqxPggrx08ycD2emiA8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sa7j7pd51TS0HjTJtCqH7/1vetFstJy/rX5f0OSAmRgwRBq1xrld4AFJ8FKYLuhbMfJn4kfxb6nldenwmz7Bbxd/KdMzejqpRLekF6pfexeDWaUjj0duWvHN4Pz61SqF4YFUA/55MAg0vsNUWT3hEWB5r11V9N213gmgT9d5LjQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QwdoRFt+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QwdoRFt+" Received: by smtp.kernel.org (Postfix) with ESMTPS id B31DDC4CEEF; Fri, 13 Jun 2025 21:17:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1749849432; bh=QZrUX6qLPma6r2q9zM5C/BtmOqxPggrx08ycD2emiA8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=QwdoRFt+1rKlEawYaPoCDXPd9etqGhgN7bT92XXnLx8aEBTnirS9/XGx0TVrMgb6E oJ7LrKzNpnvwkbi9oGXBVMxFgT2Cpt5KMEmx9lkc0szL31v428jFDl4LysWo5AnMb1 1+ZFAWEXtqZpQdvIGEIkgzuG9VuSE55wL6a0+/q+/fQbDhRhIXGR8bWaxQrgch0RbT oxdTmAzvVldybW+hbGjCI4EH5H4TWaodErFhiuz0p+Nr5gq3/bfj7q6G9JtJ8naJzo hcSkF/OBl4PEnNur8t9t+t+VykGT1hNyEVl7JZuyI5K/6+QEA8ve1WVkYc5H7Ch4cM ltk4RYkrIopcw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BD04C7114A; Fri, 13 Jun 2025 21:17:12 +0000 (UTC) From: Sasha Finkelstein via B4 Relay Date: Fri, 13 Jun 2025 23:17:07 +0200 Subject: [PATCH v2 1/2] dt-bindings: gpu: Add Apple SoC GPU Precedence: bulk X-Mailing-List: asahi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250613-sgx-dt-v2-1-fb2b7d1c3ff7@gmail.com> References: <20250613-sgx-dt-v2-0-fb2b7d1c3ff7@gmail.com> In-Reply-To: <20250613-sgx-dt-v2-0-fb2b7d1c3ff7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Sasha Finkelstein X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1749849431; l=3960; i=fnkl.kernel@gmail.com; s=20241124; h=from:subject:message-id; bh=3r2IVrL38qapDPG/5iQRSW6ZZ0cbJ6URhg9pEUW+SNk=; b=585Ssxh53I/dFrq96K6/8DikvQkcX8QUs4kakByC0QwcJeI3Cay2QQC7ddIkVHz7cE6h62nb4 74YGnDIWqUyBcdqSKyMVfb5tr56Nj9g+4hGiRc2a3ORETvj3DfAwSGm X-Developer-Key: i=fnkl.kernel@gmail.com; a=ed25519; pk=aSkp1PdZ+eF4jpMO6oLvz/YfT5XkBUneWwyhQrOgmsU= X-Endpoint-Received: by B4 Relay for fnkl.kernel@gmail.com/20241124 with auth_id=283 X-Original-From: Sasha Finkelstein Reply-To: fnkl.kernel@gmail.com From: Sasha Finkelstein Add bindings for the GPU present in Apple SoCs Signed-off-by: Sasha Finkelstein --- Documentation/devicetree/bindings/gpu/apple,agx.yaml | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 95 insertions(+) diff --git a/Documentation/devicetree/bindings/gpu/apple,agx.yaml b/Documentation/devicetree/bindings/gpu/apple,agx.yaml new file mode 100644 index 0000000000000000000000000000000000000000..51629b3833b0a8c296eaccdfd6d9eeef02a5bc63 --- /dev/null +++ b/Documentation/devicetree/bindings/gpu/apple,agx.yaml @@ -0,0 +1,94 @@ +# 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 + +properties: + compatible: + oneOf: + - enum: + - apple,agx-g13g + - apple,agx-g13s + - apple,agx-g14g + - items: + - enum: + - apple,agx-g13c + - apple,agx-g13d + - const: apple,agx-g13s + + 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>; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index a92290fffa163f9fe8fe3f04bf66426f9a894409..2a32c9c4ee355a1109a3e2031ea3663c39cc8c68 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2331,6 +2331,7 @@ F: Documentation/devicetree/bindings/arm/apple/* F: Documentation/devicetree/bindings/clock/apple,nco.yaml F: Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml F: Documentation/devicetree/bindings/dma/apple,admac.yaml +F: Documentation/devicetree/bindings/gpu/apple,agx.yaml F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml F: Documentation/devicetree/bindings/input/touchscreen/apple,z2-multitouch.yaml F: Documentation/devicetree/bindings/interrupt-controller/apple,* -- 2.49.0