Rob Herring
2021-Jun-07 19:39 UTC
[PATCH] dt-bindings: virtio: Convert virtio-mmio to DT schema
Convert the virtio-mmio binding to DT schema format.
Cc: "Michael S. Tsirkin" <mst at redhat.com>
Cc: Jason Wang <jasowang at redhat.com>
Cc: Jean-Philippe Brucker <jean-philippe at linaro.org>
Cc: virtualization at lists.linux-foundation.org
Signed-off-by: Rob Herring <robh at kernel.org>
---
Jean-Philippe, hopefully you are okay with being listed as the
maintainer here. You're the only active person that's touched this
binding.
.../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 at 3000 {
- compatible = "virtio,mmio";
- reg = <0x3000 0x100>;
- interrupts = <41>;
-
- /* Device has endpoint ID 23 */
- iommus = <&viommu 23>
- }
-
- viommu: iommu at 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 at linaro.org>
+
+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 at 3000 {
+ compatible = "virtio,mmio";
+ reg = <0x3000 0x100>;
+ interrupts = <41>;
+
+ /* Device has endpoint ID 23 */
+ iommus = <&viommu 23>;
+ };
+
+ viommu: iommu at 3100 {
+ compatible = "virtio,mmio";
+ reg = <0x3100 0x100>;
+ interrupts = <42>;
+
+ #iommu-cells = <1>;
+ };
+
+...
--
2.27.0
Jean-Philippe Brucker
2021-Jun-08 07:37 UTC
[PATCH] dt-bindings: virtio: Convert virtio-mmio to DT schema
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 at redhat.com> > Cc: Jason Wang <jasowang at redhat.com> > Cc: Jean-Philippe Brucker <jean-philippe at linaro.org> > Cc: virtualization at lists.linux-foundation.org > Signed-off-by: Rob Herring <robh at kernel.org> > --- > 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 at linaro.org>> > .../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 at 3000 { > - compatible = "virtio,mmio"; > - reg = <0x3000 0x100>; > - interrupts = <41>; > - > - /* Device has endpoint ID 23 */ > - iommus = <&viommu 23> > - } > - > - viommu: iommu at 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 at linaro.org> > + > +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 at 3000 { > + compatible = "virtio,mmio"; > + reg = <0x3000 0x100>; > + interrupts = <41>; > + > + /* Device has endpoint ID 23 */ > + iommus = <&viommu 23>; > + }; > + > + viommu: iommu at 3100 { > + compatible = "virtio,mmio"; > + reg = <0x3100 0x100>; > + interrupts = <42>; > + > + #iommu-cells = <1>; > + }; > + > +... > -- > 2.27.0 >
Rob Herring
2021-Jun-09 00:55 UTC
[PATCH] dt-bindings: virtio: Convert virtio-mmio to DT schema
On Mon, Jun 7, 2021 at 2:39 PM Rob Herring <robh at kernel.org> wrote:> > Convert the virtio-mmio binding to DT schema format. > > Cc: "Michael S. Tsirkin" <mst at redhat.com> > Cc: Jason Wang <jasowang at redhat.com> > Cc: Jean-Philippe Brucker <jean-philippe at linaro.org> > Cc: virtualization at lists.linux-foundation.org > Signed-off-by: Rob Herring <robh at kernel.org> > --- > Jean-Philippe, hopefully you are okay with being listed as the > maintainer here. You're the only active person that's touched this > binding. > > .../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 at 3000 { > - compatible = "virtio,mmio"; > - reg = <0x3000 0x100>; > - interrupts = <41>; > - > - /* Device has endpoint ID 23 */ > - iommus = <&viommu 23> > - } > - > - viommu: iommu at 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 at linaro.org> > + > +description: > + See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for > + more details. > + > +properties: > + compatible: > + const: virtio-mmioThis should be virtio,mmio.