arm,smmu-v3.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. * ARM SMMUv3 Architecture Implementation
  2. The SMMUv3 architecture is a significant deparature from previous
  3. revisions, replacing the MMIO register interface with in-memory command
  4. and event queues and adding support for the ATS and PRI components of
  5. the PCIe specification.
  6. ** SMMUv3 required properties:
  7. - compatible : Should include:
  8. * "arm,smmu-v3" for any SMMUv3 compliant
  9. implementation. This entry should be last in the
  10. compatible list.
  11. - reg : Base address and size of the SMMU.
  12. - interrupts : Non-secure interrupt list describing the wired
  13. interrupt sources corresponding to entries in
  14. interrupt-names. If no wired interrupts are
  15. present then this property may be omitted.
  16. - interrupt-names : When the interrupts property is present, should
  17. include the following:
  18. * "eventq" - Event Queue not empty
  19. * "priq" - PRI Queue not empty
  20. * "cmdq-sync" - CMD_SYNC complete
  21. * "gerror" - Global Error activated
  22. ** SMMUv3 optional properties:
  23. - dma-coherent : Present if DMA operations made by the SMMU (page
  24. table walks, stream table accesses etc) are cache
  25. coherent with the CPU.
  26. NOTE: this only applies to the SMMU itself, not
  27. masters connected upstream of the SMMU.
  28. - msi-parent : See the generic MSI binding described in
  29. devicetree/bindings/interrupt-controller/msi.txt
  30. for a description of the msi-parent property.
  31. - hisilicon,broken-prefetch-cmd
  32. : Avoid sending CMD_PREFETCH_* commands to the SMMU.
  33. ** Example
  34. smmu@2b400000 {
  35. compatible = "arm,smmu-v3";
  36. reg = <0x0 0x2b400000 0x0 0x20000>;
  37. interrupts = <GIC_SPI 74 IRQ_TYPE_EDGE_RISING>,
  38. <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>,
  39. <GIC_SPI 77 IRQ_TYPE_EDGE_RISING>,
  40. <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>;
  41. interrupt-names = "eventq", "priq", "cmdq-sync", "gerror";
  42. dma-coherent;
  43. #iommu-cells = <0>;
  44. msi-parent = <&its 0xff0000>;
  45. };