apple,dart.yaml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/iommu/apple,dart.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Apple DART IOMMU
  7. maintainers:
  8. - Sven Peter <sven@svenpeter.dev>
  9. description: |+
  10. Apple SoCs may contain an implementation of their Device Address
  11. Resolution Table which provides a mandatory layer of address
  12. translations for various masters.
  13. Each DART instance is capable of handling up to 16 different streams
  14. with individual pagetables and page-level read/write protection flags.
  15. This DART IOMMU also raises interrupts in response to various
  16. fault conditions.
  17. properties:
  18. compatible:
  19. enum:
  20. - apple,t8103-dart
  21. - apple,t8103-usb4-dart
  22. - apple,t8110-dart
  23. - apple,t6000-dart
  24. reg:
  25. maxItems: 1
  26. interrupts:
  27. maxItems: 1
  28. clocks:
  29. description:
  30. Reference to the gate clock phandle if required for this IOMMU.
  31. Optional since not all IOMMUs are attached to a clock gate.
  32. '#iommu-cells':
  33. const: 1
  34. description:
  35. Has to be one. The single cell describes the stream id emitted by
  36. a master to the IOMMU.
  37. power-domains:
  38. maxItems: 1
  39. required:
  40. - compatible
  41. - reg
  42. - '#iommu-cells'
  43. - interrupts
  44. additionalProperties: false
  45. examples:
  46. - |+
  47. dart1: iommu@82f80000 {
  48. compatible = "apple,t8103-dart";
  49. reg = <0x82f80000 0x4000>;
  50. interrupts = <1 781 4>;
  51. #iommu-cells = <1>;
  52. };
  53. master1 {
  54. iommus = <&dart1 0>;
  55. };
  56. - |+
  57. dart2a: iommu@82f00000 {
  58. compatible = "apple,t8103-dart";
  59. reg = <0x82f00000 0x4000>;
  60. interrupts = <1 781 4>;
  61. #iommu-cells = <1>;
  62. };
  63. dart2b: iommu@82f80000 {
  64. compatible = "apple,t8103-dart";
  65. reg = <0x82f80000 0x4000>;
  66. interrupts = <1 781 4>;
  67. #iommu-cells = <1>;
  68. };
  69. master2 {
  70. iommus = <&dart2a 0>, <&dart2b 1>;
  71. };