* virtio memory mapped device See http://ozlabs.org/~rusty/virtio-spec/ for more details. Required properties: - compatible: "virtio,mmio" compatibility string - reg: control registers base address and size including configuration space - interrupts: interrupt generated by the device Required properties for virtio-iommu: - #iommu-cells: When the node corresponds to a virtio-iommu device, it is linked to DMA masters using the "iommus" or "iommu-map" properties [1][2]. #iommu-cells specifies the size of the "iommus" property. For virtio-iommu #iommu-cells must be 1, each cell describing a single endpoint ID. Optional properties: - iommus: If the device accesses memory through an IOMMU, it should have an "iommus" property [1]. Since virtio-iommu itself does not access memory through an IOMMU, the "virtio,mmio" node cannot have both an "#iommu-cells" and an "iommus" property. Example: virtio_block@3000 { compatible = "virtio,mmio"; reg = <0x3000 0x100>; interrupts = <41>; /* Device has endpoint ID 23 */ iommus = <&viommu 23> } viommu: iommu@3100 { compatible = "virtio,mmio"; reg = <0x3100 0x100>; interrupts = <42>; #iommu-cells = <1> } [1] Documentation/devicetree/bindings/iommu/iommu.txt [2] Documentation/devicetree/bindings/pci/pci-iommu.txt