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