xref: /freebsd/sys/contrib/device-tree/Bindings/virtio/mmio.yaml (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/virtio/mmio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: virtio memory mapped devices
8
9maintainers:
10  - Jean-Philippe Brucker <jean-philippe@linaro.org>
11
12description:
13  See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for
14  more details.
15
16properties:
17  compatible:
18    const: virtio,mmio
19
20  reg:
21    maxItems: 1
22
23  dma-coherent: true
24
25  interrupts:
26    maxItems: 1
27
28  '#iommu-cells':
29    description: Required when the node corresponds to a virtio-iommu device.
30    const: 1
31
32  iommus:
33    description: Required for devices making accesses thru an IOMMU.
34    maxItems: 1
35
36  wakeup-source:
37    type: boolean
38    description: Required for setting irq of a virtio_mmio device as wakeup source.
39
40required:
41  - compatible
42  - reg
43  - interrupts
44
45additionalProperties:
46  type: object
47
48examples:
49  - |
50    virtio@3000 {
51        compatible = "virtio,mmio";
52        reg = <0x3000 0x100>;
53        interrupts = <41>;
54
55        /* Device has endpoint ID 23 */
56        iommus = <&viommu 23>;
57    };
58
59    viommu: iommu@3100 {
60        compatible = "virtio,mmio";
61        reg = <0x3100 0x100>;
62        interrupts = <42>;
63
64        #iommu-cells = <1>;
65    };
66
67...
68