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