Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp254722imm; Tue, 24 Jul 2018 18:28:48 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfW0p9FzwdXwwgGcDXV2Fq+PrwWnVj409mKBYPVLeb5Qbl/dobwkAQNCotch/sg5O7CKqVE X-Received: by 2002:a63:6345:: with SMTP id x66-v6mr18688081pgb.43.1532482128434; Tue, 24 Jul 2018 18:28:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532482128; cv=none; d=google.com; s=arc-20160816; b=ngIG9VRcDdSAjRir98bO4kJi0plmA/gGQ3yziPz+JPjYDT/K85QHUXInt864FR3HNv qkSeSu1eUJ2tEYW9SwKuIIFv4+viPqnI8PqOXBpGTRWENTXpUuyA/npi9jOTLJt9gI5u puR8egdj3GKPhoGj39JM2mZbnnt/gKfr9ZrkSQcl0WYLWIXm7xP2kyYj0tGN69851eQN BnHf3cS5A6ZcYkMoBbWH42vSDZ6XnwvKrUkLG1JefDG8NasOjhzcYc4sOTKrN4o8ZJ1q rg4Ve48wPuMno+MLU6bBDyCewp2diRt8Ctb6Dwpp7YKIf3YN6cFYizmqoLNu08yyV16H t2Qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=lgeXjsPi+GAfczA78Tg4j5J6hbI/ZxEOQdAeHbZzNTg=; b=icZcVgq6fL5nO0OMXzsGnSgwHf39JDB0ehV3s/AU/rQ4jGKkhgO59Sxus7RNidOf8S K59HPyVeQwQf6vnHwYz5ZzNz3b1nA51jAVU1tGdo9i/zgt7YN712cqHngh2LnuO64Tkw 0IZgFvJvrg+4ivlshYC7xxeS3iOcuHESQ6ktYJAHq42FYww91kY4i6g/5/ldf++NvwrT gEiiAX3RgHpCGqZ9WuPObOkGuq+QIOW2mgePvnVhZldIte8CW6TlQHQp0fB25VvpVb20 GI41tdFgfEnFsDitejps3lqrlnu/J0AvakNKYSTSOBZ7SLToqDfuHc9JGwqnL+KQXFgQ CLjA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g70-v6si13449927pfe.4.2018.07.24.18.28.33; Tue, 24 Jul 2018 18:28:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388613AbeGYCgr (ORCPT + 99 others); Tue, 24 Jul 2018 22:36:47 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:20442 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2388420AbeGYCgr (ORCPT ); Tue, 24 Jul 2018 22:36:47 -0400 X-UUID: 0e96dffd694546158f76bd7557d3b2fe-20180725 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 337621056; Wed, 25 Jul 2018 09:27:31 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 25 Jul 2018 09:27:29 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Wed, 25 Jul 2018 09:27:28 +0800 From: Houlong Wei To: Jassi Brar , Matthias Brugger , Rob Herring CC: Daniel Kurtz , Sascha Hauer , , , , , , Sascha Hauer , Philipp Zabel , Nicolas Boichat , CK HU , Bibby Hsieh , YT Shen , Daoyuan Huang , Jiaguang Zhang , Dennis-YC Hsieh , Monica Wang , Houlong Wei , HS Liao , , Subject: [PATCH v23 1/4] dt-bindings: soc: Add documentation for the MediaTek GCE unit Date: Wed, 25 Jul 2018 09:26:39 +0800 Message-ID: <1532482002-11164-2-git-send-email-houlong.wei@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1532482002-11164-1-git-send-email-houlong.wei@mediatek.com> References: <1532482002-11164-1-git-send-email-houlong.wei@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds documentation for the MediaTek Global Command Engine (GCE) unit found in MT8173 SoCs. Signed-off-by: Houlong Wei Signed-off-by: HS Liao --- .../devicetree/bindings/mailbox/mtk-gce.txt | 57 ++++++++++++++++++++ include/dt-bindings/gce/mt8173-gce.h | 44 +++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 Documentation/devicetree/bindings/mailbox/mtk-gce.txt create mode 100644 include/dt-bindings/gce/mt8173-gce.h diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt new file mode 100644 index 0000000..7d72b21 --- /dev/null +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt @@ -0,0 +1,57 @@ +MediaTek GCE +=============== + +The Global Command Engine (GCE) is used to help read/write registers with +critical time limitation, such as updating display configuration during the +vblank. The GCE can be used to implement the Command Queue (CMDQ) driver. + +CMDQ driver uses mailbox framework for communication. Please refer to +mailbox.txt for generic information about mailbox device-tree bindings. + +Required properties: +- compatible: Must be "mediatek,mt8173-gce" +- reg: Address range of the GCE unit +- interrupts: The interrupt signal from the GCE block +- clock: Clocks according to the common clock binding +- clock-names: Must be "gce" to stand for GCE clock +- #mbox-cells: Should be 3. + <&phandle channel priority atomic_exec> + phandle: Label name of a gce node. + channel: Channel of mailbox. Be equal to the thread id of GCE. + priority: Priority of GCE thread. + atomic_exec: GCE processing continuous packets of commands in atomic + way. + +Required properties for a client device: +- mboxes: Client use mailbox to communicate with GCE, it should have this + property and list of phandle, mailbox specifiers. +- mediatek,gce-subsys: u32, specify the sub-system id which is corresponding + to the register address. + +Some vaules of properties are defined in 'dt-bindings/gce/mt8173-gce.h'. Such as +sub-system ids, thread priority, event ids. + +Example: + + gce: gce@10212000 { + compatible = "mediatek,mt8173-gce"; + reg = <0 0x10212000 0 0x1000>; + interrupts = ; + clocks = <&infracfg CLK_INFRA_GCE>; + clock-names = "gce"; + thread-num = CMDQ_THR_MAX_COUNT; + #mbox-cells = <3>; + }; + +Example for a client device: + + mmsys: clock-controller@14000000 { + compatible = "mediatek,mt8173-mmsys"; + mboxes = <&gce 0 CMDQ_THR_PRIO_LOWEST 1>, + <&gce 1 CMDQ_THR_PRIO_LOWEST 1>; + mediatek,gce-subsys = ; + mutex-event-eof = ; + + ... + }; diff --git a/include/dt-bindings/gce/mt8173-gce.h b/include/dt-bindings/gce/mt8173-gce.h new file mode 100644 index 0000000..ffcf94b --- /dev/null +++ b/include/dt-bindings/gce/mt8173-gce.h @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2018 MediaTek Inc. + * Author: Houlong Wei + * + */ + +#ifndef _DT_BINDINGS_GCE_MT8173_H +#define _DT_BINDINGS_GCE_MT8173_H + +/* GCE HW thread priority */ +#define CMDQ_THR_PRIO_LOWEST 0 +#define CMDQ_THR_PRIO_HIGHEST 1 + +/* GCE SUBSYS */ +#define SUBSYS_1400XXXX 1 +#define SUBSYS_1401XXXX 2 +#define SUBSYS_1402XXXX 3 + +/* GCE HW EVENT */ +#define CMDQ_EVENT_DISP_OVL0_SOF 11 +#define CMDQ_EVENT_DISP_OVL1_SOF 12 +#define CMDQ_EVENT_DISP_RDMA0_SOF 13 +#define CMDQ_EVENT_DISP_RDMA1_SOF 14 +#define CMDQ_EVENT_DISP_RDMA2_SOF 15 +#define CMDQ_EVENT_DISP_WDMA0_SOF 16 +#define CMDQ_EVENT_DISP_WDMA1_SOF 17 +#define CMDQ_EVENT_DISP_OVL0_EOF 39 +#define CMDQ_EVENT_DISP_OVL1_EOF 40 +#define CMDQ_EVENT_DISP_RDMA0_EOF 41 +#define CMDQ_EVENT_DISP_RDMA1_EOF 42 +#define CMDQ_EVENT_DISP_RDMA2_EOF 43 +#define CMDQ_EVENT_DISP_WDMA0_EOF 44 +#define CMDQ_EVENT_DISP_WDMA1_EOF 45 +#define CMDQ_EVENT_MUTEX0_STREAM_EOF 53 +#define CMDQ_EVENT_MUTEX1_STREAM_EOF 54 +#define CMDQ_EVENT_MUTEX2_STREAM_EOF 55 +#define CMDQ_EVENT_MUTEX3_STREAM_EOF 56 +#define CMDQ_EVENT_MUTEX4_STREAM_EOF 57 +#define CMDQ_EVENT_DISP_RDMA0_UNDERRUN 63 +#define CMDQ_EVENT_DISP_RDMA1_UNDERRUN 64 +#define CMDQ_EVENT_DISP_RDMA2_UNDERRUN 65 + +#endif -- 1.7.9.5