xref: /linux/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1cd425807SAngeloGioacchino Del Regno# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2cd425807SAngeloGioacchino Del Regno%YAML 1.2
3cd425807SAngeloGioacchino Del Regno---
4cd425807SAngeloGioacchino Del Regno$id: http://devicetree.org/schemas/mailbox/mediatek,gce-mailbox.yaml#
5cd425807SAngeloGioacchino Del Regno$schema: http://devicetree.org/meta-schemas/core.yaml#
6cd425807SAngeloGioacchino Del Regno
7cd425807SAngeloGioacchino Del Regnotitle: Mediatek Global Command Engine Mailbox
8cd425807SAngeloGioacchino Del Regno
9cd425807SAngeloGioacchino Del Regnomaintainers:
10cd425807SAngeloGioacchino Del Regno  - Houlong Wei <houlong.wei@mediatek.com>
11cd425807SAngeloGioacchino Del Regno
12cd425807SAngeloGioacchino Del Regnodescription:
13cd425807SAngeloGioacchino Del Regno  The Global Command Engine (GCE) is used to help read/write registers with
14cd425807SAngeloGioacchino Del Regno  critical time limitation, such as updating display configuration during the
15cd425807SAngeloGioacchino Del Regno  vblank. The GCE can be used to implement the Command Queue (CMDQ) driver.
16cd425807SAngeloGioacchino Del Regno
17cd425807SAngeloGioacchino Del Regnoproperties:
18cd425807SAngeloGioacchino Del Regno  compatible:
19*26e02e6cSAngeloGioacchino Del Regno    oneOf:
20*26e02e6cSAngeloGioacchino Del Regno      - enum:
21cd425807SAngeloGioacchino Del Regno          - mediatek,mt6779-gce
22cd425807SAngeloGioacchino Del Regno          - mediatek,mt8173-gce
23cd425807SAngeloGioacchino Del Regno          - mediatek,mt8183-gce
24cd425807SAngeloGioacchino Del Regno          - mediatek,mt8186-gce
25f2b53c29SElvis Wang          - mediatek,mt8188-gce
26cd425807SAngeloGioacchino Del Regno          - mediatek,mt8192-gce
27cd425807SAngeloGioacchino Del Regno          - mediatek,mt8195-gce
28*26e02e6cSAngeloGioacchino Del Regno      - items:
29*26e02e6cSAngeloGioacchino Del Regno          - const: mediatek,mt6795-gce
30*26e02e6cSAngeloGioacchino Del Regno          - const: mediatek,mt8173-gce
31cd425807SAngeloGioacchino Del Regno
32cd425807SAngeloGioacchino Del Regno  "#mbox-cells":
33cd425807SAngeloGioacchino Del Regno    const: 2
34cd425807SAngeloGioacchino Del Regno    description:
35cd425807SAngeloGioacchino Del Regno      The first cell describes the Thread ID of the GCE,
36cd425807SAngeloGioacchino Del Regno      the second cell describes the priority of the GCE thread
37cd425807SAngeloGioacchino Del Regno
38cd425807SAngeloGioacchino Del Regno  reg:
39cd425807SAngeloGioacchino Del Regno    maxItems: 1
40cd425807SAngeloGioacchino Del Regno
41cd425807SAngeloGioacchino Del Regno  interrupts:
42cd425807SAngeloGioacchino Del Regno    maxItems: 1
43cd425807SAngeloGioacchino Del Regno
44cd425807SAngeloGioacchino Del Regno  clocks:
45cd425807SAngeloGioacchino Del Regno    items:
46cd425807SAngeloGioacchino Del Regno      - description: Global Command Engine clock
47cd425807SAngeloGioacchino Del Regno
48cd425807SAngeloGioacchino Del Regno  clock-names:
49cd425807SAngeloGioacchino Del Regno    items:
50cd425807SAngeloGioacchino Del Regno      - const: gce
51cd425807SAngeloGioacchino Del Regno
52cd425807SAngeloGioacchino Del Regnorequired:
53cd425807SAngeloGioacchino Del Regno  - compatible
54cd425807SAngeloGioacchino Del Regno  - "#mbox-cells"
55cd425807SAngeloGioacchino Del Regno  - reg
56cd425807SAngeloGioacchino Del Regno  - interrupts
57cd425807SAngeloGioacchino Del Regno  - clocks
58cd425807SAngeloGioacchino Del Regno
59cd425807SAngeloGioacchino Del RegnoallOf:
60cd425807SAngeloGioacchino Del Regno  - if:
61cd425807SAngeloGioacchino Del Regno      not:
62cd425807SAngeloGioacchino Del Regno        properties:
63cd425807SAngeloGioacchino Del Regno          compatible:
64cd425807SAngeloGioacchino Del Regno            contains:
65cd425807SAngeloGioacchino Del Regno              const: mediatek,mt8195-gce
66cd425807SAngeloGioacchino Del Regno    then:
67cd425807SAngeloGioacchino Del Regno      required:
68cd425807SAngeloGioacchino Del Regno        - clock-names
69cd425807SAngeloGioacchino Del Regno
70cd425807SAngeloGioacchino Del RegnoadditionalProperties: false
71cd425807SAngeloGioacchino Del Regno
72cd425807SAngeloGioacchino Del Regnoexamples:
73cd425807SAngeloGioacchino Del Regno  - |
74cd425807SAngeloGioacchino Del Regno    #include <dt-bindings/clock/mt8173-clk.h>
75cd425807SAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/arm-gic.h>
76cd425807SAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/irq.h>
77cd425807SAngeloGioacchino Del Regno
78cd425807SAngeloGioacchino Del Regno    soc {
79cd425807SAngeloGioacchino Del Regno        #address-cells = <2>;
80cd425807SAngeloGioacchino Del Regno        #size-cells = <2>;
81cd425807SAngeloGioacchino Del Regno
82cd425807SAngeloGioacchino Del Regno        gce: mailbox@10212000 {
83cd425807SAngeloGioacchino Del Regno            compatible = "mediatek,mt8173-gce";
84cd425807SAngeloGioacchino Del Regno            reg = <0 0x10212000 0 0x1000>;
85cd425807SAngeloGioacchino Del Regno            interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
86cd425807SAngeloGioacchino Del Regno            #mbox-cells = <2>;
87cd425807SAngeloGioacchino Del Regno            clocks = <&infracfg CLK_INFRA_GCE>;
88cd425807SAngeloGioacchino Del Regno            clock-names = "gce";
89cd425807SAngeloGioacchino Del Regno        };
90cd425807SAngeloGioacchino Del Regno    };
91