[RFC PATCH v3 3/6] dt-bindings: bao: add I/O dispatcher device
João Peixoto <[email protected]>
| Newsgroups | org.infradead.lists.linux-riscv,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <41e65cbe88021964afe55d9e3884ebc199928264.1786010512.git.jpeixoto@osyx.tech> |
Add the device-tree binding for the Bao I/O dispatcher, present in backend VMs that service paravirtualised (VirtIO) I/O on behalf of frontend guests. Co-developed-by: José Martins <[email protected]> Signed-off-by: José Martins <[email protected]> Co-developed-by: David Cerdeira <[email protected]> Signed-off-by: David Cerdeira <[email protected]> Signed-off-by: João Peixoto <[email protected]> --- v3: - Model one node per backend device (single reg + single interrupt + "bao,id") instead of a single node describing many devices, following the gunyah and Mediatek Genio bindings (Krzysztof Kozlowski). - Add José's and David's Co-developed-by/Signed-off-by. .../bindings/bao/bao,io-dispatcher.yaml | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml diff --git a/Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml b/Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml new file mode 100644 index 000000000000..f118c6d486a6 --- /dev/null +++ b/Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/bao/bao,io-dispatcher.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Bao Hypervisor I/O Dispatcher Device + +maintainers: + - João Peixoto <[email protected]> + - José Martins <[email protected]> + - David Cerdeira <[email protected]> + +description: + Backend device exposed by the Bao hypervisor to a guest that services + paravirtualised (VirtIO) I/O on behalf of a frontend guest. Each device + owns one contiguous shared-memory region used to exchange I/O buffers + with its frontend, and one interrupt the hypervisor raises to signal a + pending I/O request. A backend guest that services several frontends + instantiates one node per backend device. + +properties: + compatible: + const: bao,io-dispatcher + + reg: + maxItems: 1 + description: + Shared-memory region used to exchange I/O buffers with the frontend. + + interrupts: + maxItems: 1 + description: + Interrupt raised by the hypervisor to signal a pending I/O request. + + bao,id: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Hypervisor-assigned identifier of the backend device model. It must + match the identifier configured for the device model in the + hypervisor. + +required: + - compatible + - reg + - interrupts + - bao,id + +additionalProperties: false + +examples: + - | + shmem@50000000 { + compatible = "bao,io-dispatcher"; + reg = <0x50000000 0x01000000>; + interrupts = <0x0 0x08 0x1>; + bao,id = <0>; + }; -- 2.43.0 _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv