[PATCH 5/5] dt-bindings: gpio: Add bindings for gpio-virtio

From: Viresh Kumar
Date: Tue Jul 13 2021 - 06:51:08 EST


gpio-virtio represents a virtio GPIO controller and this patch adds
binding for the same. The gpio-virtio subnode can be part of a
virtio,mmio node and is based on its binding.

Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
---
Depends on:

https://lore.kernel.org/lkml/7c716c2eb7ace5b5a560d8502af93101dbb53d24.1626170146.git.viresh.kumar@xxxxxxxxxx/
---
.../devicetree/bindings/gpio/gpio-virtio.yaml | 67 +++++++++++++++++++
1 file changed, 67 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-virtio.yaml

diff --git a/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml b/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
new file mode 100644
index 000000000000..c813cdfd60fd
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/gpio-virtio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Virtio memory mapped GPIO controller
+
+maintainers:
+ - Viresh Kumar <viresh.kumar@xxxxxxxxxx>
+
+description:
+ Virtio GPIO controller, see /schemas/virtio/mmio.yaml for more details.
+
+allOf:
+ - $ref: /schemas/gpio/gpio.yaml#
+
+properties:
+ $nodename:
+ pattern: '^gpio-virtio@[0-9]+$'
+
+ reg:
+ description:
+ The cell is the device ID of the GPIO device (VIRTIO_ID_GPIO) as per
+ dt-bindings/virtio/virtio_ids.h.
+ const: 41
+ $ref: /schemas/virtio/mmio.yaml#/properties/reg
+
+ gpio-controller: true
+
+ "#gpio-cells":
+ const: 2
+
+ interrupt-controller: true
+
+ "#interrupt-cells":
+ const: 2
+
+required:
+ - reg
+ - gpio-controller
+ - "#gpio-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/virtio/virtio_ids.h>
+
+ virtio@3000 {
+ compatible = "virtio,mmio";
+ reg = <0x3000 0x100>;
+ interrupts = <41>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio-virtio@0 {
+ reg = <VIRTIO_ID_GPIO>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+...
--
2.31.1.272.g89b43f80a514