On Mon, Jun 07, 2021 at 02:39:28PM -0500, Rob Herring wrote: > Convert the virtio-mmio binding to DT schema format. > > Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> > Cc: Jason Wang <jasowang@xxxxxxxxxx> > Cc: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> > Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > --- > Jean-Philippe, hopefully you are okay with being listed as the > maintainer here. You're the only active person that's touched this > binding. Sure, no problem. I can work on the conversion of virtio/iommu.txt as well, so I'll learn a bit more about the yaml syntax. Acked-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> > > .../devicetree/bindings/virtio/mmio.txt | 47 --------------- > .../devicetree/bindings/virtio/mmio.yaml | 60 +++++++++++++++++++ > 2 files changed, 60 insertions(+), 47 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/virtio/mmio.txt > create mode 100644 Documentation/devicetree/bindings/virtio/mmio.yaml > > diff --git a/Documentation/devicetree/bindings/virtio/mmio.txt b/Documentation/devicetree/bindings/virtio/mmio.txt > deleted file mode 100644 > index 0a575f329f6e..000000000000 > --- a/Documentation/devicetree/bindings/virtio/mmio.txt > +++ /dev/null > @@ -1,47 +0,0 @@ > -* virtio memory mapped device > - > -See https://ozlabs.org/~rusty/virtio-spec/ for more details. > - > -Required properties: > - > -- compatible: "virtio,mmio" compatibility string > -- reg: control registers base address and size including configuration space > -- interrupts: interrupt generated by the device > - > -Required properties for virtio-iommu: > - > -- #iommu-cells: When the node corresponds to a virtio-iommu device, it is > - linked to DMA masters using the "iommus" or "iommu-map" > - properties [1][2]. #iommu-cells specifies the size of the > - "iommus" property. For virtio-iommu #iommu-cells must be > - 1, each cell describing a single endpoint ID. > - > -Optional properties: > - > -- iommus: If the device accesses memory through an IOMMU, it should > - have an "iommus" property [1]. Since virtio-iommu itself > - does not access memory through an IOMMU, the "virtio,mmio" > - node cannot have both an "#iommu-cells" and an "iommus" > - property. > - > -Example: > - > - virtio_block@3000 { > - compatible = "virtio,mmio"; > - reg = <0x3000 0x100>; > - interrupts = <41>; > - > - /* Device has endpoint ID 23 */ > - iommus = <&viommu 23> > - } > - > - viommu: iommu@3100 { > - compatible = "virtio,mmio"; > - reg = <0x3100 0x100>; > - interrupts = <42>; > - > - #iommu-cells = <1> > - } > - > -[1] Documentation/devicetree/bindings/iommu/iommu.txt > -[2] Documentation/devicetree/bindings/pci/pci-iommu.txt > diff --git a/Documentation/devicetree/bindings/virtio/mmio.yaml b/Documentation/devicetree/bindings/virtio/mmio.yaml > new file mode 100644 > index 000000000000..444bfa24affc > --- /dev/null > +++ b/Documentation/devicetree/bindings/virtio/mmio.yaml > @@ -0,0 +1,60 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/virtio/mmio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: virtio memory mapped devices > + > +maintainers: > + - Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> > + > +description: > + See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for > + more details. > + > +properties: > + compatible: > + const: virtio-mmio > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + '#iommu-cells': > + description: Required when the node corresponds to a virtio-iommu device. > + const: 1 > + > + iommus: > + description: Required for devices making accesses thru an IOMMU. > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + virtio@3000 { > + compatible = "virtio,mmio"; > + reg = <0x3000 0x100>; > + interrupts = <41>; > + > + /* Device has endpoint ID 23 */ > + iommus = <&viommu 23>; > + }; > + > + viommu: iommu@3100 { > + compatible = "virtio,mmio"; > + reg = <0x3100 0x100>; > + interrupts = <42>; > + > + #iommu-cells = <1>; > + }; > + > +... > -- > 2.27.0 >