GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / virtio / mmio.yaml
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
7 title: virtio memory mapped devices
8
9 maintainers:
10   - Jean-Philippe Brucker <jean-philippe@linaro.org>
11
12 description:
13   See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for
14   more details.
15
16 properties:
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
40 required:
41   - compatible
42   - reg
43   - interrupts
44
45 additionalProperties:
46   type: object
47
48 examples:
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 ...