Re: [PATCH 1/5] dt-bindings: virtio: mmio: Add support for device subnode

From: Arnd Bergmann
Date: Mon Jul 19 2021 - 08:04:29 EST


On Mon, Jul 19, 2021 at 12:34 PM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
> On 14-07-21, 23:07, Arnd Bergmann wrote:
> > On Wed, Jul 14, 2021 at 5:43 PM Rob Herring <robh+dt@xxxxxxxxxx> wrote:
> > > I guess it comes down to is 'virtio,mmio' providing a bus or is it
> > > just a device? I guess a bus (so 2 nodes) does make sense here.
> > > 'virtio,mmio' defines how you access/discover the virtio queues (the
> > > bus) and the functional device (i2c, gpio, iommu, etc.) is accessed
> > > via the virtio queues.
> >
> > It's not really a bus since there is only ever one device behind it.
> > A better analogy would be your 'serdev' framework: You could
> > have a 8250 or a pl011 uart, and behind that have a mouse, GPS
> > receiver or bluetooth dongle.
> >
> > In Documentation/devicetree/bindings/serial/serial.yaml, you also
> > have two nodes for a single device, so we could follow that
> > example.
>
> So two device nodes is final then ? Pretty much like how this patchset did it
> already ? I need to get rid of reg thing and use "virtio,DID" though.

Let's give Rob another day to reply here. I think two nodes is easier
to get working than one node, even when we continue supporting the
current iommu binding that relies on a single node, but we could make
it work either way if necessary.

Arnd