Rob Herring
2021-Aug-02 19:40 UTC
[PATCH V4 3/5] dt-bindings: gpio: Add bindings for gpio-virtio
On Tue, Jul 27, 2021 at 10:53:50AM +0530, Viresh Kumar wrote:> This patch adds binding for virtio GPIO controller, it is based on > virtio-device bindings. > > Reviewed-by: Arnd Bergmann <arnd at arndb.de> > Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org> > --- > .../devicetree/bindings/gpio/gpio-virtio.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 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..601d85754577 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml > @@ -0,0 +1,59 @@ > +# 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 GPIO controller > + > +maintainers: > + - Viresh Kumar <viresh.kumar at linaro.org> > + > +allOf: > + - $ref: /schemas/virtio/virtio-device.yaml# > + > +description: > + Virtio GPIO controller, see /schemas/virtio/virtio-device.yaml for more > + details. > + > +properties: > + $nodename: > + const: gpio > + > + compatible: > + const: virtio,device29 > + > + gpio-controller: true > + > + "#gpio-cells": > + const: 2 > + > + interrupt-controller: true > + > + "#interrupt-cells": > + const: 2Humm, how does one implement interrupts without a parent interrupt? It uses the parent virtio,mmio interrupt?> + > +required: > + - compatible > + - gpio-controller > + - "#gpio-cells" > + > +unevaluatedProperties: false > + > +examples: > + - | > + virtio at 3000 { > + compatible = "virtio,mmio"; > + reg = <0x3000 0x100>; > + interrupts = <41>; > + > + gpio { > + compatible = "virtio,device29"; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + }; > + > +... > -- > 2.31.1.272.g89b43f80a514 > >
Viresh Kumar
2021-Aug-03 04:30 UTC
[PATCH V4 3/5] dt-bindings: gpio: Add bindings for gpio-virtio
On 02-08-21, 13:40, Rob Herring wrote:> Humm, how does one implement interrupts without a parent interrupt? It > uses the parent virtio,mmio interrupt?Kind of, yeah, but not necessarily. The interrupt information is passed over buffers shared between host and guest. Now the guest may process the buffers when it receives a notification from the host, that will be at downpath of an interrupt for virtio,mmio. Or the guest may poll on the virtqueue and process any buffers as soon as they are made available, no interrupts then. -- viresh