2021-06-07 19:41:33

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH] dt-bindings: virtio: Convert virtio-mmio to DT schema

Convert the virtio-mmio binding to DT schema format.

Cc: "Michael S. Tsirkin" <[email protected]>
Cc: Jason Wang <[email protected]>
Cc: Jean-Philippe Brucker <[email protected]>
Cc: [email protected]
Signed-off-by: Rob Herring <[email protected]>
---
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@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 <[email protected]>
+
+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


2021-06-08 07:39:42

by Jean-Philippe Brucker

[permalink] [raw]
Subject: Re: [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" <[email protected]>
> Cc: Jason Wang <[email protected]>
> Cc: Jean-Philippe Brucker <[email protected]>
> Cc: [email protected]
> Signed-off-by: Rob Herring <[email protected]>
> ---
> 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 <[email protected]>

>
> .../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 <[email protected]>
> +
> +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
>

2021-06-09 12:14:48

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: virtio: Convert virtio-mmio to DT schema

On Mon, Jun 7, 2021 at 2:39 PM Rob Herring <[email protected]> wrote:
>
> Convert the virtio-mmio binding to DT schema format.
>
> Cc: "Michael S. Tsirkin" <[email protected]>
> Cc: Jason Wang <[email protected]>
> Cc: Jean-Philippe Brucker <[email protected]>
> Cc: [email protected]
> Signed-off-by: Rob Herring <[email protected]>
> ---
> 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@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 <[email protected]>
> +
> +description:
> + See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for
> + more details.
> +
> +properties:
> + compatible:
> + const: virtio-mmio

This should be virtio,mmio.