brintos

brintos / linux-shallow public Read only

0
0
Text · 2.6 KiB · c25eed4 Raw
53 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mailbox/mediatek,gce-props.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: MediaTek Global Command Engine Common Properties8 9maintainers:10  - Houlong Wei <houlong.wei@mediatek.com>11 12description:13  The Global Command Engine (GCE) is an instruction based, multi-threaded,14  single-core command dispatcher for MediaTek hardware. The Command Queue15  (CMDQ) mailbox driver is a driver for GCE, implemented using the Linux16  mailbox framework. It is used to receive messages from mailbox consumers17  and configure GCE to execute the specified instruction set in the message.18  We use mediatek,gce-mailbox.yaml to define the properties for CMDQ mailbox19  driver. A device driver that uses the CMDQ driver to configure its hardware20  registers is a mailbox consumer. The mailbox consumer can request a mailbox21  channel corresponding to a GCE hardware thread to send a message, specifying22  that the GCE thread to configure its hardware. The mailbox provider can also23  reserve a mailbox channel to configure GCE hardware register by the specific24  GCE thread. This binding defines the common GCE properties for both mailbox25  provider and consumers.26 27properties:28  mediatek,gce-events:29    description:30      GCE has an event table in SRAM, consisting of 1024 event IDs (0~1023).31      Each event ID has a boolean event value with the default value 0.32      The property mediatek,gce-events is used to obtain the event IDs.33      Some gce-events are hardware-bound and cannot be changed by software.34      For instance, in MT8195, when VDO0_MUTEX is stream done, VDO_MUTEX will35      send an event signal to GCE, setting the value of event ID 597 to 1.36      Similarly, in MT8188, the value of event ID 574 will be set to 1 when37      VOD0_MUTEX is stream done.38      On the other hand, some gce-events are not hardware-bound and can be39      changed by software. For example, in MT8188, we can set the value of40      event ID 855, which is not bound to any hardware, to 1 when the driver41      in the secure world completes a task. However, in MT8195, event ID 85542      is already bound to VDEC_LAT1, so we need to select another event ID to43      achieve the same purpose. This event ID can be any ID that is not bound44      to any hardware and is not yet used in any software driver.45      To determine if the event ID is bound to the hardware or used by a46      software driver, refer to the GCE header47      include/dt-bindings/gce/<chip>-gce.h of each chip.48    $ref: /schemas/types.yaml#/definitions/uint32-array49    minItems: 150    maxItems: 3251 52additionalProperties: true53