]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - Documentation/devicetree/bindings/virtio/mmio.txt
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[mirror_ubuntu-jammy-kernel.git] / Documentation / devicetree / bindings / virtio / mmio.txt
1 * virtio memory mapped device
2
3 See http://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