| 
     1 * virtio memory mapped device
    2 
    3 See https://ozlabs.org/~rusty/virtio-spec/ for more details.
    4 
    5 Required properties:
    6 
    7 - compatible:   "virtio,mmio" compatibility string
    8 - reg:          control registers base address and size including configuration space
    9 - interrupts:   interrupt generated by the device
   10 
   11 Required properties for virtio-iommu:
   12 
   13 - #iommu-cells: When the node corresponds to a virtio-iommu device, it is
   14                 linked to DMA masters using the "iommus" or "iommu-map"
   15                 properties [1][2]. #iommu-cells specifies the size of the
   16                 "iommus" property. For virtio-iommu #iommu-cells must be
   17                 1, each cell describing a single endpoint ID.
   18 
   19 Optional properties:
   20 
   21 - iommus:       If the device accesses memory through an IOMMU, it should
   22                 have an "iommus" property [1]. Since virtio-iommu itself
   23                 does not access memory through an IOMMU, the "virtio,mmio"
   24                 node cannot have both an "#iommu-cells" and an "iommus"
   25                 property.
   26 
   27 Example:
   28 
   29         virtio_block@3000 {
   30                 compatible = "virtio,mmio";
   31                 reg = <0x3000 0x100>;
   32                 interrupts = <41>;
   33 
   34                 /* Device has endpoint ID 23 */
   35                 iommus = <&viommu 23>
   36         }
   37 
   38         viommu: iommu@3100 {
   39                 compatible = "virtio,mmio";
   40                 reg = <0x3100 0x100>;
   41                 interrupts = <42>;
   42 
   43                 #iommu-cells = <1>
   44         }
   45 
   46 [1] Documentation/devicetree/bindings/iommu/iommu.txt
   47 [2] Documentation/devicetree/bindings/pci/pci-iommu.txt
Cache object: c39064b66134a571e49a0f90798490fd 
 
 |