Skip to content

dt-bindings/arm64: apple: add Neural Engine hardware description - #584

Open
ctr49 wants to merge 5 commits into
AsahiLinux:bits/000-devicetreefrom
ctr49:ane-dts-v3
Open

dt-bindings/arm64: apple: add Neural Engine hardware description#584
ctr49 wants to merge 5 commits into
AsahiLinux:bits/000-devicetreefrom
ctr49:ane-dts-v3

Conversation

@ctr49

@ctr49 ctr49 commented Aug 29, 2026

Copy link
Copy Markdown

Summary

Add a DeviceTree binding and hardware descriptions for the Apple Neural
Engine (ANE) on T8103, T600x, T8112 and T602x SoCs.

The ANE is described as an NPU device connected to three Apple DART IOMMU
instances. The DARTs are modeled as normal IOMMU providers and referenced
through the ANE iommus property, rather than exposing DART resources
through the accelerator node.

This series contains only hardware description and does not depend on a
particular ANE driver implementation.

SoC support

  • T8103 / M1
  • T6000/T6001/T6002 / M1 Pro, Max and Ultra
  • T8112 / M2
  • T6020/T6021/T6022 / M2 Pro, Max and Ultra

For T600x, only the primary ANE is described. The existing PMGR description
already marks the second ANE power-domain path as disabled on shipping
hardware, so this series intentionally leaves it disabled.

The historical apple,always-on workaround used by earlier out-of-tree ANE
work is also intentionally not carried over.

Data provenance

The T8103 description is based on Eileen Yoon's earlier ANE work, referenced
from the corresponding commit.

T600x, T8112 and T602x register, interrupt and power-domain data are derived
from Apple DeviceTree data.

The T6020/H14G configuration has additionally been runtime-tested on M2 Max
hardware. T600x has not been runtime-tested as part of this series.

Testing

The following checks were run against the series:

make ARCH=arm64 \
  dt_binding_check \
  DT_SCHEMA_FILES=Documentation/devicetree/bindings/npu/apple,ane.yaml

make ARCH=arm64 \
  dtbs_check \
  DT_SCHEMA_FILES=Documentation/devicetree/bindings/npu/apple,ane.yaml

./scripts/checkpatch.pl --strict --git \
  71d72e6f41342d0afb45a530e333c8653ccf0d7e..HEAD

dt_binding_check and dtbs_check complete successfully.

checkpatch.pl --strict reports no errors or relevant checks.

ctr49 added 5 commits August 29, 2026 16:18
Document the Apple Neural Engine accelerator found in Apple SoCs. ANE
uses three DART IOMMU instances and either one or five power domains,
depending on the SoC generation.

Assisted-by: ChatGPT:GPT-5.6-Sol
Signed-off-by: Christian Tramnitz <christian@tramnitz.com>
Describe the T8103 Neural Engine and its three DART IOMMU instances,
along with the power domains required by the accelerator.

The register, interrupt and power-domain data are based on Eileen
Yoon's earlier T8103 ANE work. Represent the DARTs as normal IOMMU
providers instead of exposing their register windows through the ANE
node.

Link: eiln@6027c18
Assisted-by: ChatGPT:GPT-5.6-Sol
Signed-off-by: Christian Tramnitz <christian@tramnitz.com>
Describe the primary T600x Neural Engine and its three DART IOMMU
instances on each die. The register, interrupt and power-domain data
are derived from Apple DeviceTree data.

Do not enable the second ANE power-domain path, which is already marked
as disabled on shipping hardware in the existing PMGR description.

Assisted-by: ChatGPT:GPT-5.6-Sol
Signed-off-by: Christian Tramnitz <christian@tramnitz.com>
Describe the T8112 Neural Engine and its three DART IOMMU instances.
The register, interrupt and power-domain data are derived from Apple
DeviceTree data.

Assisted-by: ChatGPT:GPT-5.6-Sol
Signed-off-by: Christian Tramnitz <christian@tramnitz.com>
Describe the T602x Neural Engine and its three DART IOMMU instances.
The register, interrupt and power-domain data are derived from Apple
DeviceTree data and validated on hardware.

Assisted-by: ChatGPT:GPT-5.6-Sol
Signed-off-by: Christian Tramnitz <christian@tramnitz.com>
@WhatAmISupposedToPutHere

Copy link
Copy Markdown
Member

What is the purpose of this series if a driver is not included?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants