On Tue, Jul 13, 2021 at 12:51 PM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > + > + virtio@3200 { > + compatible = "virtio,mmio"; > + reg = <0x3200 0x100>; > + interrupts = <43>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + i2c-virtio@0 { > + reg = <VIRTIO_ID_I2C_ADAPTER>; > + }; > + }; This works, but it seems oddly inconsistent with the way we do the same thing for PCI, USB and MMC devices that normally don't need device tree properties but can optionally have those. All of the above use the "compatible" property to identify the device, rather than using the "reg" property. Neither of them is actually great here, since we already know what the device is and how to talk to it, but I'd still prefer doing this with compatible = "virtio,34"; or similar, where 34 is the numerical value of VIRTIO_ID_I2C_ADAPTER. This would then be required in the virtio-i2c binding. I think you can skip the #address-cells/#size-cells then. Arnd