[RFC PATCH v3 1/6] dt-bindings: bao: add IPC shared-memory device
João Peixoto <[email protected]>
| Newsgroups | gmane.linux.ports.riscv,gmane.linux.kernel,gmane.linux.drivers.devicetree,gmane.linux.documentation,gmane.linux.ports.arm.kernel |
|---|---|
| Message-ID | <7fe7fbabed8d932a9d8d82e64c9c4d76100964c6.1786010512.git.jpeixoto@osyx.tech> |
Add the device-tree binding for the Bao hypervisor IPC shared-memory device, used by a Bao guest to exchange data with a peer guest over a shared-memory region. 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: - Describe the read and write channels through reg/reg-names instead of the custom read-channel/write-channel properties; drop those properties and the "id" property; add a vendor "bao,id" for the hypercall channel id; use a generic node name (shmem@...) (Krzysztof Kozlowski). - Clarify the "bao" vendor-prefix description. - Subject: drop the redundant trailing "binding" (Krzysztof Kozlowski). - Add José's and David's Co-developed-by/Signed-off-by. .../devicetree/bindings/bao/bao,ipcshmem.yaml | 59 +++++++++++++++++++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + 2 files changed, 61 insertions(+) create mode 100644 Documentation/devicetree/bindings/bao/bao,ipcshmem.yaml diff --git a/Documentation/devicetree/bindings/bao/bao,ipcshmem.yaml b/Documentation/devicetree/bindings/bao/bao,ipcshmem.yaml new file mode 100644 index 000000000000..60947150d576 --- /dev/null +++ b/Documentation/devicetree/bindings/bao/bao,ipcshmem.yaml @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/bao/bao,ipcshmem.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Bao Hypervisor IPC Shared Memory Device + +maintainers: + - João Peixoto <[email protected]> + - José Martins <[email protected]> + - David Cerdeira <[email protected]> + +description: | + Shared-memory device exposed by the Bao hypervisor to a guest so that it + can exchange data with a peer guest. The hypervisor provides two + contiguous memory regions, one the guest reads from (written by the peer) + and one the guest writes to (read by the peer). A write is signalled to + the peer through a hypercall identified by bao,id. + +properties: + compatible: + const: bao,ipcshmem + + reg: + items: + - description: region read by this guest and written by the peer + - description: region written by this guest and read by the peer + + reg-names: + items: + - const: read + - const: write + + bao,id: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Hypervisor-assigned identifier of this shared-memory channel. The + guest passes it to the Bao hypercall that notifies the peer of a + write, so it must match the identifier configured for the channel in + the hypervisor. + +required: + - compatible + - reg + - reg-names + - bao,id + +additionalProperties: false + +examples: + - | + shmem@f0000000 { + compatible = "bao,ipcshmem"; + reg = <0xf0000000 0x2000>, + <0xf0002000 0x2000>; + reg-names = "read", "write"; + bao,id = <0>; + }; diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 396044f368e7..b11b3dd995a5 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -231,6 +231,8 @@ patternProperties: description: Shenzhen AZW Technology Co., Ltd. "^baikal,.*": description: BAIKAL ELECTRONICS, JSC + "^bao,.*": + description: Bao Project (https://github.com/bao-project) "^bananapi,.*": description: BIPAI KEJI LIMITED "^beacon,.*": -- 2.43.0 _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv