xref: /freebsd-src/sys/contrib/device-tree/Bindings/virtio/mmio.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/virtio/mmio.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
75956d97fSEmmanuel Vadottitle: virtio memory mapped devices
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Jean-Philippe Brucker <jean-philippe@linaro.org>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel Vadotdescription:
135956d97fSEmmanuel Vadot  See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for
145956d97fSEmmanuel Vadot  more details.
155956d97fSEmmanuel Vadot
165956d97fSEmmanuel Vadotproperties:
175956d97fSEmmanuel Vadot  compatible:
185956d97fSEmmanuel Vadot    const: virtio,mmio
195956d97fSEmmanuel Vadot
205956d97fSEmmanuel Vadot  reg:
215956d97fSEmmanuel Vadot    maxItems: 1
225956d97fSEmmanuel Vadot
23c9ccf3a3SEmmanuel Vadot  dma-coherent: true
24c9ccf3a3SEmmanuel Vadot
255956d97fSEmmanuel Vadot  interrupts:
265956d97fSEmmanuel Vadot    maxItems: 1
275956d97fSEmmanuel Vadot
285956d97fSEmmanuel Vadot  '#iommu-cells':
295956d97fSEmmanuel Vadot    description: Required when the node corresponds to a virtio-iommu device.
305956d97fSEmmanuel Vadot    const: 1
315956d97fSEmmanuel Vadot
325956d97fSEmmanuel Vadot  iommus:
335956d97fSEmmanuel Vadot    description: Required for devices making accesses thru an IOMMU.
345956d97fSEmmanuel Vadot    maxItems: 1
355956d97fSEmmanuel Vadot
36*b97ee269SEmmanuel Vadot  wakeup-source:
37*b97ee269SEmmanuel Vadot    type: boolean
38*b97ee269SEmmanuel Vadot    description: Required for setting irq of a virtio_mmio device as wakeup source.
39*b97ee269SEmmanuel Vadot
405956d97fSEmmanuel Vadotrequired:
415956d97fSEmmanuel Vadot  - compatible
425956d97fSEmmanuel Vadot  - reg
435956d97fSEmmanuel Vadot  - interrupts
445956d97fSEmmanuel Vadot
45354d7675SEmmanuel VadotadditionalProperties:
46354d7675SEmmanuel Vadot  type: object
475956d97fSEmmanuel Vadot
485956d97fSEmmanuel Vadotexamples:
495956d97fSEmmanuel Vadot  - |
505956d97fSEmmanuel Vadot    virtio@3000 {
515956d97fSEmmanuel Vadot        compatible = "virtio,mmio";
525956d97fSEmmanuel Vadot        reg = <0x3000 0x100>;
535956d97fSEmmanuel Vadot        interrupts = <41>;
545956d97fSEmmanuel Vadot
555956d97fSEmmanuel Vadot        /* Device has endpoint ID 23 */
565956d97fSEmmanuel Vadot        iommus = <&viommu 23>;
575956d97fSEmmanuel Vadot    };
585956d97fSEmmanuel Vadot
595956d97fSEmmanuel Vadot    viommu: iommu@3100 {
605956d97fSEmmanuel Vadot        compatible = "virtio,mmio";
615956d97fSEmmanuel Vadot        reg = <0x3100 0x100>;
625956d97fSEmmanuel Vadot        interrupts = <42>;
635956d97fSEmmanuel Vadot
645956d97fSEmmanuel Vadot        #iommu-cells = <1>;
655956d97fSEmmanuel Vadot    };
665956d97fSEmmanuel Vadot
675956d97fSEmmanuel Vadot...
68