apple,sart.yaml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. title: Apple SART DMA address filter
  7. maintainers:
  8. - Sven Peter <sven@svenpeter.dev>
  9. description:
  10. Apple SART is a simple address filter for DMA transactions. Regions of
  11. physical memory must be added to the SART's allow list before any
  12. DMA can target these. Unlike a proper IOMMU no remapping can be done and
  13. special support in the consumer driver is required since not all DMA
  14. transactions of a single device are subject to SART filtering.
  15. SART1 has first been used since at least the A11 (iPhone 8 and iPhone X)
  16. and allows 36 bit of physical address space and filter entries with sizes
  17. up to 24 bit.
  18. SART2, first seen in A14 and M1, allows 36 bit of physical address space
  19. and filter entry size up to 36 bit.
  20. SART3, first seen in M1 Pro/Max, extends both the address space and filter
  21. entry size to 42 bit.
  22. properties:
  23. compatible:
  24. oneOf:
  25. - items:
  26. - const: apple,t8112-sart
  27. - const: apple,t6000-sart
  28. - enum:
  29. - apple,t6000-sart
  30. - apple,t8103-sart
  31. reg:
  32. maxItems: 1
  33. power-domains:
  34. maxItems: 1
  35. required:
  36. - compatible
  37. - reg
  38. additionalProperties: false
  39. examples:
  40. - |
  41. iommu@7bc50000 {
  42. compatible = "apple,t8103-sart";
  43. reg = <0x7bc50000 0x4000>;
  44. };