xref: /freebsd/sys/contrib/device-tree/Bindings/mailbox/mediatek,gce-mailbox.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/mediatek,gce-mailbox.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Mediatek Global Command Engine Mailbox
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotmaintainers:
107ef62cebSEmmanuel Vadot  - Houlong Wei <houlong.wei@mediatek.com>
117ef62cebSEmmanuel Vadot
127ef62cebSEmmanuel Vadotdescription:
137ef62cebSEmmanuel Vadot  The Global Command Engine (GCE) is used to help read/write registers with
147ef62cebSEmmanuel Vadot  critical time limitation, such as updating display configuration during the
157ef62cebSEmmanuel Vadot  vblank. The GCE can be used to implement the Command Queue (CMDQ) driver.
167ef62cebSEmmanuel Vadot
177ef62cebSEmmanuel Vadotproperties:
187ef62cebSEmmanuel Vadot  compatible:
197ef62cebSEmmanuel Vadot    enum:
207ef62cebSEmmanuel Vadot      - mediatek,mt6779-gce
217ef62cebSEmmanuel Vadot      - mediatek,mt8173-gce
227ef62cebSEmmanuel Vadot      - mediatek,mt8183-gce
237ef62cebSEmmanuel Vadot      - mediatek,mt8186-gce
24*8bab661aSEmmanuel Vadot      - mediatek,mt8188-gce
257ef62cebSEmmanuel Vadot      - mediatek,mt8192-gce
267ef62cebSEmmanuel Vadot      - mediatek,mt8195-gce
277ef62cebSEmmanuel Vadot
287ef62cebSEmmanuel Vadot  "#mbox-cells":
297ef62cebSEmmanuel Vadot    const: 2
307ef62cebSEmmanuel Vadot    description:
317ef62cebSEmmanuel Vadot      The first cell describes the Thread ID of the GCE,
327ef62cebSEmmanuel Vadot      the second cell describes the priority of the GCE thread
337ef62cebSEmmanuel Vadot
347ef62cebSEmmanuel Vadot  reg:
357ef62cebSEmmanuel Vadot    maxItems: 1
367ef62cebSEmmanuel Vadot
377ef62cebSEmmanuel Vadot  interrupts:
387ef62cebSEmmanuel Vadot    maxItems: 1
397ef62cebSEmmanuel Vadot
407ef62cebSEmmanuel Vadot  clocks:
417ef62cebSEmmanuel Vadot    items:
427ef62cebSEmmanuel Vadot      - description: Global Command Engine clock
437ef62cebSEmmanuel Vadot
447ef62cebSEmmanuel Vadot  clock-names:
457ef62cebSEmmanuel Vadot    items:
467ef62cebSEmmanuel Vadot      - const: gce
477ef62cebSEmmanuel Vadot
487ef62cebSEmmanuel Vadotrequired:
497ef62cebSEmmanuel Vadot  - compatible
507ef62cebSEmmanuel Vadot  - "#mbox-cells"
517ef62cebSEmmanuel Vadot  - reg
527ef62cebSEmmanuel Vadot  - interrupts
537ef62cebSEmmanuel Vadot  - clocks
547ef62cebSEmmanuel Vadot
557ef62cebSEmmanuel VadotallOf:
567ef62cebSEmmanuel Vadot  - if:
577ef62cebSEmmanuel Vadot      not:
587ef62cebSEmmanuel Vadot        properties:
597ef62cebSEmmanuel Vadot          compatible:
607ef62cebSEmmanuel Vadot            contains:
617ef62cebSEmmanuel Vadot              const: mediatek,mt8195-gce
627ef62cebSEmmanuel Vadot    then:
637ef62cebSEmmanuel Vadot      required:
647ef62cebSEmmanuel Vadot        - clock-names
657ef62cebSEmmanuel Vadot
667ef62cebSEmmanuel VadotadditionalProperties: false
677ef62cebSEmmanuel Vadot
687ef62cebSEmmanuel Vadotexamples:
697ef62cebSEmmanuel Vadot  - |
707ef62cebSEmmanuel Vadot    #include <dt-bindings/clock/mt8173-clk.h>
717ef62cebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
727ef62cebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
737ef62cebSEmmanuel Vadot
747ef62cebSEmmanuel Vadot    soc {
757ef62cebSEmmanuel Vadot        #address-cells = <2>;
767ef62cebSEmmanuel Vadot        #size-cells = <2>;
777ef62cebSEmmanuel Vadot
787ef62cebSEmmanuel Vadot        gce: mailbox@10212000 {
797ef62cebSEmmanuel Vadot            compatible = "mediatek,mt8173-gce";
807ef62cebSEmmanuel Vadot            reg = <0 0x10212000 0 0x1000>;
817ef62cebSEmmanuel Vadot            interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
827ef62cebSEmmanuel Vadot            #mbox-cells = <2>;
837ef62cebSEmmanuel Vadot            clocks = <&infracfg CLK_INFRA_GCE>;
847ef62cebSEmmanuel Vadot            clock-names = "gce";
857ef62cebSEmmanuel Vadot        };
867ef62cebSEmmanuel Vadot    };
87