2022-05-01 07:55:07 -07:00
|
|
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
|
|
|
%YAML 1.2
|
|
|
|
---
|
|
|
|
$id: http://devicetree.org/schemas/iommu/apple,sart.yaml#
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
title: Apple SART DMA address filter
|
|
|
|
|
|
|
|
maintainers:
|
|
|
|
- Sven Peter <sven@svenpeter.dev>
|
|
|
|
|
|
|
|
description:
|
|
|
|
Apple SART is a simple address filter for DMA transactions. Regions of
|
|
|
|
physical memory must be added to the SART's allow list before any
|
|
|
|
DMA can target these. Unlike a proper IOMMU no remapping can be done and
|
|
|
|
special support in the consumer driver is required since not all DMA
|
|
|
|
transactions of a single device are subject to SART filtering.
|
|
|
|
|
|
|
|
SART1 has first been used since at least the A11 (iPhone 8 and iPhone X)
|
|
|
|
and allows 36 bit of physical address space and filter entries with sizes
|
|
|
|
up to 24 bit.
|
|
|
|
|
|
|
|
SART2, first seen in A14 and M1, allows 36 bit of physical address space
|
|
|
|
and filter entry size up to 36 bit.
|
|
|
|
|
|
|
|
SART3, first seen in M1 Pro/Max, extends both the address space and filter
|
|
|
|
entry size to 42 bit.
|
|
|
|
|
|
|
|
properties:
|
|
|
|
compatible:
|
2023-03-07 05:10:12 -07:00
|
|
|
oneOf:
|
|
|
|
- items:
|
|
|
|
- const: apple,t8112-sart
|
|
|
|
- const: apple,t6000-sart
|
|
|
|
- enum:
|
|
|
|
- apple,t6000-sart
|
|
|
|
- apple,t8103-sart
|
2022-05-01 07:55:07 -07:00
|
|
|
|
|
|
|
reg:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
power-domains:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
required:
|
|
|
|
- compatible
|
|
|
|
- reg
|
|
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
|
|
examples:
|
|
|
|
- |
|
|
|
|
iommu@7bc50000 {
|
|
|
|
compatible = "apple,t8103-sart";
|
|
|
|
reg = <0x7bc50000 0x4000>;
|
|
|
|
};
|