* [PATCH v2 0/2] Add devicetree bindings for spi-virtio
@ 2026-10-27 7:26 Francesco Valla
2026-10-27 7:26 ` [PATCH v2 1/2] dt-bindings: spi: add spi-virtio Francesco Valla
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Francesco Valla @ 2026-10-27 7:26 UTC (permalink / raw)
To: Michael S. Tsirkin, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Haixu Cui, Jason Wang
Cc: Viresh Kumar, Xuan Zhuo, Eugenio Pérez, Mathieu Poirier,
linux-spi, devicetree, linux-kernel, virtualization,
Francesco Valla
When a virtio transport exposes a non-discoverable bus, the devicetree
can be used to declare its child devices (if any) and/or other
properties. To allow for that, the virtio framework searches for a node
with a suitable compatible in virtio_device_of_init() when registering
a device [1]; such compatible takes the form "virtio,deviceXX", where
XX is the hexadecimal representation of the virtio device ID as defined
by the virtio specification.
This patchset thus does not introduce a new functionality, but allows
proper validation of nodes tied to spi-virtio devices, aligning SPI to
what is already being done for e.g. I2C and GPIO virtio devices.
It was sent initially as part of a different patchset [2], but since it
complements a functionality that is de-facto already there and is useful
beyond that specific use case it was sent separately (also following the
maintainer's feedback there to separate it from remoteproc-specific
changes).
This was tested both with virtio-mmio using qemu-system-aarch64 and with
remoteproc-virtio with a Zephyr backend (with relevant remoteproc-virtio
parts still not not upstreamed - see [2]).
I added myself as reviewer for the spi-virtio driver to be CC'd on any
patch involving the new bindings.
Thank you!
Regards,
Francesco
[1] https://elixir.bootlin.com/linux/v7.2.8/source/drivers/virtio/virtio.c#L488
[2] https://lore.kernel.org/linux-remoteproc/20260916-remoteproc_virtio_map-v1-0-dac8c5eb4aa9@valla.it/
Signed-off-by: Francesco Valla <francesco@valla.it>
---
Changes in v2:
- Expanded the commit message to better explain the functionality and
the chosen compatible.
- Redundant pieces dropped from bindings.
- Link to v1: https://patch.msgid.link/20260929-spi-virtio-bindings-v1-0-6a0eef3213b3@valla.it
To: Haixu Cui <quic_haixcui@quicinc.com>
To: Francesco Valla <francesco@valla.it>
To: Mark Brown <broonie@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
Cc: virtualization@lists.linux.dev
Cc: linux-spi@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
Francesco Valla (2):
dt-bindings: spi: add spi-virtio
MAINTAINERS: add Francesco as spi-virtio reviewer
.../devicetree/bindings/spi/spi-virtio.yaml | 46 ++++++++++++++++++++++
MAINTAINERS | 2 +
2 files changed, 48 insertions(+)
---
base-commit: d135ab453a7400a34930bdda1ef4bdc8acfac80e
change-id: 20260927-spi-virtio-bindings-f4e350b2709a
Best regards,
--
Francesco Valla <francesco@valla.it>
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v2 1/2] dt-bindings: spi: add spi-virtio
2026-10-27 7:26 [PATCH v2 0/2] Add devicetree bindings for spi-virtio Francesco Valla
@ 2026-10-27 7:26 ` Francesco Valla
2026-10-27 7:26 ` [PATCH v2 2/2] MAINTAINERS: add Francesco as spi-virtio reviewer Francesco Valla
2026-10-27 10:50 ` [PATCH v2 0/2] Add devicetree bindings for spi-virtio Michael S. Tsirkin
2 siblings, 0 replies; 6+ messages in thread
From: Francesco Valla @ 2026-10-27 7:26 UTC (permalink / raw)
To: Michael S. Tsirkin, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Haixu Cui, Jason Wang
Cc: Viresh Kumar, Xuan Zhuo, Eugenio Pérez, Mathieu Poirier,
linux-spi, devicetree, linux-kernel, virtualization,
Francesco Valla
Add bindings for spi-virtio based on virtio-device, allowing proper
validation of SPI controller nodes declared as children of virtio
transports (e.g.: virtio-mmio). Such nodes are not used to instantiate
devices, which are registered by the virtio transport, but to define
their properties and establish dependencies with other nodes.
The compatible follows what the virtio framework already searches for,
"2d" being the hexadecimal representation of the SPI controller device
ID defined by the virtio specification [1].
[1] https://docs.oasis-open.org/virtio/virtio/v1.4/virtio-v1.4.html
Signed-off-by: Francesco Valla <francesco@valla.it>
---
.../devicetree/bindings/spi/spi-virtio.yaml | 46 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 47 insertions(+)
diff --git a/Documentation/devicetree/bindings/spi/spi-virtio.yaml b/Documentation/devicetree/bindings/spi/spi-virtio.yaml
new file mode 100644
index 000000000000..5fc04a9c62cc
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-virtio.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/spi-virtio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Virtio SPI controller device
+
+maintainers:
+ - Francesco Valla <francesco@valla.it>
+
+allOf:
+ - $ref: /schemas/spi/spi-controller.yaml#
+ - $ref: /schemas/virtio/virtio-device.yaml#
+
+properties:
+ compatible:
+ const: virtio,device2d
+
+required:
+ - compatible
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ virtio@3000 {
+ compatible = "virtio,mmio";
+ reg = <0x3000 0x100>;
+ interrupts = <41>;
+
+ spi {
+ compatible = "virtio,device2d";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ sram@0 {
+ compatible = "microchip,mchp23k256";
+ reg = <0>;
+ spi-max-frequency = <20000000>;
+ };
+ };
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 03649f08c7c7..5724645bf703 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -29675,6 +29675,7 @@ VIRTIO SPI DRIVER
M: Haixu Cui <quic_haixcui@quicinc.com>
L: virtualization@lists.linux.dev
S: Maintained
+F: Documentation/devicetree/bindings/spi/spi-virtio.yaml
F: drivers/spi/spi-virtio.c
F: include/uapi/linux/virtio_spi.h
--
2.56.0
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v2 2/2] MAINTAINERS: add Francesco as spi-virtio reviewer
2026-10-27 7:26 [PATCH v2 0/2] Add devicetree bindings for spi-virtio Francesco Valla
2026-10-27 7:26 ` [PATCH v2 1/2] dt-bindings: spi: add spi-virtio Francesco Valla
@ 2026-10-27 7:26 ` Francesco Valla
2026-10-27 10:50 ` [PATCH v2 0/2] Add devicetree bindings for spi-virtio Michael S. Tsirkin
2 siblings, 0 replies; 6+ messages in thread
From: Francesco Valla @ 2026-10-27 7:26 UTC (permalink / raw)
To: Michael S. Tsirkin, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Haixu Cui, Jason Wang
Cc: Viresh Kumar, Xuan Zhuo, Eugenio Pérez, Mathieu Poirier,
linux-spi, devicetree, linux-kernel, virtualization,
Francesco Valla
Add myself as reviewer for spi-virtio, following the introduction of the
devicetree bindings for it.
Signed-off-by: Francesco Valla <francesco@valla.it>
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 5724645bf703..45a29ad08096 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -29673,6 +29673,7 @@ F: sound/virtio/*
VIRTIO SPI DRIVER
M: Haixu Cui <quic_haixcui@quicinc.com>
+R: Francesco Valla <francesco@valla.it>
L: virtualization@lists.linux.dev
S: Maintained
F: Documentation/devicetree/bindings/spi/spi-virtio.yaml
--
2.56.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] Add devicetree bindings for spi-virtio
2026-10-27 7:26 [PATCH v2 0/2] Add devicetree bindings for spi-virtio Francesco Valla
2026-10-27 7:26 ` [PATCH v2 1/2] dt-bindings: spi: add spi-virtio Francesco Valla
2026-10-27 7:26 ` [PATCH v2 2/2] MAINTAINERS: add Francesco as spi-virtio reviewer Francesco Valla
@ 2026-10-27 10:50 ` Michael S. Tsirkin
2026-10-27 12:46 ` Francesco Valla
2 siblings, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2026-10-27 10:50 UTC (permalink / raw)
To: Francesco Valla
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Haixu Cui, Jason Wang, Viresh Kumar, Xuan Zhuo,
Eugenio Pérez, Mathieu Poirier, linux-spi, devicetree,
linux-kernel, virtualization
On Tue, Oct 27, 2026 at 08:26:32AM +0100, Francesco Valla wrote:
> When a virtio transport exposes a non-discoverable bus, the devicetree
> can be used to declare its child devices (if any) and/or other
> properties. To allow for that, the virtio framework searches for a node
> with a suitable compatible in virtio_device_of_init() when registering
> a device [1]; such compatible takes the form "virtio,deviceXX", where
> XX is the hexadecimal representation of the virtio device ID as defined
> by the virtio specification.
>
> This patchset thus does not introduce a new functionality, but allows
> proper validation of nodes tied to spi-virtio devices, aligning SPI to
> what is already being done for e.g. I2C and GPIO virtio devices.
> It was sent initially as part of a different patchset [2], but since it
> complements a functionality that is de-facto already there and is useful
> beyond that specific use case it was sent separately (also following the
> maintainer's feedback there to separate it from remoteproc-specific
> changes).
>
> This was tested both with virtio-mmio using qemu-system-aarch64 and with
> remoteproc-virtio with a Zephyr backend (with relevant remoteproc-virtio
> parts still not not upstreamed - see [2]).
>
> I added myself as reviewer for the spi-virtio driver to be CC'd on any
> patch involving the new bindings.
>
> Thank you!
>
> Regards,
> Francesco
>
> [1] https://elixir.bootlin.com/linux/v7.2.8/source/drivers/virtio/virtio.c#L488
> [2] https://lore.kernel.org/linux-remoteproc/20260916-remoteproc_virtio_map-v1-0-dac8c5eb4aa9@valla.it/
>
> Signed-off-by: Francesco Valla <francesco@valla.it>
> ---
I hope this can be merged through the devicetree maintainers,
I have no idea.
MAINTAINERS changes needs an ack from existing maintainers, of
course.
> Changes in v2:
> - Expanded the commit message to better explain the functionality and
> the chosen compatible.
> - Redundant pieces dropped from bindings.
> - Link to v1: https://patch.msgid.link/20260929-spi-virtio-bindings-v1-0-6a0eef3213b3@valla.it
>
> To: Haixu Cui <quic_haixcui@quicinc.com>
> To: Francesco Valla <francesco@valla.it>
> To: Mark Brown <broonie@kernel.org>
> To: Rob Herring <robh@kernel.org>
> To: Krzysztof Kozlowski <krzk+dt@kernel.org>
> To: Conor Dooley <conor+dt@kernel.org>
> Cc: virtualization@lists.linux.dev
> Cc: linux-spi@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
>
> ---
> Francesco Valla (2):
> dt-bindings: spi: add spi-virtio
> MAINTAINERS: add Francesco as spi-virtio reviewer
>
> .../devicetree/bindings/spi/spi-virtio.yaml | 46 ++++++++++++++++++++++
> MAINTAINERS | 2 +
> 2 files changed, 48 insertions(+)
> ---
> base-commit: d135ab453a7400a34930bdda1ef4bdc8acfac80e
> change-id: 20260927-spi-virtio-bindings-f4e350b2709a
>
> Best regards,
> --
> Francesco Valla <francesco@valla.it>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] Add devicetree bindings for spi-virtio
2026-10-27 10:50 ` [PATCH v2 0/2] Add devicetree bindings for spi-virtio Michael S. Tsirkin
@ 2026-10-27 12:46 ` Francesco Valla
2026-10-27 13:07 ` Michael S. Tsirkin
0 siblings, 1 reply; 6+ messages in thread
From: Francesco Valla @ 2026-10-27 12:46 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Haixu Cui, Jason Wang, Viresh Kumar, Xuan Zhuo,
Eugenio Pérez, Mathieu Poirier, linux-spi, devicetree,
linux-kernel, virtualization
Hello Michael,
On Tue, Oct 27, 2026 at 06:50:51AM -0400, Michael S. Tsirkin wrote:
> On Tue, Oct 27, 2026 at 08:26:32AM +0100, Francesco Valla wrote:
> > When a virtio transport exposes a non-discoverable bus, the devicetree
> > can be used to declare its child devices (if any) and/or other
> > properties. To allow for that, the virtio framework searches for a node
> > with a suitable compatible in virtio_device_of_init() when registering
> > a device [1]; such compatible takes the form "virtio,deviceXX", where
> > XX is the hexadecimal representation of the virtio device ID as defined
> > by the virtio specification.
> >
> > This patchset thus does not introduce a new functionality, but allows
> > proper validation of nodes tied to spi-virtio devices, aligning SPI to
> > what is already being done for e.g. I2C and GPIO virtio devices.
> > It was sent initially as part of a different patchset [2], but since it
> > complements a functionality that is de-facto already there and is useful
> > beyond that specific use case it was sent separately (also following the
> > maintainer's feedback there to separate it from remoteproc-specific
> > changes).
> >
> > This was tested both with virtio-mmio using qemu-system-aarch64 and with
> > remoteproc-virtio with a Zephyr backend (with relevant remoteproc-virtio
> > parts still not not upstreamed - see [2]).
> >
> > I added myself as reviewer for the spi-virtio driver to be CC'd on any
> > patch involving the new bindings.
> >
> > Thank you!
> >
> > Regards,
> > Francesco
> >
> > [1] https://elixir.bootlin.com/linux/v7.2.8/source/drivers/virtio/virtio.c#L488
> > [2] https://lore.kernel.org/linux-remoteproc/20260916-remoteproc_virtio_map-v1-0-dac8c5eb4aa9@valla.it/
> >
> > Signed-off-by: Francesco Valla <francesco@valla.it>
> > ---
>
> I hope this can be merged through the devicetree maintainers,
> I have no idea.
> MAINTAINERS changes needs an ack from existing maintainers, of
> course.
>
This might prove... difficult. My e-mails to the maintainer (Haixu Cui
@quicinc.com) continue to be bounced back by the Qualcomm postmaster
with a RecipientNotFound error. Maybe someone from Qualcomm can give me
a lead on how to contact them?
> > Changes in v2:
> > - Expanded the commit message to better explain the functionality and
> > the chosen compatible.
> > - Redundant pieces dropped from bindings.
> > - Link to v1: https://patch.msgid.link/20260929-spi-virtio-bindings-v1-0-6a0eef3213b3@valla.it
> >
> > To: Haixu Cui <quic_haixcui@quicinc.com>
> > To: Francesco Valla <francesco@valla.it>
> > To: Mark Brown <broonie@kernel.org>
> > To: Rob Herring <robh@kernel.org>
> > To: Krzysztof Kozlowski <krzk+dt@kernel.org>
> > To: Conor Dooley <conor+dt@kernel.org>
> > Cc: virtualization@lists.linux.dev
> > Cc: linux-spi@vger.kernel.org
> > Cc: devicetree@vger.kernel.org
> > Cc: linux-kernel@vger.kernel.org
> >
> > ---
> > Francesco Valla (2):
> > dt-bindings: spi: add spi-virtio
> > MAINTAINERS: add Francesco as spi-virtio reviewer
> >
> > .../devicetree/bindings/spi/spi-virtio.yaml | 46 ++++++++++++++++++++++
> > MAINTAINERS | 2 +
> > 2 files changed, 48 insertions(+)
> > ---
> > base-commit: d135ab453a7400a34930bdda1ef4bdc8acfac80e
> > change-id: 20260927-spi-virtio-bindings-f4e350b2709a
> >
> > Best regards,
> > --
> > Francesco Valla <francesco@valla.it>
>
Regards,
Francesco
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] Add devicetree bindings for spi-virtio
2026-10-27 12:46 ` Francesco Valla
@ 2026-10-27 13:07 ` Michael S. Tsirkin
0 siblings, 0 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2026-10-27 13:07 UTC (permalink / raw)
To: Francesco Valla
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Haixu Cui, Jason Wang, Viresh Kumar, Xuan Zhuo,
Eugenio Pérez, Mathieu Poirier, linux-spi, devicetree,
linux-kernel, virtualization
On Tue, Oct 27, 2026 at 01:46:35PM +0100, Francesco Valla wrote:
> Hello Michael,
>
> On Tue, Oct 27, 2026 at 06:50:51AM -0400, Michael S. Tsirkin wrote:
> > On Tue, Oct 27, 2026 at 08:26:32AM +0100, Francesco Valla wrote:
> > > When a virtio transport exposes a non-discoverable bus, the devicetree
> > > can be used to declare its child devices (if any) and/or other
> > > properties. To allow for that, the virtio framework searches for a node
> > > with a suitable compatible in virtio_device_of_init() when registering
> > > a device [1]; such compatible takes the form "virtio,deviceXX", where
> > > XX is the hexadecimal representation of the virtio device ID as defined
> > > by the virtio specification.
> > >
> > > This patchset thus does not introduce a new functionality, but allows
> > > proper validation of nodes tied to spi-virtio devices, aligning SPI to
> > > what is already being done for e.g. I2C and GPIO virtio devices.
> > > It was sent initially as part of a different patchset [2], but since it
> > > complements a functionality that is de-facto already there and is useful
> > > beyond that specific use case it was sent separately (also following the
> > > maintainer's feedback there to separate it from remoteproc-specific
> > > changes).
> > >
> > > This was tested both with virtio-mmio using qemu-system-aarch64 and with
> > > remoteproc-virtio with a Zephyr backend (with relevant remoteproc-virtio
> > > parts still not not upstreamed - see [2]).
> > >
> > > I added myself as reviewer for the spi-virtio driver to be CC'd on any
> > > patch involving the new bindings.
> > >
> > > Thank you!
> > >
> > > Regards,
> > > Francesco
> > >
> > > [1] https://elixir.bootlin.com/linux/v7.2.8/source/drivers/virtio/virtio.c#L488
> > > [2] https://lore.kernel.org/linux-remoteproc/20260916-remoteproc_virtio_map-v1-0-dac8c5eb4aa9@valla.it/
> > >
> > > Signed-off-by: Francesco Valla <francesco@valla.it>
> > > ---
> >
> > I hope this can be merged through the devicetree maintainers,
> > I have no idea.
> > MAINTAINERS changes needs an ack from existing maintainers, of
> > course.
> >
>
> This might prove... difficult. My e-mails to the maintainer (Haixu Cui
> @quicinc.com) continue to be bounced back by the Qualcomm postmaster
> with a RecipientNotFound error. Maybe someone from Qualcomm can give me
> a lead on how to contact them?
Indeed, so it did for me. Oh that's no good at all.
Mark, what's your take? The maintainer is MIA but we have a volunteer
maintainer here.
As far as I'm concerned
Acked-by: Michael S. Tsirkin <mst@redhat.com>
> > > Changes in v2:
> > > - Expanded the commit message to better explain the functionality and
> > > the chosen compatible.
> > > - Redundant pieces dropped from bindings.
> > > - Link to v1: https://patch.msgid.link/20260929-spi-virtio-bindings-v1-0-6a0eef3213b3@valla.it
> > >
> > > To: Haixu Cui <quic_haixcui@quicinc.com>
> > > To: Francesco Valla <francesco@valla.it>
> > > To: Mark Brown <broonie@kernel.org>
> > > To: Rob Herring <robh@kernel.org>
> > > To: Krzysztof Kozlowski <krzk+dt@kernel.org>
> > > To: Conor Dooley <conor+dt@kernel.org>
> > > Cc: virtualization@lists.linux.dev
> > > Cc: linux-spi@vger.kernel.org
> > > Cc: devicetree@vger.kernel.org
> > > Cc: linux-kernel@vger.kernel.org
> > >
> > > ---
> > > Francesco Valla (2):
> > > dt-bindings: spi: add spi-virtio
> > > MAINTAINERS: add Francesco as spi-virtio reviewer
> > >
> > > .../devicetree/bindings/spi/spi-virtio.yaml | 46 ++++++++++++++++++++++
> > > MAINTAINERS | 2 +
> > > 2 files changed, 48 insertions(+)
> > > ---
> > > base-commit: d135ab453a7400a34930bdda1ef4bdc8acfac80e
> > > change-id: 20260927-spi-virtio-bindings-f4e350b2709a
> > >
> > > Best regards,
> > > --
> > > Francesco Valla <francesco@valla.it>
> >
>
> Regards,
> Francesco
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-10-27 13:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-27 7:26 [PATCH v2 0/2] Add devicetree bindings for spi-virtio Francesco Valla
2026-10-27 7:26 ` [PATCH v2 1/2] dt-bindings: spi: add spi-virtio Francesco Valla
2026-10-27 7:26 ` [PATCH v2 2/2] MAINTAINERS: add Francesco as spi-virtio reviewer Francesco Valla
2026-10-27 10:50 ` [PATCH v2 0/2] Add devicetree bindings for spi-virtio Michael S. Tsirkin
2026-10-27 12:46 ` Francesco Valla
2026-10-27 13:07 ` Michael S. Tsirkin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®