162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iommu/apple,sart.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Apple SART DMA address filter 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Sven Peter <sven@svenpeter.dev> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci Apple SART is a simple address filter for DMA transactions. Regions of 1462306a36Sopenharmony_ci physical memory must be added to the SART's allow list before any 1562306a36Sopenharmony_ci DMA can target these. Unlike a proper IOMMU no remapping can be done and 1662306a36Sopenharmony_ci special support in the consumer driver is required since not all DMA 1762306a36Sopenharmony_ci transactions of a single device are subject to SART filtering. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci SART1 has first been used since at least the A11 (iPhone 8 and iPhone X) 2062306a36Sopenharmony_ci and allows 36 bit of physical address space and filter entries with sizes 2162306a36Sopenharmony_ci up to 24 bit. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci SART2, first seen in A14 and M1, allows 36 bit of physical address space 2462306a36Sopenharmony_ci and filter entry size up to 36 bit. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci SART3, first seen in M1 Pro/Max, extends both the address space and filter 2762306a36Sopenharmony_ci entry size to 42 bit. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciproperties: 3062306a36Sopenharmony_ci compatible: 3162306a36Sopenharmony_ci oneOf: 3262306a36Sopenharmony_ci - items: 3362306a36Sopenharmony_ci - const: apple,t8112-sart 3462306a36Sopenharmony_ci - const: apple,t6000-sart 3562306a36Sopenharmony_ci - enum: 3662306a36Sopenharmony_ci - apple,t6000-sart 3762306a36Sopenharmony_ci - apple,t8103-sart 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci reg: 4062306a36Sopenharmony_ci maxItems: 1 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci power-domains: 4362306a36Sopenharmony_ci maxItems: 1 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_cirequired: 4662306a36Sopenharmony_ci - compatible 4762306a36Sopenharmony_ci - reg 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciadditionalProperties: false 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciexamples: 5262306a36Sopenharmony_ci - | 5362306a36Sopenharmony_ci iommu@7bc50000 { 5462306a36Sopenharmony_ci compatible = "apple,t8103-sart"; 5562306a36Sopenharmony_ci reg = <0x7bc50000 0x4000>; 5662306a36Sopenharmony_ci }; 57