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