• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/firmware/gunyah-hypervisor.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Gunyah Hypervisor
8
9maintainers:
10  - Prakruthi Deepak Heragu <quic_pheragu@quicinc.com>
11  - Elliot Berman <quic_eberman@quicinc.com>
12
13description: |+
14  Gunyah virtual machines use this information to determine the capability IDs
15  of the message queues used to communicate with the Gunyah Resource Manager.
16  See also: https://github.com/quic/gunyah-resource-manager/blob/develop/src/vm_creation/dto_construct.c
17
18properties:
19  compatible:
20    const: gunyah-hypervisor
21
22  "#address-cells":
23    description: Number of cells needed to represent 64-bit capability IDs.
24    const: 2
25
26  "#size-cells":
27    description: must be 0, because capability IDs are not memory address
28                  ranges and do not have a size.
29    const: 0
30
31patternProperties:
32  "^gunyah-resource-mgr(@.*)?":
33    type: object
34    description:
35      Resource Manager node which is required to communicate to Resource
36      Manager VM using Gunyah Message Queues.
37
38    properties:
39      compatible:
40        const: gunyah-resource-manager
41
42      reg:
43        items:
44          - description: Gunyah capability ID of the TX message queue
45          - description: Gunyah capability ID of the RX message queue
46
47      interrupts:
48        items:
49          - description: Interrupt for the TX message queue
50          - description: Interrupt for the RX message queue
51
52    additionalProperties: false
53
54    required:
55      - compatible
56      - reg
57      - interrupts
58
59additionalProperties: false
60
61required:
62  - compatible
63  - "#address-cells"
64  - "#size-cells"
65
66examples:
67  - |
68    #include <dt-bindings/interrupt-controller/arm-gic.h>
69
70    hypervisor {
71        #address-cells = <2>;
72        #size-cells = <0>;
73        compatible = "gunyah-hypervisor";
74
75        gunyah-resource-mgr@0 {
76            compatible = "gunyah-resource-manager";
77            interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>, /* TX allowed IRQ */
78                         <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>; /* RX requested IRQ */
79            reg = <0x00000000 0x00000000>, /* TX capability ID */
80                  <0x00000000 0x00000001>; /* RX capability ID */
81        };
82    };
83