[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <aa4bf68fdd13b885a6dc1b98f88834916d51d97d.1626173013.git.viresh.kumar@linaro.org>
Date: Tue, 13 Jul 2021 16:20:30 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Jason Wang <jasowang@...hat.com>,
"Michael S. Tsirkin" <mst@...hat.com>,
Rob Herring <robh+dt@...nel.org>,
Arnd Bergmann <arnd@...nel.org>,
Jean-Philippe Brucker <jean-philippe@...aro.org>
Cc: Viresh Kumar <viresh.kumar@...aro.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Bill Mills <bill.mills@...aro.org>,
Alex Bennée <alex.bennee@...aro.org>,
"Enrico Weigelt, metux IT consult" <info@...ux.net>,
Jie Deng <jie.deng@...el.com>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
virtualization@...ts.linux-foundation.org
Subject: [PATCH 1/5] dt-bindings: virtio: mmio: Add support for device subnode
Allow virtio,mmio nodes to contain device specific subnodes. Since each
virtio,mmio node can represent a single virtio device, each virtio node
is allowed to contain a maximum of one device specific subnode.
The device subnode must have the "reg" property, and its value must
match the virtio device ID used by the virtio mmio node.
A phandle to this device subnode can then be used by the users of the
virtio device.
Also add a symbolic link to uapi/linux/virtio_ids.h in order to use the
definitions here.
Signed-off-by: Viresh Kumar <viresh.kumar@...aro.org>
---
.../devicetree/bindings/virtio/mmio.yaml | 41 +++++++++++++++++++
include/dt-bindings/virtio/virtio_ids.h | 1 +
2 files changed, 42 insertions(+)
create mode 120000 include/dt-bindings/virtio/virtio_ids.h
diff --git a/Documentation/devicetree/bindings/virtio/mmio.yaml b/Documentation/devicetree/bindings/virtio/mmio.yaml
index d46597028cf1..e5f9fe6ecb5e 100644
--- a/Documentation/devicetree/bindings/virtio/mmio.yaml
+++ b/Documentation/devicetree/bindings/virtio/mmio.yaml
@@ -31,6 +31,31 @@ title: virtio memory mapped devices
description: Required for devices making accesses thru an IOMMU.
maxItems: 1
+ "#address-cells":
+ const: 1
+ description:
+ The cell is the device ID if a device subnode is used.
+
+ "#size-cells":
+ const: 0
+
+patternProperties:
+ '^[a-z0-9]+-virtio@[0-9]+$':
+ type: object
+ description: |
+ Exactly one node describing the virtio device. The name of the node isn't
+ significant but its phandle can be used to by an user of the virtio
+ device.
+
+ properties:
+ reg:
+ description:
+ Must contain the Virtio ID of the device.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ required:
+ - reg
+
required:
- compatible
- reg
@@ -57,4 +82,20 @@ additionalProperties: false
#iommu-cells = <1>;
};
+ - |
+ #include <dt-bindings/virtio/virtio_ids.h>
+
+ virtio@...0 {
+ compatible = "virtio,mmio";
+ reg = <0x3200 0x100>;
+ interrupts = <43>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c-virtio@0 {
+ reg = <VIRTIO_ID_I2C_ADAPTER>;
+ };
+ };
+
...
diff --git a/include/dt-bindings/virtio/virtio_ids.h b/include/dt-bindings/virtio/virtio_ids.h
new file mode 120000
index 000000000000..6e59ba332216
--- /dev/null
+++ b/include/dt-bindings/virtio/virtio_ids.h
@@ -0,0 +1 @@
+../../uapi/linux/virtio_ids.h
\ No newline at end of file
--
2.31.1.272.g89b43f80a514
Powered by blists - more mailing lists