xref: /linux/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml (revision f2b53c2956207b76c42407f3c089a2c1561a58ef)
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:
19cd425807SAngeloGioacchino Del Regno    enum:
20cd425807SAngeloGioacchino Del Regno      - mediatek,mt6779-gce
21cd425807SAngeloGioacchino Del Regno      - mediatek,mt8173-gce
22cd425807SAngeloGioacchino Del Regno      - mediatek,mt8183-gce
23cd425807SAngeloGioacchino Del Regno      - mediatek,mt8186-gce
24*f2b53c29SElvis Wang      - mediatek,mt8188-gce
25cd425807SAngeloGioacchino Del Regno      - mediatek,mt8192-gce
26cd425807SAngeloGioacchino Del Regno      - mediatek,mt8195-gce
27cd425807SAngeloGioacchino Del Regno
28cd425807SAngeloGioacchino Del Regno  "#mbox-cells":
29cd425807SAngeloGioacchino Del Regno    const: 2
30cd425807SAngeloGioacchino Del Regno    description:
31cd425807SAngeloGioacchino Del Regno      The first cell describes the Thread ID of the GCE,
32cd425807SAngeloGioacchino Del Regno      the second cell describes the priority of the GCE thread
33cd425807SAngeloGioacchino Del Regno
34cd425807SAngeloGioacchino Del Regno  reg:
35cd425807SAngeloGioacchino Del Regno    maxItems: 1
36cd425807SAngeloGioacchino Del Regno
37cd425807SAngeloGioacchino Del Regno  interrupts:
38cd425807SAngeloGioacchino Del Regno    maxItems: 1
39cd425807SAngeloGioacchino Del Regno
40cd425807SAngeloGioacchino Del Regno  clocks:
41cd425807SAngeloGioacchino Del Regno    items:
42cd425807SAngeloGioacchino Del Regno      - description: Global Command Engine clock
43cd425807SAngeloGioacchino Del Regno
44cd425807SAngeloGioacchino Del Regno  clock-names:
45cd425807SAngeloGioacchino Del Regno    items:
46cd425807SAngeloGioacchino Del Regno      - const: gce
47cd425807SAngeloGioacchino Del Regno
48cd425807SAngeloGioacchino Del Regnorequired:
49cd425807SAngeloGioacchino Del Regno  - compatible
50cd425807SAngeloGioacchino Del Regno  - "#mbox-cells"
51cd425807SAngeloGioacchino Del Regno  - reg
52cd425807SAngeloGioacchino Del Regno  - interrupts
53cd425807SAngeloGioacchino Del Regno  - clocks
54cd425807SAngeloGioacchino Del Regno
55cd425807SAngeloGioacchino Del RegnoallOf:
56cd425807SAngeloGioacchino Del Regno  - if:
57cd425807SAngeloGioacchino Del Regno      not:
58cd425807SAngeloGioacchino Del Regno        properties:
59cd425807SAngeloGioacchino Del Regno          compatible:
60cd425807SAngeloGioacchino Del Regno            contains:
61cd425807SAngeloGioacchino Del Regno              const: mediatek,mt8195-gce
62cd425807SAngeloGioacchino Del Regno    then:
63cd425807SAngeloGioacchino Del Regno      required:
64cd425807SAngeloGioacchino Del Regno        - clock-names
65cd425807SAngeloGioacchino Del Regno
66cd425807SAngeloGioacchino Del RegnoadditionalProperties: false
67cd425807SAngeloGioacchino Del Regno
68cd425807SAngeloGioacchino Del Regnoexamples:
69cd425807SAngeloGioacchino Del Regno  - |
70cd425807SAngeloGioacchino Del Regno    #include <dt-bindings/clock/mt8173-clk.h>
71cd425807SAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/arm-gic.h>
72cd425807SAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/irq.h>
73cd425807SAngeloGioacchino Del Regno
74cd425807SAngeloGioacchino Del Regno    soc {
75cd425807SAngeloGioacchino Del Regno        #address-cells = <2>;
76cd425807SAngeloGioacchino Del Regno        #size-cells = <2>;
77cd425807SAngeloGioacchino Del Regno
78cd425807SAngeloGioacchino Del Regno        gce: mailbox@10212000 {
79cd425807SAngeloGioacchino Del Regno            compatible = "mediatek,mt8173-gce";
80cd425807SAngeloGioacchino Del Regno            reg = <0 0x10212000 0 0x1000>;
81cd425807SAngeloGioacchino Del Regno            interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
82cd425807SAngeloGioacchino Del Regno            #mbox-cells = <2>;
83cd425807SAngeloGioacchino Del Regno            clocks = <&infracfg CLK_INFRA_GCE>;
84cd425807SAngeloGioacchino Del Regno            clock-names = "gce";
85cd425807SAngeloGioacchino Del Regno        };
86cd425807SAngeloGioacchino Del Regno    };
87