0001 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iommu/apple,sart.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Apple SART DMA address filter
0008
0009 maintainers:
0010 - Sven Peter <sven@svenpeter.dev>
0011
0012 description:
0013 Apple SART is a simple address filter for DMA transactions. Regions of
0014 physical memory must be added to the SART's allow list before any
0015 DMA can target these. Unlike a proper IOMMU no remapping can be done and
0016 special support in the consumer driver is required since not all DMA
0017 transactions of a single device are subject to SART filtering.
0018
0019 SART1 has first been used since at least the A11 (iPhone 8 and iPhone X)
0020 and allows 36 bit of physical address space and filter entries with sizes
0021 up to 24 bit.
0022
0023 SART2, first seen in A14 and M1, allows 36 bit of physical address space
0024 and filter entry size up to 36 bit.
0025
0026 SART3, first seen in M1 Pro/Max, extends both the address space and filter
0027 entry size to 42 bit.
0028
0029 properties:
0030 compatible:
0031 enum:
0032 - apple,t6000-sart
0033 - apple,t8103-sart
0034
0035 reg:
0036 maxItems: 1
0037
0038 power-domains:
0039 maxItems: 1
0040
0041 required:
0042 - compatible
0043 - reg
0044
0045 additionalProperties: false
0046
0047 examples:
0048 - |
0049 iommu@7bc50000 {
0050 compatible = "apple,t8103-sart";
0051 reg = <0x7bc50000 0x4000>;
0052 };