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