xref: /linux/Documentation/devicetree/bindings/iommu/apple,sart.yaml (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iommu/apple,sart.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Apple SART DMA address filter
8
9maintainers:
10  - Sven Peter <sven@svenpeter.dev>
11
12description:
13  Apple SART is a simple address filter for DMA transactions. Regions of
14  physical memory must be added to the SART's allow list before any
15  DMA can target these. Unlike a proper IOMMU no remapping can be done and
16  special support in the consumer driver is required since not all DMA
17  transactions of a single device are subject to SART filtering.
18
19  SART1 has first been used since at least the A11 (iPhone 8 and iPhone X)
20  and allows 36 bit of physical address space and filter entries with sizes
21  up to 24 bit.
22
23  SART2, first seen in A14 and M1, allows 36 bit of physical address space
24  and filter entry size up to 36 bit.
25
26  SART3, first seen in M1 Pro/Max, extends both the address space and filter
27  entry size to 42 bit.
28
29properties:
30  compatible:
31    oneOf:
32      - items:
33          - enum:
34              - apple,t6020-sart
35              - apple,t8112-sart
36          - const: apple,t6000-sart
37      - enum:
38          - apple,t6000-sart
39          - apple,t8015-sart
40          - apple,t8103-sart
41
42  reg:
43    maxItems: 1
44
45  power-domains:
46    maxItems: 1
47
48required:
49  - compatible
50  - reg
51
52additionalProperties: false
53
54examples:
55  - |
56    iommu@7bc50000 {
57      compatible = "apple,t8103-sart";
58      reg = <0x7bc50000 0x4000>;
59    };
60