From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F080C2D0A8 for ; Wed, 30 Sep 2020 07:08:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0EA39207C3 for ; Wed, 30 Sep 2020 07:08:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="ZhdWn92I" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728514AbgI3HIc (ORCPT ); Wed, 30 Sep 2020 03:08:32 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:49674 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725908AbgI3HIc (ORCPT ); Wed, 30 Sep 2020 03:08:32 -0400 X-UUID: 3b26acc882d949af8b5fe79845616a3b-20200930 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=6cegccRztlqnOd2jQZLfEVhvq3aGHeligU+NhGQgSyg=; b=ZhdWn92Ia5Yg5w8qiB/AdPpk9PAuR3nRHlE9uh5fClZ0tzfIkE9AOhOmT3WM3cV7vdBy/rV/sHBiH4oTZEX0HWGy1On5eLJPA9Z/jdaoAkcVIvZ8yHP2xkuounQqFl6jF/WkS3P9nhc3ur91uQyfRJdE4nOgLGIv/gs8c/mfT18=; X-UUID: 3b26acc882d949af8b5fe79845616a3b-20200930 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1769983411; Wed, 30 Sep 2020 15:08:20 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 30 Sep 2020 15:08:17 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 30 Sep 2020 15:08:18 +0800 From: Yong Wu To: Joerg Roedel , Matthias Brugger , Rob Herring , Robin Murphy , Krzysztof Kozlowski , Will Deacon CC: Evan Green , Tomasz Figa , , , , , , , , , Nicolas Boichat , , , , Greg Kroah-Hartman , Subject: [PATCH v3 06/24] dt-bindings: mediatek: Add binding for mt8192 IOMMU Date: Wed, 30 Sep 2020 15:06:29 +0800 Message-ID: <20200930070647.10188-7-yong.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200930070647.10188-1-yong.wu@mediatek.com> References: <20200930070647.10188-1-yong.wu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhpcyBwYXRjaCBhZGRzIGRlY3JpcHRpb25zIGZvciBtdDgxOTIgSU9NTVUgYW5kIFNNSS4NCg0K bXQ4MTkyIGFsc28gaXMgTVRLIElPTU1VIGdlbjIgd2hpY2ggdXNlcyBBUk0gU2hvcnQtRGVzY3Jp cHRvciB0cmFuc2xhdGlvbg0KdGFibGUgZm9ybWF0LiBUaGUgTTRVLVNNSSBIVyBkaWFncmFtIGlz IGFzIGJlbG93Og0KDQogICAgICAgICAgICAgICAgICAgICAgICAgIEVNSQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgICAgICAgICBNNFUNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0N CiAgICAgICAgICAgICAgICAgICAgICAgU01JIENvbW1vbg0KICAgICAgICAgICAgICAgICAgICAg IC0tLS0tLS0tLS0tLQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICArLS0tLS0tLSst LS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsNCiAgfCAgICAgICB8 ICAgICAgfCAgICAgIHwgICAgICAgLi4uLi4uICAgICAgICAgfCAgICAgICB8DQogIHwgICAgICAg fCAgICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0KbGFyYjAgICBs YXJiMSAgbGFyYjIgIGxhcmI0ICAgICAuLi4uLi4gICAgICBsYXJiMTkgICBsYXJiMjANCmRpc3Aw ICAgZGlzcDEgICBtZHAgICAgdmRlYyAgICAgICAgICAgICAgICAgICBJUEUgICAgICBJUEUNCg0K QWxsIHRoZSBjb25uZWN0aW9ucyBhcmUgSFcgZml4ZWQsIFNXIGNhbiBOT1QgYWRqdXN0IGl0Lg0K DQptdDgxOTIgTTRVIHN1cHBvcnQgMH4xNkdCIGlvdmEgcmFuZ2UuIHdlIHByZWFzc2lnbiBkaWZm ZXJlbnQgZW5naW5lcw0KaW50byBkaWZmZXJlbnQgaW92YSByYW5nZXM6DQoNCmRvbWFpbi1pZCAg bW9kdWxlICAgICBpb3ZhLXJhbmdlICAgICAgICAgICAgICAgICAgbGFyYnMNCiAgIDAgICAgICAg ZGlzcCAgICAgICAgMCB+IDRHICAgICAgICAgICAgICAgICAgICAgIGxhcmIwLzENCiAgIDEgICAg ICAgdmNvZGVjICAgICAgNEcgfiA4RyAgICAgICAgICAgICAgICAgICAgIGxhcmI0LzUvNw0KICAg MiAgICAgICBjYW0vbWRwICAgICA4RyB+IDEyRyAgICAgICAgICAgICBsYXJiMi85LzExLzEzLzE0 LzE2LzE3LzE4LzE5LzIwDQogICAzICAgICAgIENDVTAgICAgMHg0MDAwXzAwMDAgfiAweDQzZmZf ZmZmZiAgICAgbGFyYjEzOiBwb3J0IDkvMTANCiAgIDQgICAgICAgQ0NVMSAgICAweDQ0MDBfMDAw MCB+IDB4NDdmZl9mZmZmICAgICBsYXJiMTQ6IHBvcnQgNC81DQoNClRoZSBpb3ZhIHJhbmdlIGZv ciBDQ1UwLzEoY2FtZXJhIGNvbnRyb2wgdW5pdCkgaXMgSFcgcmVxdWlyZW1lbnQuDQoNClNpZ25l ZC1vZmYtYnk6IFlvbmcgV3UgPHlvbmcud3VAbWVkaWF0ZWsuY29tPg0KUmV2aWV3ZWQtYnk6IFJv YiBIZXJyaW5nIDxyb2JoQGtlcm5lbC5vcmc+DQotLS0NCiAuLi4vYmluZGluZ3MvaW9tbXUvbWVk aWF0ZWssaW9tbXUueWFtbCAgICAgICAgfCAgIDkgKy0NCiAuLi4vbWVkaWF0ZWssc21pLWNvbW1v bi55YW1sICAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCiAuLi4vbWVtb3J5LWNvbnRyb2xsZXJz L21lZGlhdGVrLHNtaS1sYXJiLnlhbWwgfCAgIDMgKy0NCiBpbmNsdWRlL2R0LWJpbmRpbmdzL21l bW9yeS9tdDgxOTItbGFyYi1wb3J0LmggfCAyMzkgKysrKysrKysrKysrKysrKysrDQogNCBmaWxl cyBjaGFuZ2VkLCAyNTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCiBjcmVhdGUgbW9k ZSAxMDA2NDQgaW5jbHVkZS9kdC1iaW5kaW5ncy9tZW1vcnkvbXQ4MTkyLWxhcmItcG9ydC5oDQoN CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaW9tbXUvbWVk aWF0ZWssaW9tbXUueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pb21t dS9tZWRpYXRlayxpb21tdS55YW1sDQppbmRleCBlYWU3NzNhZDUzYTMuLmE3ZjQxY2RmM2FjYSAx MDA2NDQNCi0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pb21tdS9tZWRp YXRlayxpb21tdS55YW1sDQorKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv aW9tbXUvbWVkaWF0ZWssaW9tbXUueWFtbA0KQEAgLTc1LDYgKzc1LDcgQEAgcHJvcGVydGllczoN CiAgICAgICAgICAgLSBtZWRpYXRlayxtdDY3NzktbTR1ICMgbXQ2Nzc5IGdlbmVyYXRpb24gdHdv IEhXDQogICAgICAgICAgIC0gbWVkaWF0ZWssbXQ4MTczLW00dSAjIG10ODE3MyBnZW5lcmF0aW9u IHR3byBIVw0KICAgICAgICAgICAtIG1lZGlhdGVrLG10ODE4My1tNHUgIyBtdDgxODMgZ2VuZXJh dGlvbiB0d28gSFcNCisgICAgICAgICAgLSBtZWRpYXRlayxtdDgxOTItbTR1ICMgbXQ4MTkyIGdl bmVyYXRpb24gdHdvIEhXDQogDQogICAgICAgLSBkZXNjcmlwdGlvbjogbXQ3NjIzIGdlbmVyYXRp b24gb25lIEhXDQogICAgICAgICBpdGVtczoNCkBAIC05MCw3ICs5MSw3IEBAIHByb3BlcnRpZXM6 DQogICBjbG9ja3M6DQogICAgIGRlc2NyaXB0aW9uOiB8DQogICAgICAgYmNsayBpcyBvcHRpb25h bC4gaGVyZSBpcyB0aGUgbGlzdCB3aGljaCByZXF1aXJlIHRoaXMgYmNsazoNCi0gICAgICBtdDI3 MDEsIG10MjcxMiwgbXQ3NjIzIGFuZCBtdDgxNzMuDQorICAgICAgbXQyNzAxLCBtdDI3MTIsIG10 NzYyMywgbXQ4MTczIGFuZCBtdDgxOTIuDQogICAgICAgTTRVIHdpbGwgdXNlIHRoZSBFTUkgY2xv Y2sgd2hpY2ggYWx3YXlzIGhhcyBiZWVuIGVuYWJsZWQgYmVmb3JlDQogICAgICAga2VybmVsIGlm IHRoZXJlIGlzIG5vIHRoaXMgYmNsay4NCiAgICAgaXRlbXM6DQpAQCAtMTE2LDcgKzExNywxMSBA QCBwcm9wZXJ0aWVzOg0KICAgICAgIGR0LWJpbmRpbmcvbWVtb3J5L210MjcxMi1sYXJiLXBvcnQu aCBmb3IgbXQyNzEyLA0KICAgICAgIGR0LWJpbmRpbmcvbWVtb3J5L210Njc3OS1sYXJiLXBvcnQu aCBmb3IgbXQ2Nzc5LA0KICAgICAgIGR0LWJpbmRpbmcvbWVtb3J5L210ODE3My1sYXJiLXBvcnQu aCBmb3IgbXQ4MTczLA0KLSAgICAgIGR0LWJpbmRpbmcvbWVtb3J5L210ODE4My1sYXJiLXBvcnQu aCBmb3IgbXQ4MTgzLg0KKyAgICAgIGR0LWJpbmRpbmcvbWVtb3J5L210ODE4My1sYXJiLXBvcnQu aCBmb3IgbXQ4MTgzLA0KKyAgICAgIGR0LWJpbmRpbmcvbWVtb3J5L210ODE5Mi1sYXJiLXBvcnQu aCBmb3IgbXQ4MTkyLg0KKw0KKyAgcG93ZXItZG9tYWluczoNCisgICAgbWF4SXRlbXM6IDENCiAN CiByZXF1aXJlZDoNCiAgIC0gY29tcGF0aWJsZQ0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9tZW1vcnktY29udHJvbGxlcnMvbWVkaWF0ZWssc21pLWNvbW1v bi55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21lbW9yeS1jb250cm9s bGVycy9tZWRpYXRlayxzbWktY29tbW9uLnlhbWwNCmluZGV4IDc2ZWNjNzIwNTQzOC4uZDNjYjRk ODUzZTcxIDEwMDY0NA0KLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21l bW9yeS1jb250cm9sbGVycy9tZWRpYXRlayxzbWktY29tbW9uLnlhbWwNCisrKyBiL0RvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZW1vcnktY29udHJvbGxlcnMvbWVkaWF0ZWssc21p LWNvbW1vbi55YW1sDQpAQCAtMTUsNyArMTUsNyBAQCBkZXNjcmlwdGlvbjogfCsNCiAgIE1lZGlh VGVrIFNNSSBoYXZlIHR3byBnZW5lcmF0aW9ucyBvZiBIVyBhcmNoaXRlY3R1cmUsIGhlcmUgaXMg dGhlIGxpc3QNCiAgIHdoaWNoIGdlbmVyYXRpb24gdGhlIFNvQ3MgdXNlOg0KICAgZ2VuZXJhdGlv biAxOiBtdDI3MDEgYW5kIG10NzYyMy4NCi0gIGdlbmVyYXRpb24gMjogbXQyNzEyLCBtdDY3Nzks IG10ODE3MyBhbmQgbXQ4MTgzLg0KKyAgZ2VuZXJhdGlvbiAyOiBtdDI3MTIsIG10Njc3OSwgbXQ4 MTczLCBtdDgxODMgYW5kIG10ODE5Mi4NCiANCiAgIFRoZXJlJ3Mgc2xpZ2h0IGRpZmZlcmVuY2Vz IGJldHdlZW4gdGhlIHR3byBTTUksIGZvciBnZW5lcmF0aW9uIDIsIHRoZQ0KICAgcmVnaXN0ZXIg d2hpY2ggY29udHJvbCB0aGUgaW9tbXUgcG9ydCBpcyBhdCBlYWNoIGxhcmIncyByZWdpc3RlciBi YXNlLiBCdXQNCkBAIC0zMyw2ICszMyw3IEBAIHByb3BlcnRpZXM6DQogICAgICAgICAgIC0gbWVk aWF0ZWssbXQ2Nzc5LXNtaS1jb21tb24NCiAgICAgICAgICAgLSBtZWRpYXRlayxtdDgxNzMtc21p LWNvbW1vbg0KICAgICAgICAgICAtIG1lZGlhdGVrLG10ODE4My1zbWktY29tbW9uDQorICAgICAg ICAgIC0gbWVkaWF0ZWssbXQ4MTkyLXNtaS1jb21tb24NCiANCiAgICAgICAtIGRlc2NyaXB0aW9u OiBmb3IgbXQ3NjIzDQogICAgICAgICBpdGVtczoNCkBAIC00Niw3ICs0Nyw3IEBAIHByb3BlcnRp ZXM6DQogICAgIGRlc2NyaXB0aW9uOiB8DQogICAgICAgYXBiIGFuZCBzbWkgYXJlIG1hbmRhdG9y eS4gdGhlIGFzeW5jIGlzIG9ubHkgZm9yIGdlbmVyYXRpb24gMSBzbWkgSFcuDQogICAgICAgZ2Fs cyhnbG9iYWwgYXN5bmMgbG9jYWwgc3luYykgYWxzbyBpcyBvcHRpb25hbCwgaGVyZSBpcyB0aGUg bGlzdCB3aGljaA0KLSAgICAgIHJlcXVpcmUgZ2FsczogbXQ2Nzc5IGFuZCBtdDgxODMuDQorICAg ICAgcmVxdWlyZSBnYWxzOiBtdDY3NzksIG10ODE4MyBhbmQgbXQ4MTkyLg0KICAgICBtaW5JdGVt czogMg0KICAgICBtYXhJdGVtczogNA0KICAgICBpdGVtczoNCmRpZmYgLS1naXQgYS9Eb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWVtb3J5LWNvbnRyb2xsZXJzL21lZGlhdGVrLHNt aS1sYXJiLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWVtb3J5LWNv bnRyb2xsZXJzL21lZGlhdGVrLHNtaS1sYXJiLnlhbWwNCmluZGV4IGVhNDE4MTEzYmYyNy4uZjVi YTQzNjM4YzM3IDEwMDY0NA0KLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdz L21lbW9yeS1jb250cm9sbGVycy9tZWRpYXRlayxzbWktbGFyYi55YW1sDQorKysgYi9Eb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWVtb3J5LWNvbnRyb2xsZXJzL21lZGlhdGVrLHNt aS1sYXJiLnlhbWwNCkBAIC0yMSw2ICsyMSw3IEBAIHByb3BlcnRpZXM6DQogICAgICAgICAgIC0g bWVkaWF0ZWssbXQ2Nzc5LXNtaS1sYXJiDQogICAgICAgICAgIC0gbWVkaWF0ZWssbXQ4MTczLXNt aS1sYXJiDQogICAgICAgICAgIC0gbWVkaWF0ZWssbXQ4MTgzLXNtaS1sYXJiDQorICAgICAgICAg IC0gbWVkaWF0ZWssbXQ4MTkyLXNtaS1sYXJiDQogDQogICAgICAgLSBkZXNjcmlwdGlvbjogZm9y IG10NzYyMw0KICAgICAgICAgaXRlbXM6DQpAQCAtNjQsNyArNjUsNyBAQCBwcm9wZXJ0aWVzOg0K ICAgICBtaW5pbXVtOiAwDQogICAgIG1heGltdW06IDMxDQogICAgIGRlc2NyaXB0aW9uOiB0aGUg aGFyZHdhcmUgaWQgb2YgdGhpcyBsYXJiLg0KLSAgICAgIFJlcXVpcmVkIHByb3BlcnR5IGZvciBt dDI3MDEsIG10MjcxMiwgbXQ2Nzc5IGFuZCBtdDc2MjMuDQorICAgICAgUmVxdWlyZWQgcHJvcGVy dHkgZm9yIG10MjcwMSwgbXQyNzEyLCBtdDY3NzksIG10NzYyMyBhbmQgbXQ4MTkyLg0KIA0KIHJl cXVpcmVkOg0KICAgLSBjb21wYXRpYmxlDQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kdC1iaW5kaW5n cy9tZW1vcnkvbXQ4MTkyLWxhcmItcG9ydC5oIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9tZW1vcnkv bXQ4MTkyLWxhcmItcG9ydC5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAw MDAwLi40MWMyNTM2NjJlOTANCi0tLSAvZGV2L251bGwNCisrKyBiL2luY2x1ZGUvZHQtYmluZGlu Z3MvbWVtb3J5L210ODE5Mi1sYXJiLXBvcnQuaA0KQEAgLTAsMCArMSwyMzkgQEANCisvKiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovDQorLyoNCisgKiBDb3B5cmlnaHQg KGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKyAqIEF1dGhvcjogQ2hhbyBIYW8gPGNoYW8uaGFvQG1l ZGlhdGVrLmNvbT4NCisgKiBBdXRob3I6IFlvbmcgV3UgPHlvbmcud3VAbWVkaWF0ZWsuY29tPg0K KyAqLw0KKyNpZm5kZWYgX0RUU19JT01NVV9QT1JUX01UODE5Ml9IXw0KKyNkZWZpbmUgX0RUU19J T01NVV9QT1JUX01UODE5Ml9IXw0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9tZW1vcnkvbXRr LXNtaS1sYXJiLXBvcnQuaD4NCisNCisvKg0KKyAqIE1NIElPTU1VOg0KKyAqIGRvbWFpbiAwOiBk aXNwbGF5OiBsYXJiMCwgbGFyYjEuDQorICogZG9tYWluIDE6IHZjb2RlYzogbGFyYjQsIGxhcmI1 LCBsYXJiNy4NCisgKiBkb21haW4gMjogQ0FNL01EUDogbGFyYjIsIGxhcmI5LCBsYXJiMTEsIGxh cmIxMywgbGFyYjE0LCBsYXJiMTYsDQorICogICAgICAgICAgIGxhcmIxNywgbGFyYjE4LCBsYXJi MTksIGxhcmIyMCwNCisgKiBkb21haW4gMzogQ0NVMDogbGFyYjEzIC0gcG9ydDkvMTAuDQorICog ZG9tYWluIDQ6IENDVTE6IGxhcmIxNCAtIHBvcnQ0LzUuDQorICoNCisgKiBsYXJiMy82LzgvMTAv MTIvMTUgaXMgbnVsbC4NCisgKi8NCisNCisvKiBsYXJiMCAqLw0KKyNkZWZpbmUgTTRVX1BPUlRf TDBfRElTUF9QT1NUTUFTSzAJCU1US19NNFVfRE9NX0lEKDAsIDAsIDApDQorI2RlZmluZSBNNFVf UE9SVF9MMF9PVkxfUkRNQTBfSERSCQlNVEtfTTRVX0RPTV9JRCgwLCAwLCAxKQ0KKyNkZWZpbmUg TTRVX1BPUlRfTDBfT1ZMX1JETUEwCQkJTVRLX000VV9ET01fSUQoMCwgMCwgMikNCisjZGVmaW5l IE00VV9QT1JUX0wwX0RJU1BfUkRNQTAJCQlNVEtfTTRVX0RPTV9JRCgwLCAwLCAzKQ0KKyNkZWZp bmUgTTRVX1BPUlRfTDBfRElTUF9XRE1BMAkJCU1US19NNFVfRE9NX0lEKDAsIDAsIDQpDQorI2Rl ZmluZSBNNFVfUE9SVF9MMF9ESVNQX0ZBS0UwCQkJTVRLX000VV9ET01fSUQoMCwgMCwgNSkNCisN CisvKiBsYXJiMSAqLw0KKyNkZWZpbmUgTTRVX1BPUlRfTDFfT1ZMXzJMX1JETUEwX0hEUgkJTVRL X000VV9ET01fSUQoMCwgMSwgMCkNCisjZGVmaW5lIE00VV9QT1JUX0wxX09WTF8yTF9SRE1BMl9I RFIJCU1US19NNFVfRE9NX0lEKDAsIDEsIDEpDQorI2RlZmluZSBNNFVfUE9SVF9MMV9PVkxfMkxf UkRNQTAJCU1US19NNFVfRE9NX0lEKDAsIDEsIDIpDQorI2RlZmluZSBNNFVfUE9SVF9MMV9PVkxf MkxfUkRNQTIJCU1US19NNFVfRE9NX0lEKDAsIDEsIDMpDQorI2RlZmluZSBNNFVfUE9SVF9MMV9E SVNQX01EUF9SRE1BNAkJTVRLX000VV9ET01fSUQoMCwgMSwgNCkNCisjZGVmaW5lIE00VV9QT1JU X0wxX0RJU1BfUkRNQTQJCQlNVEtfTTRVX0RPTV9JRCgwLCAxLCA1KQ0KKyNkZWZpbmUgTTRVX1BP UlRfTDFfRElTUF9VRkJDX1dETUEwCQlNVEtfTTRVX0RPTV9JRCgwLCAxLCA2KQ0KKyNkZWZpbmUg TTRVX1BPUlRfTDFfRElTUF9GQUtFMQkJCU1US19NNFVfRE9NX0lEKDAsIDEsIDcpDQorDQorLyog bGFyYjIgKi8NCisjZGVmaW5lIE00VV9QT1JUX0wyX01EUF9SRE1BMAkJCU1US19NNFVfRE9NX0lE KDIsIDIsIDApDQorI2RlZmluZSBNNFVfUE9SVF9MMl9NRFBfUkRNQTEJCQlNVEtfTTRVX0RPTV9J RCgyLCAyLCAxKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDJfTURQX1dST1QwCQkJTVRLX000VV9ET01f SUQoMiwgMiwgMikNCisjZGVmaW5lIE00VV9QT1JUX0wyX01EUF9XUk9UMQkJCU1US19NNFVfRE9N X0lEKDIsIDIsIDMpDQorI2RlZmluZSBNNFVfUE9SVF9MMl9NRFBfRElTUF9GQUtFMAkJTVRLX000 VV9ET01fSUQoMiwgMiwgNCkNCisNCisvKiBsYXJiMzogbnVsbCAqLw0KKw0KKy8qIGxhcmI0ICov DQorI2RlZmluZSBNNFVfUE9SVF9MNF9WREVDX01DX0VYVAkJCU1US19NNFVfRE9NX0lEKDEsIDQs IDApDQorI2RlZmluZSBNNFVfUE9SVF9MNF9WREVDX1VGT19FWFQJCU1US19NNFVfRE9NX0lEKDEs IDQsIDEpDQorI2RlZmluZSBNNFVfUE9SVF9MNF9WREVDX1BQX0VYVAkJCU1US19NNFVfRE9NX0lE KDEsIDQsIDIpDQorI2RlZmluZSBNNFVfUE9SVF9MNF9WREVDX1BSRURfUkRfRVhUCQlNVEtfTTRV X0RPTV9JRCgxLCA0LCAzKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDRfVkRFQ19QUkVEX1dSX0VYVAkJ TVRLX000VV9ET01fSUQoMSwgNCwgNCkNCisjZGVmaW5lIE00VV9QT1JUX0w0X1ZERUNfUFBXUkFQ X0VYVAkJTVRLX000VV9ET01fSUQoMSwgNCwgNSkNCisjZGVmaW5lIE00VV9QT1JUX0w0X1ZERUNf VElMRV9FWFQJCU1US19NNFVfRE9NX0lEKDEsIDQsIDYpDQorI2RlZmluZSBNNFVfUE9SVF9MNF9W REVDX1ZMRF9FWFQJCU1US19NNFVfRE9NX0lEKDEsIDQsIDcpDQorI2RlZmluZSBNNFVfUE9SVF9M NF9WREVDX1ZMRDJfRVhUCQlNVEtfTTRVX0RPTV9JRCgxLCA0LCA4KQ0KKyNkZWZpbmUgTTRVX1BP UlRfTDRfVkRFQ19BVkNfTVZfRVhUCQlNVEtfTTRVX0RPTV9JRCgxLCA0LCA5KQ0KKyNkZWZpbmUg TTRVX1BPUlRfTDRfVkRFQ19SR19DVFJMX0RNQV9FWFQJTVRLX000VV9ET01fSUQoMSwgNCwgMTAp DQorDQorLyogbGFyYjUgKi8NCisjZGVmaW5lIE00VV9QT1JUX0w1X1ZERUNfTEFUMF9WTERfRVhU CQlNVEtfTTRVX0RPTV9JRCgxLCA1LCAwKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDVfVkRFQ19MQVQw X1ZMRDJfRVhUCQlNVEtfTTRVX0RPTV9JRCgxLCA1LCAxKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDVf VkRFQ19MQVQwX0FWQ19NVl9FWFQJTVRLX000VV9ET01fSUQoMSwgNSwgMikNCisjZGVmaW5lIE00 VV9QT1JUX0w1X1ZERUNfTEFUMF9QUkVEX1JEX0VYVAlNVEtfTTRVX0RPTV9JRCgxLCA1LCAzKQ0K KyNkZWZpbmUgTTRVX1BPUlRfTDVfVkRFQ19MQVQwX1RJTEVfRVhUCQlNVEtfTTRVX0RPTV9JRCgx LCA1LCA0KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDVfVkRFQ19MQVQwX1dETUFfRVhUCQlNVEtfTTRV X0RPTV9JRCgxLCA1LCA1KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDVfVkRFQ19MQVQwX1JHX0NUUkxf RE1BX0VYVAlNVEtfTTRVX0RPTV9JRCgxLCA1LCA2KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDVfVkRF Q19VRk9fRU5DX0VYVAkJTVRLX000VV9ET01fSUQoMSwgNSwgNykNCisNCisvKiBsYXJiNjogbnVs bCAqLw0KKw0KKy8qIGxhcmI3ICovDQorI2RlZmluZSBNNFVfUE9SVF9MN19WRU5DX1JDUFUJCQlN VEtfTTRVX0RPTV9JRCgxLCA3LCAwKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDdfVkVOQ19SRUMJCQlN VEtfTTRVX0RPTV9JRCgxLCA3LCAxKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDdfVkVOQ19CU0RNQQkJ CU1US19NNFVfRE9NX0lEKDEsIDcsIDIpDQorI2RlZmluZSBNNFVfUE9SVF9MN19WRU5DX1NWX0NP TVYJCU1US19NNFVfRE9NX0lEKDEsIDcsIDMpDQorI2RlZmluZSBNNFVfUE9SVF9MN19WRU5DX1JE X0NPTVYJCU1US19NNFVfRE9NX0lEKDEsIDcsIDQpDQorI2RlZmluZSBNNFVfUE9SVF9MN19WRU5D X0NVUl9MVU1BCQlNVEtfTTRVX0RPTV9JRCgxLCA3LCA1KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDdf VkVOQ19DVVJfQ0hST01BCQlNVEtfTTRVX0RPTV9JRCgxLCA3LCA2KQ0KKyNkZWZpbmUgTTRVX1BP UlRfTDdfVkVOQ19SRUZfTFVNQQkJTVRLX000VV9ET01fSUQoMSwgNywgNykNCisjZGVmaW5lIE00 VV9QT1JUX0w3X1ZFTkNfUkVGX0NIUk9NQQkJTVRLX000VV9ET01fSUQoMSwgNywgOCkNCisjZGVm aW5lIE00VV9QT1JUX0w3X0pQR0VOQ19ZX1JETUEJCU1US19NNFVfRE9NX0lEKDEsIDcsIDkpDQor I2RlZmluZSBNNFVfUE9SVF9MN19KUEdFTkNfUV9SRE1BCQlNVEtfTTRVX0RPTV9JRCgxLCA3LCAx MCkNCisjZGVmaW5lIE00VV9QT1JUX0w3X0pQR0VOQ19DX1RBQkxFCQlNVEtfTTRVX0RPTV9JRCgx LCA3LCAxMSkNCisjZGVmaW5lIE00VV9QT1JUX0w3X0pQR0VOQ19CU0RNQQkJTVRLX000VV9ET01f SUQoMSwgNywgMTIpDQorI2RlZmluZSBNNFVfUE9SVF9MN19WRU5DX1NVQl9SX0xVTUEJCU1US19N NFVfRE9NX0lEKDEsIDcsIDEzKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDdfVkVOQ19TVUJfV19MVU1B CQlNVEtfTTRVX0RPTV9JRCgxLCA3LCAxNCkNCisNCisvKiBsYXJiODogbnVsbCAqLw0KKw0KKy8q IGxhcmI5ICovDQorI2RlZmluZSBNNFVfUE9SVF9MOV9JTUdfSU1HSV9EMQkJCU1US19NNFVfRE9N X0lEKDIsIDksIDApDQorI2RlZmluZSBNNFVfUE9SVF9MOV9JTUdfSU1HQklfRDEJCU1US19NNFVf RE9NX0lEKDIsIDksIDEpDQorI2RlZmluZSBNNFVfUE9SVF9MOV9JTUdfRE1HSV9EMQkJCU1US19N NFVfRE9NX0lEKDIsIDksIDIpDQorI2RlZmluZSBNNFVfUE9SVF9MOV9JTUdfREVQSV9EMQkJCU1U S19NNFVfRE9NX0lEKDIsIDksIDMpDQorI2RlZmluZSBNNFVfUE9SVF9MOV9JTUdfSUNFX0QxCQkJ TVRLX000VV9ET01fSUQoMiwgOSwgNCkNCisjZGVmaW5lIE00VV9QT1JUX0w5X0lNR19TTVRJX0Qx CQkJTVRLX000VV9ET01fSUQoMiwgOSwgNSkNCisjZGVmaW5lIE00VV9QT1JUX0w5X0lNR19TTVRP X0QyCQkJTVRLX000VV9ET01fSUQoMiwgOSwgNikNCisjZGVmaW5lIE00VV9QT1JUX0w5X0lNR19T TVRPX0QxCQkJTVRLX000VV9ET01fSUQoMiwgOSwgNykNCisjZGVmaW5lIE00VV9QT1JUX0w5X0lN R19DUlpPX0QxCQkJTVRLX000VV9ET01fSUQoMiwgOSwgOCkNCisjZGVmaW5lIE00VV9QT1JUX0w5 X0lNR19JTUczT19EMQkJTVRLX000VV9ET01fSUQoMiwgOSwgOSkNCisjZGVmaW5lIE00VV9QT1JU X0w5X0lNR19WSVBJX0QxCQkJTVRLX000VV9ET01fSUQoMiwgOSwgMTApDQorI2RlZmluZSBNNFVf UE9SVF9MOV9JTUdfU01USV9ENQkJCU1US19NNFVfRE9NX0lEKDIsIDksIDExKQ0KKyNkZWZpbmUg TTRVX1BPUlRfTDlfSU1HX1RJTUdPX0QxCQlNVEtfTTRVX0RPTV9JRCgyLCA5LCAxMikNCisjZGVm aW5lIE00VV9QT1JUX0w5X0lNR19VRkJDX1cwCQkJTVRLX000VV9ET01fSUQoMiwgOSwgMTMpDQor I2RlZmluZSBNNFVfUE9SVF9MOV9JTUdfVUZCQ19SMAkJCU1US19NNFVfRE9NX0lEKDIsIDksIDE0 KQ0KKw0KKy8qIGxhcmIxMDogbnVsbCAqLw0KKw0KKy8qIGxhcmIxMSAqLw0KKyNkZWZpbmUgTTRV X1BPUlRfTDExX0lNR19JTUdJX0QxCQlNVEtfTTRVX0RPTV9JRCgyLCAxMSwgMCkNCisjZGVmaW5l IE00VV9QT1JUX0wxMV9JTUdfSU1HQklfRDEJCU1US19NNFVfRE9NX0lEKDIsIDExLCAxKQ0KKyNk ZWZpbmUgTTRVX1BPUlRfTDExX0lNR19ETUdJX0QxCQlNVEtfTTRVX0RPTV9JRCgyLCAxMSwgMikN CisjZGVmaW5lIE00VV9QT1JUX0wxMV9JTUdfREVQSV9EMQkJTVRLX000VV9ET01fSUQoMiwgMTEs IDMpDQorI2RlZmluZSBNNFVfUE9SVF9MMTFfSU1HX0lDRV9EMQkJCU1US19NNFVfRE9NX0lEKDIs IDExLCA0KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDExX0lNR19TTVRJX0QxCQlNVEtfTTRVX0RPTV9J RCgyLCAxMSwgNSkNCisjZGVmaW5lIE00VV9QT1JUX0wxMV9JTUdfU01UT19EMgkJTVRLX000VV9E T01fSUQoMiwgMTEsIDYpDQorI2RlZmluZSBNNFVfUE9SVF9MMTFfSU1HX1NNVE9fRDEJCU1US19N NFVfRE9NX0lEKDIsIDExLCA3KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDExX0lNR19DUlpPX0QxCQlN VEtfTTRVX0RPTV9JRCgyLCAxMSwgOCkNCisjZGVmaW5lIE00VV9QT1JUX0wxMV9JTUdfSU1HM09f RDEJCU1US19NNFVfRE9NX0lEKDIsIDExLCA5KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDExX0lNR19W SVBJX0QxCQlNVEtfTTRVX0RPTV9JRCgyLCAxMSwgMTApDQorI2RlZmluZSBNNFVfUE9SVF9MMTFf SU1HX1NNVElfRDUJCU1US19NNFVfRE9NX0lEKDIsIDExLCAxMSkNCisjZGVmaW5lIE00VV9QT1JU X0wxMV9JTUdfVElNR09fRDEJCU1US19NNFVfRE9NX0lEKDIsIDExLCAxMikNCisjZGVmaW5lIE00 VV9QT1JUX0wxMV9JTUdfVUZCQ19XMAkJTVRLX000VV9ET01fSUQoMiwgMTEsIDEzKQ0KKyNkZWZp bmUgTTRVX1BPUlRfTDExX0lNR19VRkJDX1IwCQlNVEtfTTRVX0RPTV9JRCgyLCAxMSwgMTQpDQor I2RlZmluZSBNNFVfUE9SVF9MMTFfSU1HX1dQRV9SRE1BMQkJTVRLX000VV9ET01fSUQoMiwgMTEs IDE1KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDExX0lNR19XUEVfUkRNQTAJCU1US19NNFVfRE9NX0lE KDIsIDExLCAxNikNCisjZGVmaW5lIE00VV9QT1JUX0wxMV9JTUdfV1BFX1dETUEJCU1US19NNFVf RE9NX0lEKDIsIDExLCAxNykNCisjZGVmaW5lIE00VV9QT1JUX0wxMV9JTUdfTUZCX1JETUEwCQlN VEtfTTRVX0RPTV9JRCgyLCAxMSwgMTgpDQorI2RlZmluZSBNNFVfUE9SVF9MMTFfSU1HX01GQl9S RE1BMQkJTVRLX000VV9ET01fSUQoMiwgMTEsIDE5KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDExX0lN R19NRkJfUkRNQTIJCU1US19NNFVfRE9NX0lEKDIsIDExLCAyMCkNCisjZGVmaW5lIE00VV9QT1JU X0wxMV9JTUdfTUZCX1JETUEzCQlNVEtfTTRVX0RPTV9JRCgyLCAxMSwgMjEpDQorI2RlZmluZSBN NFVfUE9SVF9MMTFfSU1HX01GQl9SRE1BNAkJTVRLX000VV9ET01fSUQoMiwgMTEsIDIyKQ0KKyNk ZWZpbmUgTTRVX1BPUlRfTDExX0lNR19NRkJfUkRNQTUJCU1US19NNFVfRE9NX0lEKDIsIDExLCAy MykNCisjZGVmaW5lIE00VV9QT1JUX0wxMV9JTUdfTUZCX1dETUEwCQlNVEtfTTRVX0RPTV9JRCgy LCAxMSwgMjQpDQorI2RlZmluZSBNNFVfUE9SVF9MMTFfSU1HX01GQl9XRE1BMQkJTVRLX000VV9E T01fSUQoMiwgMTEsIDI1KQ0KKw0KKy8qIGxhcmIxMjogbnVsbCAqLw0KKw0KKy8qIGxhcmIxMyAq Lw0KKyNkZWZpbmUgTTRVX1BPUlRfTDEzX0NBTV9NUkFXSQkJCU1US19NNFVfRE9NX0lEKDIsIDEz LCAwKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDEzX0NBTV9NUkFXTzAJCQlNVEtfTTRVX0RPTV9JRCgy LCAxMywgMSkNCisjZGVmaW5lIE00VV9QT1JUX0wxM19DQU1fTVJBV08xCQkJTVRLX000VV9ET01f SUQoMiwgMTMsIDIpDQorI2RlZmluZSBNNFVfUE9SVF9MMTNfQ0FNX0NBTVNWMQkJCU1US19NNFVf RE9NX0lEKDIsIDEzLCAzKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDEzX0NBTV9DQU1TVjIJCQlNVEtf TTRVX0RPTV9JRCgyLCAxMywgNCkNCisjZGVmaW5lIE00VV9QT1JUX0wxM19DQU1fQ0FNU1YzCQkJ TVRLX000VV9ET01fSUQoMiwgMTMsIDUpDQorI2RlZmluZSBNNFVfUE9SVF9MMTNfQ0FNX0NBTVNW NAkJCU1US19NNFVfRE9NX0lEKDIsIDEzLCA2KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDEzX0NBTV9D QU1TVjUJCQlNVEtfTTRVX0RPTV9JRCgyLCAxMywgNykNCisjZGVmaW5lIE00VV9QT1JUX0wxM19D QU1fQ0FNU1Y2CQkJTVRLX000VV9ET01fSUQoMiwgMTMsIDgpDQorI2RlZmluZSBNNFVfUE9SVF9M MTNfQ0FNX0NDVUkJCQlNVEtfTTRVX0RPTV9JRCgzLCAxMywgOSkNCisjZGVmaW5lIE00VV9QT1JU X0wxM19DQU1fQ0NVTwkJCU1US19NNFVfRE9NX0lEKDMsIDEzLCAxMCkNCisjZGVmaW5lIE00VV9Q T1JUX0wxM19DQU1fRkFLRQkJCU1US19NNFVfRE9NX0lEKDIsIDEzLCAxMSkNCisNCisvKiBsYXJi MTQgKi8NCisjZGVmaW5lIE00VV9QT1JUX0wxNF9DQU1fUkVTRVJWRTEJCU1US19NNFVfRE9NX0lE KDIsIDE0LCAwKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE0X0NBTV9SRVNFUlZFMgkJTVRLX000VV9E T01fSUQoMiwgMTQsIDEpDQorI2RlZmluZSBNNFVfUE9SVF9MMTRfQ0FNX1JFU0VSVkUzCQlNVEtf TTRVX0RPTV9JRCgyLCAxNCwgMikNCisjZGVmaW5lIE00VV9QT1JUX0wxNF9DQU1fQ0FNU1YwCQkJ TVRLX000VV9ET01fSUQoMiwgMTQsIDMpDQorI2RlZmluZSBNNFVfUE9SVF9MMTRfQ0FNX0NDVUkJ CQlNVEtfTTRVX0RPTV9JRCg0LCAxNCwgNCkNCisjZGVmaW5lIE00VV9QT1JUX0wxNF9DQU1fQ0NV TwkJCU1US19NNFVfRE9NX0lEKDQsIDE0LCA1KQ0KKw0KKy8qIGxhcmIxNTogbnVsbCAqLw0KKw0K Ky8qIGxhcmIxNiAqLw0KKyNkZWZpbmUgTTRVX1BPUlRfTDE2X0NBTV9JTUdPX1IxX0EJCU1US19N NFVfRE9NX0lEKDIsIDE2LCAwKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE2X0NBTV9SUlpPX1IxX0EJ CU1US19NNFVfRE9NX0lEKDIsIDE2LCAxKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE2X0NBTV9DUUlf UjFfQQkJTVRLX000VV9ET01fSUQoMiwgMTYsIDIpDQorI2RlZmluZSBNNFVfUE9SVF9MMTZfQ0FN X0JQQ0lfUjFfQQkJTVRLX000VV9ET01fSUQoMiwgMTYsIDMpDQorI2RlZmluZSBNNFVfUE9SVF9M MTZfQ0FNX1lVVk9fUjFfQQkJTVRLX000VV9ET01fSUQoMiwgMTYsIDQpDQorI2RlZmluZSBNNFVf UE9SVF9MMTZfQ0FNX1VGRElfUjJfQQkJTVRLX000VV9ET01fSUQoMiwgMTYsIDUpDQorI2RlZmlu ZSBNNFVfUE9SVF9MMTZfQ0FNX1JBV0lfUjJfQQkJTVRLX000VV9ET01fSUQoMiwgMTYsIDYpDQor I2RlZmluZSBNNFVfUE9SVF9MMTZfQ0FNX1JBV0lfUjNfQQkJTVRLX000VV9ET01fSUQoMiwgMTYs IDcpDQorI2RlZmluZSBNNFVfUE9SVF9MMTZfQ0FNX0FBT19SMV9BCQlNVEtfTTRVX0RPTV9JRCgy LCAxNiwgOCkNCisjZGVmaW5lIE00VV9QT1JUX0wxNl9DQU1fQUZPX1IxX0EJCU1US19NNFVfRE9N X0lEKDIsIDE2LCA5KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE2X0NBTV9GTEtPX1IxX0EJCU1US19N NFVfRE9NX0lEKDIsIDE2LCAxMCkNCisjZGVmaW5lIE00VV9QT1JUX0wxNl9DQU1fTENFU09fUjFf QQkJTVRLX000VV9ET01fSUQoMiwgMTYsIDExKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE2X0NBTV9D UlpPX1IxX0EJCU1US19NNFVfRE9NX0lEKDIsIDE2LCAxMikNCisjZGVmaW5lIE00VV9QT1JUX0wx Nl9DQU1fTFRNU09fUjFfQQkJTVRLX000VV9ET01fSUQoMiwgMTYsIDEzKQ0KKyNkZWZpbmUgTTRV X1BPUlRfTDE2X0NBTV9SU1NPX1IxX0EJCU1US19NNFVfRE9NX0lEKDIsIDE2LCAxNCkNCisjZGVm aW5lIE00VV9QT1JUX0wxNl9DQU1fQUFIT19SMV9BCQlNVEtfTTRVX0RPTV9JRCgyLCAxNiwgMTUp DQorI2RlZmluZSBNNFVfUE9SVF9MMTZfQ0FNX0xTQ0lfUjFfQQkJTVRLX000VV9ET01fSUQoMiwg MTYsIDE2KQ0KKw0KKy8qIGxhcmIxNyAqLw0KKyNkZWZpbmUgTTRVX1BPUlRfTDE3X0NBTV9JTUdP X1IxX0IJCU1US19NNFVfRE9NX0lEKDIsIDE3LCAwKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE3X0NB TV9SUlpPX1IxX0IJCU1US19NNFVfRE9NX0lEKDIsIDE3LCAxKQ0KKyNkZWZpbmUgTTRVX1BPUlRf TDE3X0NBTV9DUUlfUjFfQgkJTVRLX000VV9ET01fSUQoMiwgMTcsIDIpDQorI2RlZmluZSBNNFVf UE9SVF9MMTdfQ0FNX0JQQ0lfUjFfQgkJTVRLX000VV9ET01fSUQoMiwgMTcsIDMpDQorI2RlZmlu ZSBNNFVfUE9SVF9MMTdfQ0FNX1lVVk9fUjFfQgkJTVRLX000VV9ET01fSUQoMiwgMTcsIDQpDQor I2RlZmluZSBNNFVfUE9SVF9MMTdfQ0FNX1VGRElfUjJfQgkJTVRLX000VV9ET01fSUQoMiwgMTcs IDUpDQorI2RlZmluZSBNNFVfUE9SVF9MMTdfQ0FNX1JBV0lfUjJfQgkJTVRLX000VV9ET01fSUQo MiwgMTcsIDYpDQorI2RlZmluZSBNNFVfUE9SVF9MMTdfQ0FNX1JBV0lfUjNfQgkJTVRLX000VV9E T01fSUQoMiwgMTcsIDcpDQorI2RlZmluZSBNNFVfUE9SVF9MMTdfQ0FNX0FBT19SMV9CCQlNVEtf TTRVX0RPTV9JRCgyLCAxNywgOCkNCisjZGVmaW5lIE00VV9QT1JUX0wxN19DQU1fQUZPX1IxX0IJ CU1US19NNFVfRE9NX0lEKDIsIDE3LCA5KQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE3X0NBTV9GTEtP X1IxX0IJCU1US19NNFVfRE9NX0lEKDIsIDE3LCAxMCkNCisjZGVmaW5lIE00VV9QT1JUX0wxN19D QU1fTENFU09fUjFfQgkJTVRLX000VV9ET01fSUQoMiwgMTcsIDExKQ0KKyNkZWZpbmUgTTRVX1BP UlRfTDE3X0NBTV9DUlpPX1IxX0IJCU1US19NNFVfRE9NX0lEKDIsIDE3LCAxMikNCisjZGVmaW5l IE00VV9QT1JUX0wxN19DQU1fTFRNU09fUjFfQgkJTVRLX000VV9ET01fSUQoMiwgMTcsIDEzKQ0K KyNkZWZpbmUgTTRVX1BPUlRfTDE3X0NBTV9SU1NPX1IxX0IJCU1US19NNFVfRE9NX0lEKDIsIDE3 LCAxNCkNCisjZGVmaW5lIE00VV9QT1JUX0wxN19DQU1fQUFIT19SMV9CCQlNVEtfTTRVX0RPTV9J RCgyLCAxNywgMTUpDQorI2RlZmluZSBNNFVfUE9SVF9MMTdfQ0FNX0xTQ0lfUjFfQgkJTVRLX000 VV9ET01fSUQoMiwgMTcsIDE2KQ0KKw0KKy8qIGxhcmIxOCAqLw0KKyNkZWZpbmUgTTRVX1BPUlRf TDE4X0NBTV9JTUdPX1IxX0MJCU1US19NNFVfRE9NX0lEKDIsIDE4LCAwKQ0KKyNkZWZpbmUgTTRV X1BPUlRfTDE4X0NBTV9SUlpPX1IxX0MJCU1US19NNFVfRE9NX0lEKDIsIDE4LCAxKQ0KKyNkZWZp bmUgTTRVX1BPUlRfTDE4X0NBTV9DUUlfUjFfQwkJTVRLX000VV9ET01fSUQoMiwgMTgsIDIpDQor I2RlZmluZSBNNFVfUE9SVF9MMThfQ0FNX0JQQ0lfUjFfQwkJTVRLX000VV9ET01fSUQoMiwgMTgs IDMpDQorI2RlZmluZSBNNFVfUE9SVF9MMThfQ0FNX1lVVk9fUjFfQwkJTVRLX000VV9ET01fSUQo MiwgMTgsIDQpDQorI2RlZmluZSBNNFVfUE9SVF9MMThfQ0FNX1VGRElfUjJfQwkJTVRLX000VV9E T01fSUQoMiwgMTgsIDUpDQorI2RlZmluZSBNNFVfUE9SVF9MMThfQ0FNX1JBV0lfUjJfQwkJTVRL X000VV9ET01fSUQoMiwgMTgsIDYpDQorI2RlZmluZSBNNFVfUE9SVF9MMThfQ0FNX1JBV0lfUjNf QwkJTVRLX000VV9ET01fSUQoMiwgMTgsIDcpDQorI2RlZmluZSBNNFVfUE9SVF9MMThfQ0FNX0FB T19SMV9DCQlNVEtfTTRVX0RPTV9JRCgyLCAxOCwgOCkNCisjZGVmaW5lIE00VV9QT1JUX0wxOF9D QU1fQUZPX1IxX0MJCU1US19NNFVfRE9NX0lEKDIsIDE4LCA5KQ0KKyNkZWZpbmUgTTRVX1BPUlRf TDE4X0NBTV9GTEtPX1IxX0MJCU1US19NNFVfRE9NX0lEKDIsIDE4LCAxMCkNCisjZGVmaW5lIE00 VV9QT1JUX0wxOF9DQU1fTENFU09fUjFfQwkJTVRLX000VV9ET01fSUQoMiwgMTgsIDExKQ0KKyNk ZWZpbmUgTTRVX1BPUlRfTDE4X0NBTV9DUlpPX1IxX0MJCU1US19NNFVfRE9NX0lEKDIsIDE4LCAx MikNCisjZGVmaW5lIE00VV9QT1JUX0wxOF9DQU1fTFRNU09fUjFfQwkJTVRLX000VV9ET01fSUQo MiwgMTgsIDEzKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE4X0NBTV9SU1NPX1IxX0MJCU1US19NNFVf RE9NX0lEKDIsIDE4LCAxNCkNCisjZGVmaW5lIE00VV9QT1JUX0wxOF9DQU1fQUFIT19SMV9DCQlN VEtfTTRVX0RPTV9JRCgyLCAxOCwgMTUpDQorI2RlZmluZSBNNFVfUE9SVF9MMThfQ0FNX0xTQ0lf UjFfQwkJTVRLX000VV9ET01fSUQoMiwgMTgsIDE2KQ0KKw0KKy8qIGxhcmIxOSAqLw0KKyNkZWZp bmUgTTRVX1BPUlRfTDE5X0lQRV9EVlNfUkRNQQkJTVRLX000VV9ET01fSUQoMiwgMTksIDApDQor I2RlZmluZSBNNFVfUE9SVF9MMTlfSVBFX0RWU19XRE1BCQlNVEtfTTRVX0RPTV9JRCgyLCAxOSwg MSkNCisjZGVmaW5lIE00VV9QT1JUX0wxOV9JUEVfRFZQX1JETUEJCU1US19NNFVfRE9NX0lEKDIs IDE5LCAyKQ0KKyNkZWZpbmUgTTRVX1BPUlRfTDE5X0lQRV9EVlBfV0RNQQkJTVRLX000VV9ET01f SUQoMiwgMTksIDMpDQorDQorLyogbGFyYjIwICovDQorI2RlZmluZSBNNFVfUE9SVF9MMjBfSVBF X0ZEVlRfUkRBCQlNVEtfTTRVX0RPTV9JRCgyLCAyMCwgMCkNCisjZGVmaW5lIE00VV9QT1JUX0wy MF9JUEVfRkRWVF9SREIJCU1US19NNFVfRE9NX0lEKDIsIDIwLCAxKQ0KKyNkZWZpbmUgTTRVX1BP UlRfTDIwX0lQRV9GRFZUX1dSQQkJTVRLX000VV9ET01fSUQoMiwgMjAsIDIpDQorI2RlZmluZSBN NFVfUE9SVF9MMjBfSVBFX0ZEVlRfV1JCCQlNVEtfTTRVX0RPTV9JRCgyLCAyMCwgMykNCisjZGVm aW5lIE00VV9QT1JUX0wyMF9JUEVfUlNDX1JETUEwCQlNVEtfTTRVX0RPTV9JRCgyLCAyMCwgNCkN CisjZGVmaW5lIE00VV9QT1JUX0wyMF9JUEVfUlNDX1dETUEJCU1US19NNFVfRE9NX0lEKDIsIDIw LCA1KQ0KKw0KKyNlbmRpZg0KLS0gDQoyLjE4LjANCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2C5CC2D0A8 for ; Wed, 30 Sep 2020 07:08:28 +0000 (UTC) Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 828AD207C3 for ; Wed, 30 Sep 2020 07:08:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="ZhdWn92I" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 828AD207C3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 1F20580EC4; Wed, 30 Sep 2020 07:08:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aaNmP7iqQRJe; Wed, 30 Sep 2020 07:08:27 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by fraxinus.osuosl.org (Postfix) with ESMTP id 01BD985F2F; Wed, 30 Sep 2020 07:08:27 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id E255FC0889; Wed, 30 Sep 2020 07:08:26 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 34C9CC0051 for ; Wed, 30 Sep 2020 07:08:26 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 2256181DFD for ; Wed, 30 Sep 2020 07:08:26 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eyu-Hv1eJGPQ for ; Wed, 30 Sep 2020 07:08:25 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mailgw01.mediatek.com (unknown [210.61.82.183]) by whitealder.osuosl.org (Postfix) with ESMTP id 4B454815E8 for ; Wed, 30 Sep 2020 07:08:24 +0000 (UTC) X-UUID: 3b26acc882d949af8b5fe79845616a3b-20200930 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=6cegccRztlqnOd2jQZLfEVhvq3aGHeligU+NhGQgSyg=; b=ZhdWn92Ia5Yg5w8qiB/AdPpk9PAuR3nRHlE9uh5fClZ0tzfIkE9AOhOmT3WM3cV7vdBy/rV/sHBiH4oTZEX0HWGy1On5eLJPA9Z/jdaoAkcVIvZ8yHP2xkuounQqFl6jF/WkS3P9nhc3ur91uQyfRJdE4nOgLGIv/gs8c/mfT18=; X-UUID: 3b26acc882d949af8b5fe79845616a3b-20200930 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1769983411; Wed, 30 Sep 2020 15:08:20 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 30 Sep 2020 15:08:17 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 30 Sep 2020 15:08:18 +0800 From: Yong Wu To: Joerg Roedel , Matthias Brugger , Rob Herring , Robin Murphy , Krzysztof Kozlowski , Will Deacon Subject: [PATCH v3 06/24] dt-bindings: mediatek: Add binding for mt8192 IOMMU Date: Wed, 30 Sep 2020 15:06:29 +0800 Message-ID: <20200930070647.10188-7-yong.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200930070647.10188-1-yong.wu@mediatek.com> References: <20200930070647.10188-1-yong.wu@mediatek.com> MIME-Version: 1.0 X-MTK: N Cc: youlin.pei@mediatek.com, devicetree@vger.kernel.org, Nicolas Boichat , srv_heupstream@mediatek.com, chao.hao@mediatek.com, kernel-team@android.com, linux-kernel@vger.kernel.org, Evan Green , Tomasz Figa , iommu@lists.linux-foundation.org, linux-mediatek@lists.infradead.org, ming-fan.chen@mediatek.com, anan.sun@mediatek.com, Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" This patch adds decriptions for mt8192 IOMMU and SMI. mt8192 also is MTK IOMMU gen2 which uses ARM Short-Descriptor translation table format. The M4U-SMI HW diagram is as below: EMI | M4U | ------------ SMI Common ------------ | +-------+------+------+----------------------+-------+ | | | | ...... | | | | | | | | larb0 larb1 larb2 larb4 ...... larb19 larb20 disp0 disp1 mdp vdec IPE IPE All the connections are HW fixed, SW can NOT adjust it. mt8192 M4U support 0~16GB iova range. we preassign different engines into different iova ranges: domain-id module iova-range larbs 0 disp 0 ~ 4G larb0/1 1 vcodec 4G ~ 8G larb4/5/7 2 cam/mdp 8G ~ 12G larb2/9/11/13/14/16/17/18/19/20 3 CCU0 0x4000_0000 ~ 0x43ff_ffff larb13: port 9/10 4 CCU1 0x4400_0000 ~ 0x47ff_ffff larb14: port 4/5 The iova range for CCU0/1(camera control unit) is HW requirement. Signed-off-by: Yong Wu Reviewed-by: Rob Herring --- .../bindings/iommu/mediatek,iommu.yaml | 9 +- .../mediatek,smi-common.yaml | 5 +- .../memory-controllers/mediatek,smi-larb.yaml | 3 +- include/dt-bindings/memory/mt8192-larb-port.h | 239 ++++++++++++++++++ 4 files changed, 251 insertions(+), 5 deletions(-) create mode 100644 include/dt-bindings/memory/mt8192-larb-port.h diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml index eae773ad53a3..a7f41cdf3aca 100644 --- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml +++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml @@ -75,6 +75,7 @@ properties: - mediatek,mt6779-m4u # mt6779 generation two HW - mediatek,mt8173-m4u # mt8173 generation two HW - mediatek,mt8183-m4u # mt8183 generation two HW + - mediatek,mt8192-m4u # mt8192 generation two HW - description: mt7623 generation one HW items: @@ -90,7 +91,7 @@ properties: clocks: description: | bclk is optional. here is the list which require this bclk: - mt2701, mt2712, mt7623 and mt8173. + mt2701, mt2712, mt7623, mt8173 and mt8192. M4U will use the EMI clock which always has been enabled before kernel if there is no this bclk. items: @@ -116,7 +117,11 @@ properties: dt-binding/memory/mt2712-larb-port.h for mt2712, dt-binding/memory/mt6779-larb-port.h for mt6779, dt-binding/memory/mt8173-larb-port.h for mt8173, - dt-binding/memory/mt8183-larb-port.h for mt8183. + dt-binding/memory/mt8183-larb-port.h for mt8183, + dt-binding/memory/mt8192-larb-port.h for mt8192. + + power-domains: + maxItems: 1 required: - compatible diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml index 76ecc7205438..d3cb4d853e71 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml @@ -15,7 +15,7 @@ description: |+ MediaTek SMI have two generations of HW architecture, here is the list which generation the SoCs use: generation 1: mt2701 and mt7623. - generation 2: mt2712, mt6779, mt8173 and mt8183. + generation 2: mt2712, mt6779, mt8173, mt8183 and mt8192. There's slight differences between the two SMI, for generation 2, the register which control the iommu port is at each larb's register base. But @@ -33,6 +33,7 @@ properties: - mediatek,mt6779-smi-common - mediatek,mt8173-smi-common - mediatek,mt8183-smi-common + - mediatek,mt8192-smi-common - description: for mt7623 items: @@ -46,7 +47,7 @@ properties: description: | apb and smi are mandatory. the async is only for generation 1 smi HW. gals(global async local sync) also is optional, here is the list which - require gals: mt6779 and mt8183. + require gals: mt6779, mt8183 and mt8192. minItems: 2 maxItems: 4 items: diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml index ea418113bf27..f5ba43638c37 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml @@ -21,6 +21,7 @@ properties: - mediatek,mt6779-smi-larb - mediatek,mt8173-smi-larb - mediatek,mt8183-smi-larb + - mediatek,mt8192-smi-larb - description: for mt7623 items: @@ -64,7 +65,7 @@ properties: minimum: 0 maximum: 31 description: the hardware id of this larb. - Required property for mt2701, mt2712, mt6779 and mt7623. + Required property for mt2701, mt2712, mt6779, mt7623 and mt8192. required: - compatible diff --git a/include/dt-bindings/memory/mt8192-larb-port.h b/include/dt-bindings/memory/mt8192-larb-port.h new file mode 100644 index 000000000000..41c253662e90 --- /dev/null +++ b/include/dt-bindings/memory/mt8192-larb-port.h @@ -0,0 +1,239 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2020 MediaTek Inc. + * Author: Chao Hao + * Author: Yong Wu + */ +#ifndef _DTS_IOMMU_PORT_MT8192_H_ +#define _DTS_IOMMU_PORT_MT8192_H_ + +#include + +/* + * MM IOMMU: + * domain 0: display: larb0, larb1. + * domain 1: vcodec: larb4, larb5, larb7. + * domain 2: CAM/MDP: larb2, larb9, larb11, larb13, larb14, larb16, + * larb17, larb18, larb19, larb20, + * domain 3: CCU0: larb13 - port9/10. + * domain 4: CCU1: larb14 - port4/5. + * + * larb3/6/8/10/12/15 is null. + */ + +/* larb0 */ +#define M4U_PORT_L0_DISP_POSTMASK0 MTK_M4U_DOM_ID(0, 0, 0) +#define M4U_PORT_L0_OVL_RDMA0_HDR MTK_M4U_DOM_ID(0, 0, 1) +#define M4U_PORT_L0_OVL_RDMA0 MTK_M4U_DOM_ID(0, 0, 2) +#define M4U_PORT_L0_DISP_RDMA0 MTK_M4U_DOM_ID(0, 0, 3) +#define M4U_PORT_L0_DISP_WDMA0 MTK_M4U_DOM_ID(0, 0, 4) +#define M4U_PORT_L0_DISP_FAKE0 MTK_M4U_DOM_ID(0, 0, 5) + +/* larb1 */ +#define M4U_PORT_L1_OVL_2L_RDMA0_HDR MTK_M4U_DOM_ID(0, 1, 0) +#define M4U_PORT_L1_OVL_2L_RDMA2_HDR MTK_M4U_DOM_ID(0, 1, 1) +#define M4U_PORT_L1_OVL_2L_RDMA0 MTK_M4U_DOM_ID(0, 1, 2) +#define M4U_PORT_L1_OVL_2L_RDMA2 MTK_M4U_DOM_ID(0, 1, 3) +#define M4U_PORT_L1_DISP_MDP_RDMA4 MTK_M4U_DOM_ID(0, 1, 4) +#define M4U_PORT_L1_DISP_RDMA4 MTK_M4U_DOM_ID(0, 1, 5) +#define M4U_PORT_L1_DISP_UFBC_WDMA0 MTK_M4U_DOM_ID(0, 1, 6) +#define M4U_PORT_L1_DISP_FAKE1 MTK_M4U_DOM_ID(0, 1, 7) + +/* larb2 */ +#define M4U_PORT_L2_MDP_RDMA0 MTK_M4U_DOM_ID(2, 2, 0) +#define M4U_PORT_L2_MDP_RDMA1 MTK_M4U_DOM_ID(2, 2, 1) +#define M4U_PORT_L2_MDP_WROT0 MTK_M4U_DOM_ID(2, 2, 2) +#define M4U_PORT_L2_MDP_WROT1 MTK_M4U_DOM_ID(2, 2, 3) +#define M4U_PORT_L2_MDP_DISP_FAKE0 MTK_M4U_DOM_ID(2, 2, 4) + +/* larb3: null */ + +/* larb4 */ +#define M4U_PORT_L4_VDEC_MC_EXT MTK_M4U_DOM_ID(1, 4, 0) +#define M4U_PORT_L4_VDEC_UFO_EXT MTK_M4U_DOM_ID(1, 4, 1) +#define M4U_PORT_L4_VDEC_PP_EXT MTK_M4U_DOM_ID(1, 4, 2) +#define M4U_PORT_L4_VDEC_PRED_RD_EXT MTK_M4U_DOM_ID(1, 4, 3) +#define M4U_PORT_L4_VDEC_PRED_WR_EXT MTK_M4U_DOM_ID(1, 4, 4) +#define M4U_PORT_L4_VDEC_PPWRAP_EXT MTK_M4U_DOM_ID(1, 4, 5) +#define M4U_PORT_L4_VDEC_TILE_EXT MTK_M4U_DOM_ID(1, 4, 6) +#define M4U_PORT_L4_VDEC_VLD_EXT MTK_M4U_DOM_ID(1, 4, 7) +#define M4U_PORT_L4_VDEC_VLD2_EXT MTK_M4U_DOM_ID(1, 4, 8) +#define M4U_PORT_L4_VDEC_AVC_MV_EXT MTK_M4U_DOM_ID(1, 4, 9) +#define M4U_PORT_L4_VDEC_RG_CTRL_DMA_EXT MTK_M4U_DOM_ID(1, 4, 10) + +/* larb5 */ +#define M4U_PORT_L5_VDEC_LAT0_VLD_EXT MTK_M4U_DOM_ID(1, 5, 0) +#define M4U_PORT_L5_VDEC_LAT0_VLD2_EXT MTK_M4U_DOM_ID(1, 5, 1) +#define M4U_PORT_L5_VDEC_LAT0_AVC_MV_EXT MTK_M4U_DOM_ID(1, 5, 2) +#define M4U_PORT_L5_VDEC_LAT0_PRED_RD_EXT MTK_M4U_DOM_ID(1, 5, 3) +#define M4U_PORT_L5_VDEC_LAT0_TILE_EXT MTK_M4U_DOM_ID(1, 5, 4) +#define M4U_PORT_L5_VDEC_LAT0_WDMA_EXT MTK_M4U_DOM_ID(1, 5, 5) +#define M4U_PORT_L5_VDEC_LAT0_RG_CTRL_DMA_EXT MTK_M4U_DOM_ID(1, 5, 6) +#define M4U_PORT_L5_VDEC_UFO_ENC_EXT MTK_M4U_DOM_ID(1, 5, 7) + +/* larb6: null */ + +/* larb7 */ +#define M4U_PORT_L7_VENC_RCPU MTK_M4U_DOM_ID(1, 7, 0) +#define M4U_PORT_L7_VENC_REC MTK_M4U_DOM_ID(1, 7, 1) +#define M4U_PORT_L7_VENC_BSDMA MTK_M4U_DOM_ID(1, 7, 2) +#define M4U_PORT_L7_VENC_SV_COMV MTK_M4U_DOM_ID(1, 7, 3) +#define M4U_PORT_L7_VENC_RD_COMV MTK_M4U_DOM_ID(1, 7, 4) +#define M4U_PORT_L7_VENC_CUR_LUMA MTK_M4U_DOM_ID(1, 7, 5) +#define M4U_PORT_L7_VENC_CUR_CHROMA MTK_M4U_DOM_ID(1, 7, 6) +#define M4U_PORT_L7_VENC_REF_LUMA MTK_M4U_DOM_ID(1, 7, 7) +#define M4U_PORT_L7_VENC_REF_CHROMA MTK_M4U_DOM_ID(1, 7, 8) +#define M4U_PORT_L7_JPGENC_Y_RDMA MTK_M4U_DOM_ID(1, 7, 9) +#define M4U_PORT_L7_JPGENC_Q_RDMA MTK_M4U_DOM_ID(1, 7, 10) +#define M4U_PORT_L7_JPGENC_C_TABLE MTK_M4U_DOM_ID(1, 7, 11) +#define M4U_PORT_L7_JPGENC_BSDMA MTK_M4U_DOM_ID(1, 7, 12) +#define M4U_PORT_L7_VENC_SUB_R_LUMA MTK_M4U_DOM_ID(1, 7, 13) +#define M4U_PORT_L7_VENC_SUB_W_LUMA MTK_M4U_DOM_ID(1, 7, 14) + +/* larb8: null */ + +/* larb9 */ +#define M4U_PORT_L9_IMG_IMGI_D1 MTK_M4U_DOM_ID(2, 9, 0) +#define M4U_PORT_L9_IMG_IMGBI_D1 MTK_M4U_DOM_ID(2, 9, 1) +#define M4U_PORT_L9_IMG_DMGI_D1 MTK_M4U_DOM_ID(2, 9, 2) +#define M4U_PORT_L9_IMG_DEPI_D1 MTK_M4U_DOM_ID(2, 9, 3) +#define M4U_PORT_L9_IMG_ICE_D1 MTK_M4U_DOM_ID(2, 9, 4) +#define M4U_PORT_L9_IMG_SMTI_D1 MTK_M4U_DOM_ID(2, 9, 5) +#define M4U_PORT_L9_IMG_SMTO_D2 MTK_M4U_DOM_ID(2, 9, 6) +#define M4U_PORT_L9_IMG_SMTO_D1 MTK_M4U_DOM_ID(2, 9, 7) +#define M4U_PORT_L9_IMG_CRZO_D1 MTK_M4U_DOM_ID(2, 9, 8) +#define M4U_PORT_L9_IMG_IMG3O_D1 MTK_M4U_DOM_ID(2, 9, 9) +#define M4U_PORT_L9_IMG_VIPI_D1 MTK_M4U_DOM_ID(2, 9, 10) +#define M4U_PORT_L9_IMG_SMTI_D5 MTK_M4U_DOM_ID(2, 9, 11) +#define M4U_PORT_L9_IMG_TIMGO_D1 MTK_M4U_DOM_ID(2, 9, 12) +#define M4U_PORT_L9_IMG_UFBC_W0 MTK_M4U_DOM_ID(2, 9, 13) +#define M4U_PORT_L9_IMG_UFBC_R0 MTK_M4U_DOM_ID(2, 9, 14) + +/* larb10: null */ + +/* larb11 */ +#define M4U_PORT_L11_IMG_IMGI_D1 MTK_M4U_DOM_ID(2, 11, 0) +#define M4U_PORT_L11_IMG_IMGBI_D1 MTK_M4U_DOM_ID(2, 11, 1) +#define M4U_PORT_L11_IMG_DMGI_D1 MTK_M4U_DOM_ID(2, 11, 2) +#define M4U_PORT_L11_IMG_DEPI_D1 MTK_M4U_DOM_ID(2, 11, 3) +#define M4U_PORT_L11_IMG_ICE_D1 MTK_M4U_DOM_ID(2, 11, 4) +#define M4U_PORT_L11_IMG_SMTI_D1 MTK_M4U_DOM_ID(2, 11, 5) +#define M4U_PORT_L11_IMG_SMTO_D2 MTK_M4U_DOM_ID(2, 11, 6) +#define M4U_PORT_L11_IMG_SMTO_D1 MTK_M4U_DOM_ID(2, 11, 7) +#define M4U_PORT_L11_IMG_CRZO_D1 MTK_M4U_DOM_ID(2, 11, 8) +#define M4U_PORT_L11_IMG_IMG3O_D1 MTK_M4U_DOM_ID(2, 11, 9) +#define M4U_PORT_L11_IMG_VIPI_D1 MTK_M4U_DOM_ID(2, 11, 10) +#define M4U_PORT_L11_IMG_SMTI_D5 MTK_M4U_DOM_ID(2, 11, 11) +#define M4U_PORT_L11_IMG_TIMGO_D1 MTK_M4U_DOM_ID(2, 11, 12) +#define M4U_PORT_L11_IMG_UFBC_W0 MTK_M4U_DOM_ID(2, 11, 13) +#define M4U_PORT_L11_IMG_UFBC_R0 MTK_M4U_DOM_ID(2, 11, 14) +#define M4U_PORT_L11_IMG_WPE_RDMA1 MTK_M4U_DOM_ID(2, 11, 15) +#define M4U_PORT_L11_IMG_WPE_RDMA0 MTK_M4U_DOM_ID(2, 11, 16) +#define M4U_PORT_L11_IMG_WPE_WDMA MTK_M4U_DOM_ID(2, 11, 17) +#define M4U_PORT_L11_IMG_MFB_RDMA0 MTK_M4U_DOM_ID(2, 11, 18) +#define M4U_PORT_L11_IMG_MFB_RDMA1 MTK_M4U_DOM_ID(2, 11, 19) +#define M4U_PORT_L11_IMG_MFB_RDMA2 MTK_M4U_DOM_ID(2, 11, 20) +#define M4U_PORT_L11_IMG_MFB_RDMA3 MTK_M4U_DOM_ID(2, 11, 21) +#define M4U_PORT_L11_IMG_MFB_RDMA4 MTK_M4U_DOM_ID(2, 11, 22) +#define M4U_PORT_L11_IMG_MFB_RDMA5 MTK_M4U_DOM_ID(2, 11, 23) +#define M4U_PORT_L11_IMG_MFB_WDMA0 MTK_M4U_DOM_ID(2, 11, 24) +#define M4U_PORT_L11_IMG_MFB_WDMA1 MTK_M4U_DOM_ID(2, 11, 25) + +/* larb12: null */ + +/* larb13 */ +#define M4U_PORT_L13_CAM_MRAWI MTK_M4U_DOM_ID(2, 13, 0) +#define M4U_PORT_L13_CAM_MRAWO0 MTK_M4U_DOM_ID(2, 13, 1) +#define M4U_PORT_L13_CAM_MRAWO1 MTK_M4U_DOM_ID(2, 13, 2) +#define M4U_PORT_L13_CAM_CAMSV1 MTK_M4U_DOM_ID(2, 13, 3) +#define M4U_PORT_L13_CAM_CAMSV2 MTK_M4U_DOM_ID(2, 13, 4) +#define M4U_PORT_L13_CAM_CAMSV3 MTK_M4U_DOM_ID(2, 13, 5) +#define M4U_PORT_L13_CAM_CAMSV4 MTK_M4U_DOM_ID(2, 13, 6) +#define M4U_PORT_L13_CAM_CAMSV5 MTK_M4U_DOM_ID(2, 13, 7) +#define M4U_PORT_L13_CAM_CAMSV6 MTK_M4U_DOM_ID(2, 13, 8) +#define M4U_PORT_L13_CAM_CCUI MTK_M4U_DOM_ID(3, 13, 9) +#define M4U_PORT_L13_CAM_CCUO MTK_M4U_DOM_ID(3, 13, 10) +#define M4U_PORT_L13_CAM_FAKE MTK_M4U_DOM_ID(2, 13, 11) + +/* larb14 */ +#define M4U_PORT_L14_CAM_RESERVE1 MTK_M4U_DOM_ID(2, 14, 0) +#define M4U_PORT_L14_CAM_RESERVE2 MTK_M4U_DOM_ID(2, 14, 1) +#define M4U_PORT_L14_CAM_RESERVE3 MTK_M4U_DOM_ID(2, 14, 2) +#define M4U_PORT_L14_CAM_CAMSV0 MTK_M4U_DOM_ID(2, 14, 3) +#define M4U_PORT_L14_CAM_CCUI MTK_M4U_DOM_ID(4, 14, 4) +#define M4U_PORT_L14_CAM_CCUO MTK_M4U_DOM_ID(4, 14, 5) + +/* larb15: null */ + +/* larb16 */ +#define M4U_PORT_L16_CAM_IMGO_R1_A MTK_M4U_DOM_ID(2, 16, 0) +#define M4U_PORT_L16_CAM_RRZO_R1_A MTK_M4U_DOM_ID(2, 16, 1) +#define M4U_PORT_L16_CAM_CQI_R1_A MTK_M4U_DOM_ID(2, 16, 2) +#define M4U_PORT_L16_CAM_BPCI_R1_A MTK_M4U_DOM_ID(2, 16, 3) +#define M4U_PORT_L16_CAM_YUVO_R1_A MTK_M4U_DOM_ID(2, 16, 4) +#define M4U_PORT_L16_CAM_UFDI_R2_A MTK_M4U_DOM_ID(2, 16, 5) +#define M4U_PORT_L16_CAM_RAWI_R2_A MTK_M4U_DOM_ID(2, 16, 6) +#define M4U_PORT_L16_CAM_RAWI_R3_A MTK_M4U_DOM_ID(2, 16, 7) +#define M4U_PORT_L16_CAM_AAO_R1_A MTK_M4U_DOM_ID(2, 16, 8) +#define M4U_PORT_L16_CAM_AFO_R1_A MTK_M4U_DOM_ID(2, 16, 9) +#define M4U_PORT_L16_CAM_FLKO_R1_A MTK_M4U_DOM_ID(2, 16, 10) +#define M4U_PORT_L16_CAM_LCESO_R1_A MTK_M4U_DOM_ID(2, 16, 11) +#define M4U_PORT_L16_CAM_CRZO_R1_A MTK_M4U_DOM_ID(2, 16, 12) +#define M4U_PORT_L16_CAM_LTMSO_R1_A MTK_M4U_DOM_ID(2, 16, 13) +#define M4U_PORT_L16_CAM_RSSO_R1_A MTK_M4U_DOM_ID(2, 16, 14) +#define M4U_PORT_L16_CAM_AAHO_R1_A MTK_M4U_DOM_ID(2, 16, 15) +#define M4U_PORT_L16_CAM_LSCI_R1_A MTK_M4U_DOM_ID(2, 16, 16) + +/* larb17 */ +#define M4U_PORT_L17_CAM_IMGO_R1_B MTK_M4U_DOM_ID(2, 17, 0) +#define M4U_PORT_L17_CAM_RRZO_R1_B MTK_M4U_DOM_ID(2, 17, 1) +#define M4U_PORT_L17_CAM_CQI_R1_B MTK_M4U_DOM_ID(2, 17, 2) +#define M4U_PORT_L17_CAM_BPCI_R1_B MTK_M4U_DOM_ID(2, 17, 3) +#define M4U_PORT_L17_CAM_YUVO_R1_B MTK_M4U_DOM_ID(2, 17, 4) +#define M4U_PORT_L17_CAM_UFDI_R2_B MTK_M4U_DOM_ID(2, 17, 5) +#define M4U_PORT_L17_CAM_RAWI_R2_B MTK_M4U_DOM_ID(2, 17, 6) +#define M4U_PORT_L17_CAM_RAWI_R3_B MTK_M4U_DOM_ID(2, 17, 7) +#define M4U_PORT_L17_CAM_AAO_R1_B MTK_M4U_DOM_ID(2, 17, 8) +#define M4U_PORT_L17_CAM_AFO_R1_B MTK_M4U_DOM_ID(2, 17, 9) +#define M4U_PORT_L17_CAM_FLKO_R1_B MTK_M4U_DOM_ID(2, 17, 10) +#define M4U_PORT_L17_CAM_LCESO_R1_B MTK_M4U_DOM_ID(2, 17, 11) +#define M4U_PORT_L17_CAM_CRZO_R1_B MTK_M4U_DOM_ID(2, 17, 12) +#define M4U_PORT_L17_CAM_LTMSO_R1_B MTK_M4U_DOM_ID(2, 17, 13) +#define M4U_PORT_L17_CAM_RSSO_R1_B MTK_M4U_DOM_ID(2, 17, 14) +#define M4U_PORT_L17_CAM_AAHO_R1_B MTK_M4U_DOM_ID(2, 17, 15) +#define M4U_PORT_L17_CAM_LSCI_R1_B MTK_M4U_DOM_ID(2, 17, 16) + +/* larb18 */ +#define M4U_PORT_L18_CAM_IMGO_R1_C MTK_M4U_DOM_ID(2, 18, 0) +#define M4U_PORT_L18_CAM_RRZO_R1_C MTK_M4U_DOM_ID(2, 18, 1) +#define M4U_PORT_L18_CAM_CQI_R1_C MTK_M4U_DOM_ID(2, 18, 2) +#define M4U_PORT_L18_CAM_BPCI_R1_C MTK_M4U_DOM_ID(2, 18, 3) +#define M4U_PORT_L18_CAM_YUVO_R1_C MTK_M4U_DOM_ID(2, 18, 4) +#define M4U_PORT_L18_CAM_UFDI_R2_C MTK_M4U_DOM_ID(2, 18, 5) +#define M4U_PORT_L18_CAM_RAWI_R2_C MTK_M4U_DOM_ID(2, 18, 6) +#define M4U_PORT_L18_CAM_RAWI_R3_C MTK_M4U_DOM_ID(2, 18, 7) +#define M4U_PORT_L18_CAM_AAO_R1_C MTK_M4U_DOM_ID(2, 18, 8) +#define M4U_PORT_L18_CAM_AFO_R1_C MTK_M4U_DOM_ID(2, 18, 9) +#define M4U_PORT_L18_CAM_FLKO_R1_C MTK_M4U_DOM_ID(2, 18, 10) +#define M4U_PORT_L18_CAM_LCESO_R1_C MTK_M4U_DOM_ID(2, 18, 11) +#define M4U_PORT_L18_CAM_CRZO_R1_C MTK_M4U_DOM_ID(2, 18, 12) +#define M4U_PORT_L18_CAM_LTMSO_R1_C MTK_M4U_DOM_ID(2, 18, 13) +#define M4U_PORT_L18_CAM_RSSO_R1_C MTK_M4U_DOM_ID(2, 18, 14) +#define M4U_PORT_L18_CAM_AAHO_R1_C MTK_M4U_DOM_ID(2, 18, 15) +#define M4U_PORT_L18_CAM_LSCI_R1_C MTK_M4U_DOM_ID(2, 18, 16) + +/* larb19 */ +#define M4U_PORT_L19_IPE_DVS_RDMA MTK_M4U_DOM_ID(2, 19, 0) +#define M4U_PORT_L19_IPE_DVS_WDMA MTK_M4U_DOM_ID(2, 19, 1) +#define M4U_PORT_L19_IPE_DVP_RDMA MTK_M4U_DOM_ID(2, 19, 2) +#define M4U_PORT_L19_IPE_DVP_WDMA MTK_M4U_DOM_ID(2, 19, 3) + +/* larb20 */ +#define M4U_PORT_L20_IPE_FDVT_RDA MTK_M4U_DOM_ID(2, 20, 0) +#define M4U_PORT_L20_IPE_FDVT_RDB MTK_M4U_DOM_ID(2, 20, 1) +#define M4U_PORT_L20_IPE_FDVT_WRA MTK_M4U_DOM_ID(2, 20, 2) +#define M4U_PORT_L20_IPE_FDVT_WRB MTK_M4U_DOM_ID(2, 20, 3) +#define M4U_PORT_L20_IPE_RSC_RDMA0 MTK_M4U_DOM_ID(2, 20, 4) +#define M4U_PORT_L20_IPE_RSC_WDMA MTK_M4U_DOM_ID(2, 20, 5) + +#endif -- 2.18.0 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D059C2D0A8 for ; Wed, 30 Sep 2020 07:13:35 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 10C7D2075F for ; Wed, 30 Sep 2020 07:13:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="0lP2pNXy"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="ZhdWn92I" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 10C7D2075F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BBfSq1O7t1igoSsxKEPRsuahcXlEqlhkXMed+92K/tM=; b=0lP2pNXyaBJXGachaYZNSuSSI BJBt9rRwSAs7AeZiPYuxz/7rfRv+VgqyifCghOUFGL58OK0d63QseXJk7svveJnkXeQxWez94F5Dg UZpyW0ZbpnbvqVPuSWnhHaRVgMpezLfTvjWlqd1nL1Pt9l5kxoPqhqozZJ/VdUMo6Z2HUDLgCeQaz GhCluqYehhLRJMcVLSWw/sBaYRBOlcEzjDQfj8+cV0wJkIRVAiUyU0y3XC5KUDRcx6dEW3mHkYGoj V/zK/BTt+A83hDvF53BL/e9h9eyD+dLDij6iHdHChxdw52qsiYQqfYcB6CXuyjx1qJI4I5T0QSQJt G3iU1oasw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kNWIj-00005p-3N; Wed, 30 Sep 2020 07:13:21 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kNWIB-0008E3-1g; Wed, 30 Sep 2020 07:12:50 +0000 X-UUID: 0da311d1ffaa4446a6c0335f2a30ff6a-20200929 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=6cegccRztlqnOd2jQZLfEVhvq3aGHeligU+NhGQgSyg=; b=ZhdWn92Ia5Yg5w8qiB/AdPpk9PAuR3nRHlE9uh5fClZ0tzfIkE9AOhOmT3WM3cV7vdBy/rV/sHBiH4oTZEX0HWGy1On5eLJPA9Z/jdaoAkcVIvZ8yHP2xkuounQqFl6jF/WkS3P9nhc3ur91uQyfRJdE4nOgLGIv/gs8c/mfT18=; X-UUID: 0da311d1ffaa4446a6c0335f2a30ff6a-20200929 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1138195912; Tue, 29 Sep 2020 23:12:34 -0800 Received: from mtkmbs08n1.mediatek.inc (172.21.101.55) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 30 Sep 2020 00:08:19 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 30 Sep 2020 15:08:17 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 30 Sep 2020 15:08:18 +0800 From: Yong Wu To: Joerg Roedel , Matthias Brugger , Rob Herring , Robin Murphy , Krzysztof Kozlowski , Will Deacon Subject: [PATCH v3 06/24] dt-bindings: mediatek: Add binding for mt8192 IOMMU Date: Wed, 30 Sep 2020 15:06:29 +0800 Message-ID: <20200930070647.10188-7-yong.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200930070647.10188-1-yong.wu@mediatek.com> References: <20200930070647.10188-1-yong.wu@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200930_031247_382373_96B0032E X-CRM114-Status: GOOD ( 18.50 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: youlin.pei@mediatek.com, devicetree@vger.kernel.org, Nicolas Boichat , srv_heupstream@mediatek.com, chao.hao@mediatek.com, kernel-team@android.com, linux-kernel@vger.kernel.org, Evan Green , Tomasz Figa , iommu@lists.linux-foundation.org, linux-mediatek@lists.infradead.org, yong.wu@mediatek.com, ming-fan.chen@mediatek.com, anan.sun@mediatek.com, Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org This patch adds decriptions for mt8192 IOMMU and SMI. mt8192 also is MTK IOMMU gen2 which uses ARM Short-Descriptor translation table format. The M4U-SMI HW diagram is as below: EMI | M4U | ------------ SMI Common ------------ | +-------+------+------+----------------------+-------+ | | | | ...... | | | | | | | | larb0 larb1 larb2 larb4 ...... larb19 larb20 disp0 disp1 mdp vdec IPE IPE All the connections are HW fixed, SW can NOT adjust it. mt8192 M4U support 0~16GB iova range. we preassign different engines into different iova ranges: domain-id module iova-range larbs 0 disp 0 ~ 4G larb0/1 1 vcodec 4G ~ 8G larb4/5/7 2 cam/mdp 8G ~ 12G larb2/9/11/13/14/16/17/18/19/20 3 CCU0 0x4000_0000 ~ 0x43ff_ffff larb13: port 9/10 4 CCU1 0x4400_0000 ~ 0x47ff_ffff larb14: port 4/5 The iova range for CCU0/1(camera control unit) is HW requirement. Signed-off-by: Yong Wu Reviewed-by: Rob Herring --- .../bindings/iommu/mediatek,iommu.yaml | 9 +- .../mediatek,smi-common.yaml | 5 +- .../memory-controllers/mediatek,smi-larb.yaml | 3 +- include/dt-bindings/memory/mt8192-larb-port.h | 239 ++++++++++++++++++ 4 files changed, 251 insertions(+), 5 deletions(-) create mode 100644 include/dt-bindings/memory/mt8192-larb-port.h diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml index eae773ad53a3..a7f41cdf3aca 100644 --- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml +++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml @@ -75,6 +75,7 @@ properties: - mediatek,mt6779-m4u # mt6779 generation two HW - mediatek,mt8173-m4u # mt8173 generation two HW - mediatek,mt8183-m4u # mt8183 generation two HW + - mediatek,mt8192-m4u # mt8192 generation two HW - description: mt7623 generation one HW items: @@ -90,7 +91,7 @@ properties: clocks: description: | bclk is optional. here is the list which require this bclk: - mt2701, mt2712, mt7623 and mt8173. + mt2701, mt2712, mt7623, mt8173 and mt8192. M4U will use the EMI clock which always has been enabled before kernel if there is no this bclk. items: @@ -116,7 +117,11 @@ properties: dt-binding/memory/mt2712-larb-port.h for mt2712, dt-binding/memory/mt6779-larb-port.h for mt6779, dt-binding/memory/mt8173-larb-port.h for mt8173, - dt-binding/memory/mt8183-larb-port.h for mt8183. + dt-binding/memory/mt8183-larb-port.h for mt8183, + dt-binding/memory/mt8192-larb-port.h for mt8192. + + power-domains: + maxItems: 1 required: - compatible diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml index 76ecc7205438..d3cb4d853e71 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml @@ -15,7 +15,7 @@ description: |+ MediaTek SMI have two generations of HW architecture, here is the list which generation the SoCs use: generation 1: mt2701 and mt7623. - generation 2: mt2712, mt6779, mt8173 and mt8183. + generation 2: mt2712, mt6779, mt8173, mt8183 and mt8192. There's slight differences between the two SMI, for generation 2, the register which control the iommu port is at each larb's register base. But @@ -33,6 +33,7 @@ properties: - mediatek,mt6779-smi-common - mediatek,mt8173-smi-common - mediatek,mt8183-smi-common + - mediatek,mt8192-smi-common - description: for mt7623 items: @@ -46,7 +47,7 @@ properties: description: | apb and smi are mandatory. the async is only for generation 1 smi HW. gals(global async local sync) also is optional, here is the list which - require gals: mt6779 and mt8183. + require gals: mt6779, mt8183 and mt8192. minItems: 2 maxItems: 4 items: diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml index ea418113bf27..f5ba43638c37 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml @@ -21,6 +21,7 @@ properties: - mediatek,mt6779-smi-larb - mediatek,mt8173-smi-larb - mediatek,mt8183-smi-larb + - mediatek,mt8192-smi-larb - description: for mt7623 items: @@ -64,7 +65,7 @@ properties: minimum: 0 maximum: 31 description: the hardware id of this larb. - Required property for mt2701, mt2712, mt6779 and mt7623. + Required property for mt2701, mt2712, mt6779, mt7623 and mt8192. required: - compatible diff --git a/include/dt-bindings/memory/mt8192-larb-port.h b/include/dt-bindings/memory/mt8192-larb-port.h new file mode 100644 index 000000000000..41c253662e90 --- /dev/null +++ b/include/dt-bindings/memory/mt8192-larb-port.h @@ -0,0 +1,239 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2020 MediaTek Inc. + * Author: Chao Hao + * Author: Yong Wu + */ +#ifndef _DTS_IOMMU_PORT_MT8192_H_ +#define _DTS_IOMMU_PORT_MT8192_H_ + +#include + +/* + * MM IOMMU: + * domain 0: display: larb0, larb1. + * domain 1: vcodec: larb4, larb5, larb7. + * domain 2: CAM/MDP: larb2, larb9, larb11, larb13, larb14, larb16, + * larb17, larb18, larb19, larb20, + * domain 3: CCU0: larb13 - port9/10. + * domain 4: CCU1: larb14 - port4/5. + * + * larb3/6/8/10/12/15 is null. + */ + +/* larb0 */ +#define M4U_PORT_L0_DISP_POSTMASK0 MTK_M4U_DOM_ID(0, 0, 0) +#define M4U_PORT_L0_OVL_RDMA0_HDR MTK_M4U_DOM_ID(0, 0, 1) +#define M4U_PORT_L0_OVL_RDMA0 MTK_M4U_DOM_ID(0, 0, 2) +#define M4U_PORT_L0_DISP_RDMA0 MTK_M4U_DOM_ID(0, 0, 3) +#define M4U_PORT_L0_DISP_WDMA0 MTK_M4U_DOM_ID(0, 0, 4) +#define M4U_PORT_L0_DISP_FAKE0 MTK_M4U_DOM_ID(0, 0, 5) + +/* larb1 */ +#define M4U_PORT_L1_OVL_2L_RDMA0_HDR MTK_M4U_DOM_ID(0, 1, 0) +#define M4U_PORT_L1_OVL_2L_RDMA2_HDR MTK_M4U_DOM_ID(0, 1, 1) +#define M4U_PORT_L1_OVL_2L_RDMA0 MTK_M4U_DOM_ID(0, 1, 2) +#define M4U_PORT_L1_OVL_2L_RDMA2 MTK_M4U_DOM_ID(0, 1, 3) +#define M4U_PORT_L1_DISP_MDP_RDMA4 MTK_M4U_DOM_ID(0, 1, 4) +#define M4U_PORT_L1_DISP_RDMA4 MTK_M4U_DOM_ID(0, 1, 5) +#define M4U_PORT_L1_DISP_UFBC_WDMA0 MTK_M4U_DOM_ID(0, 1, 6) +#define M4U_PORT_L1_DISP_FAKE1 MTK_M4U_DOM_ID(0, 1, 7) + +/* larb2 */ +#define M4U_PORT_L2_MDP_RDMA0 MTK_M4U_DOM_ID(2, 2, 0) +#define M4U_PORT_L2_MDP_RDMA1 MTK_M4U_DOM_ID(2, 2, 1) +#define M4U_PORT_L2_MDP_WROT0 MTK_M4U_DOM_ID(2, 2, 2) +#define M4U_PORT_L2_MDP_WROT1 MTK_M4U_DOM_ID(2, 2, 3) +#define M4U_PORT_L2_MDP_DISP_FAKE0 MTK_M4U_DOM_ID(2, 2, 4) + +/* larb3: null */ + +/* larb4 */ +#define M4U_PORT_L4_VDEC_MC_EXT MTK_M4U_DOM_ID(1, 4, 0) +#define M4U_PORT_L4_VDEC_UFO_EXT MTK_M4U_DOM_ID(1, 4, 1) +#define M4U_PORT_L4_VDEC_PP_EXT MTK_M4U_DOM_ID(1, 4, 2) +#define M4U_PORT_L4_VDEC_PRED_RD_EXT MTK_M4U_DOM_ID(1, 4, 3) +#define M4U_PORT_L4_VDEC_PRED_WR_EXT MTK_M4U_DOM_ID(1, 4, 4) +#define M4U_PORT_L4_VDEC_PPWRAP_EXT MTK_M4U_DOM_ID(1, 4, 5) +#define M4U_PORT_L4_VDEC_TILE_EXT MTK_M4U_DOM_ID(1, 4, 6) +#define M4U_PORT_L4_VDEC_VLD_EXT MTK_M4U_DOM_ID(1, 4, 7) +#define M4U_PORT_L4_VDEC_VLD2_EXT MTK_M4U_DOM_ID(1, 4, 8) +#define M4U_PORT_L4_VDEC_AVC_MV_EXT MTK_M4U_DOM_ID(1, 4, 9) +#define M4U_PORT_L4_VDEC_RG_CTRL_DMA_EXT MTK_M4U_DOM_ID(1, 4, 10) + +/* larb5 */ +#define M4U_PORT_L5_VDEC_LAT0_VLD_EXT MTK_M4U_DOM_ID(1, 5, 0) +#define M4U_PORT_L5_VDEC_LAT0_VLD2_EXT MTK_M4U_DOM_ID(1, 5, 1) +#define M4U_PORT_L5_VDEC_LAT0_AVC_MV_EXT MTK_M4U_DOM_ID(1, 5, 2) +#define M4U_PORT_L5_VDEC_LAT0_PRED_RD_EXT MTK_M4U_DOM_ID(1, 5, 3) +#define M4U_PORT_L5_VDEC_LAT0_TILE_EXT MTK_M4U_DOM_ID(1, 5, 4) +#define M4U_PORT_L5_VDEC_LAT0_WDMA_EXT MTK_M4U_DOM_ID(1, 5, 5) +#define M4U_PORT_L5_VDEC_LAT0_RG_CTRL_DMA_EXT MTK_M4U_DOM_ID(1, 5, 6) +#define M4U_PORT_L5_VDEC_UFO_ENC_EXT MTK_M4U_DOM_ID(1, 5, 7) + +/* larb6: null */ + +/* larb7 */ +#define M4U_PORT_L7_VENC_RCPU MTK_M4U_DOM_ID(1, 7, 0) +#define M4U_PORT_L7_VENC_REC MTK_M4U_DOM_ID(1, 7, 1) +#define M4U_PORT_L7_VENC_BSDMA MTK_M4U_DOM_ID(1, 7, 2) +#define M4U_PORT_L7_VENC_SV_COMV MTK_M4U_DOM_ID(1, 7, 3) +#define M4U_PORT_L7_VENC_RD_COMV MTK_M4U_DOM_ID(1, 7, 4) +#define M4U_PORT_L7_VENC_CUR_LUMA MTK_M4U_DOM_ID(1, 7, 5) +#define M4U_PORT_L7_VENC_CUR_CHROMA MTK_M4U_DOM_ID(1, 7, 6) +#define M4U_PORT_L7_VENC_REF_LUMA MTK_M4U_DOM_ID(1, 7, 7) +#define M4U_PORT_L7_VENC_REF_CHROMA MTK_M4U_DOM_ID(1, 7, 8) +#define M4U_PORT_L7_JPGENC_Y_RDMA MTK_M4U_DOM_ID(1, 7, 9) +#define M4U_PORT_L7_JPGENC_Q_RDMA MTK_M4U_DOM_ID(1, 7, 10) +#define M4U_PORT_L7_JPGENC_C_TABLE MTK_M4U_DOM_ID(1, 7, 11) +#define M4U_PORT_L7_JPGENC_BSDMA MTK_M4U_DOM_ID(1, 7, 12) +#define M4U_PORT_L7_VENC_SUB_R_LUMA MTK_M4U_DOM_ID(1, 7, 13) +#define M4U_PORT_L7_VENC_SUB_W_LUMA MTK_M4U_DOM_ID(1, 7, 14) + +/* larb8: null */ + +/* larb9 */ +#define M4U_PORT_L9_IMG_IMGI_D1 MTK_M4U_DOM_ID(2, 9, 0) +#define M4U_PORT_L9_IMG_IMGBI_D1 MTK_M4U_DOM_ID(2, 9, 1) +#define M4U_PORT_L9_IMG_DMGI_D1 MTK_M4U_DOM_ID(2, 9, 2) +#define M4U_PORT_L9_IMG_DEPI_D1 MTK_M4U_DOM_ID(2, 9, 3) +#define M4U_PORT_L9_IMG_ICE_D1 MTK_M4U_DOM_ID(2, 9, 4) +#define M4U_PORT_L9_IMG_SMTI_D1 MTK_M4U_DOM_ID(2, 9, 5) +#define M4U_PORT_L9_IMG_SMTO_D2 MTK_M4U_DOM_ID(2, 9, 6) +#define M4U_PORT_L9_IMG_SMTO_D1 MTK_M4U_DOM_ID(2, 9, 7) +#define M4U_PORT_L9_IMG_CRZO_D1 MTK_M4U_DOM_ID(2, 9, 8) +#define M4U_PORT_L9_IMG_IMG3O_D1 MTK_M4U_DOM_ID(2, 9, 9) +#define M4U_PORT_L9_IMG_VIPI_D1 MTK_M4U_DOM_ID(2, 9, 10) +#define M4U_PORT_L9_IMG_SMTI_D5 MTK_M4U_DOM_ID(2, 9, 11) +#define M4U_PORT_L9_IMG_TIMGO_D1 MTK_M4U_DOM_ID(2, 9, 12) +#define M4U_PORT_L9_IMG_UFBC_W0 MTK_M4U_DOM_ID(2, 9, 13) +#define M4U_PORT_L9_IMG_UFBC_R0 MTK_M4U_DOM_ID(2, 9, 14) + +/* larb10: null */ + +/* larb11 */ +#define M4U_PORT_L11_IMG_IMGI_D1 MTK_M4U_DOM_ID(2, 11, 0) +#define M4U_PORT_L11_IMG_IMGBI_D1 MTK_M4U_DOM_ID(2, 11, 1) +#define M4U_PORT_L11_IMG_DMGI_D1 MTK_M4U_DOM_ID(2, 11, 2) +#define M4U_PORT_L11_IMG_DEPI_D1 MTK_M4U_DOM_ID(2, 11, 3) +#define M4U_PORT_L11_IMG_ICE_D1 MTK_M4U_DOM_ID(2, 11, 4) +#define M4U_PORT_L11_IMG_SMTI_D1 MTK_M4U_DOM_ID(2, 11, 5) +#define M4U_PORT_L11_IMG_SMTO_D2 MTK_M4U_DOM_ID(2, 11, 6) +#define M4U_PORT_L11_IMG_SMTO_D1 MTK_M4U_DOM_ID(2, 11, 7) +#define M4U_PORT_L11_IMG_CRZO_D1 MTK_M4U_DOM_ID(2, 11, 8) +#define M4U_PORT_L11_IMG_IMG3O_D1 MTK_M4U_DOM_ID(2, 11, 9) +#define M4U_PORT_L11_IMG_VIPI_D1 MTK_M4U_DOM_ID(2, 11, 10) +#define M4U_PORT_L11_IMG_SMTI_D5 MTK_M4U_DOM_ID(2, 11, 11) +#define M4U_PORT_L11_IMG_TIMGO_D1 MTK_M4U_DOM_ID(2, 11, 12) +#define M4U_PORT_L11_IMG_UFBC_W0 MTK_M4U_DOM_ID(2, 11, 13) +#define M4U_PORT_L11_IMG_UFBC_R0 MTK_M4U_DOM_ID(2, 11, 14) +#define M4U_PORT_L11_IMG_WPE_RDMA1 MTK_M4U_DOM_ID(2, 11, 15) +#define M4U_PORT_L11_IMG_WPE_RDMA0 MTK_M4U_DOM_ID(2, 11, 16) +#define M4U_PORT_L11_IMG_WPE_WDMA MTK_M4U_DOM_ID(2, 11, 17) +#define M4U_PORT_L11_IMG_MFB_RDMA0 MTK_M4U_DOM_ID(2, 11, 18) +#define M4U_PORT_L11_IMG_MFB_RDMA1 MTK_M4U_DOM_ID(2, 11, 19) +#define M4U_PORT_L11_IMG_MFB_RDMA2 MTK_M4U_DOM_ID(2, 11, 20) +#define M4U_PORT_L11_IMG_MFB_RDMA3 MTK_M4U_DOM_ID(2, 11, 21) +#define M4U_PORT_L11_IMG_MFB_RDMA4 MTK_M4U_DOM_ID(2, 11, 22) +#define M4U_PORT_L11_IMG_MFB_RDMA5 MTK_M4U_DOM_ID(2, 11, 23) +#define M4U_PORT_L11_IMG_MFB_WDMA0 MTK_M4U_DOM_ID(2, 11, 24) +#define M4U_PORT_L11_IMG_MFB_WDMA1 MTK_M4U_DOM_ID(2, 11, 25) + +/* larb12: null */ + +/* larb13 */ +#define M4U_PORT_L13_CAM_MRAWI MTK_M4U_DOM_ID(2, 13, 0) +#define M4U_PORT_L13_CAM_MRAWO0 MTK_M4U_DOM_ID(2, 13, 1) +#define M4U_PORT_L13_CAM_MRAWO1 MTK_M4U_DOM_ID(2, 13, 2) +#define M4U_PORT_L13_CAM_CAMSV1 MTK_M4U_DOM_ID(2, 13, 3) +#define M4U_PORT_L13_CAM_CAMSV2 MTK_M4U_DOM_ID(2, 13, 4) +#define M4U_PORT_L13_CAM_CAMSV3 MTK_M4U_DOM_ID(2, 13, 5) +#define M4U_PORT_L13_CAM_CAMSV4 MTK_M4U_DOM_ID(2, 13, 6) +#define M4U_PORT_L13_CAM_CAMSV5 MTK_M4U_DOM_ID(2, 13, 7) +#define M4U_PORT_L13_CAM_CAMSV6 MTK_M4U_DOM_ID(2, 13, 8) +#define M4U_PORT_L13_CAM_CCUI MTK_M4U_DOM_ID(3, 13, 9) +#define M4U_PORT_L13_CAM_CCUO MTK_M4U_DOM_ID(3, 13, 10) +#define M4U_PORT_L13_CAM_FAKE MTK_M4U_DOM_ID(2, 13, 11) + +/* larb14 */ +#define M4U_PORT_L14_CAM_RESERVE1 MTK_M4U_DOM_ID(2, 14, 0) +#define M4U_PORT_L14_CAM_RESERVE2 MTK_M4U_DOM_ID(2, 14, 1) +#define M4U_PORT_L14_CAM_RESERVE3 MTK_M4U_DOM_ID(2, 14, 2) +#define M4U_PORT_L14_CAM_CAMSV0 MTK_M4U_DOM_ID(2, 14, 3) +#define M4U_PORT_L14_CAM_CCUI MTK_M4U_DOM_ID(4, 14, 4) +#define M4U_PORT_L14_CAM_CCUO MTK_M4U_DOM_ID(4, 14, 5) + +/* larb15: null */ + +/* larb16 */ +#define M4U_PORT_L16_CAM_IMGO_R1_A MTK_M4U_DOM_ID(2, 16, 0) +#define M4U_PORT_L16_CAM_RRZO_R1_A MTK_M4U_DOM_ID(2, 16, 1) +#define M4U_PORT_L16_CAM_CQI_R1_A MTK_M4U_DOM_ID(2, 16, 2) +#define M4U_PORT_L16_CAM_BPCI_R1_A MTK_M4U_DOM_ID(2, 16, 3) +#define M4U_PORT_L16_CAM_YUVO_R1_A MTK_M4U_DOM_ID(2, 16, 4) +#define M4U_PORT_L16_CAM_UFDI_R2_A MTK_M4U_DOM_ID(2, 16, 5) +#define M4U_PORT_L16_CAM_RAWI_R2_A MTK_M4U_DOM_ID(2, 16, 6) +#define M4U_PORT_L16_CAM_RAWI_R3_A MTK_M4U_DOM_ID(2, 16, 7) +#define M4U_PORT_L16_CAM_AAO_R1_A MTK_M4U_DOM_ID(2, 16, 8) +#define M4U_PORT_L16_CAM_AFO_R1_A MTK_M4U_DOM_ID(2, 16, 9) +#define M4U_PORT_L16_CAM_FLKO_R1_A MTK_M4U_DOM_ID(2, 16, 10) +#define M4U_PORT_L16_CAM_LCESO_R1_A MTK_M4U_DOM_ID(2, 16, 11) +#define M4U_PORT_L16_CAM_CRZO_R1_A MTK_M4U_DOM_ID(2, 16, 12) +#define M4U_PORT_L16_CAM_LTMSO_R1_A MTK_M4U_DOM_ID(2, 16, 13) +#define M4U_PORT_L16_CAM_RSSO_R1_A MTK_M4U_DOM_ID(2, 16, 14) +#define M4U_PORT_L16_CAM_AAHO_R1_A MTK_M4U_DOM_ID(2, 16, 15) +#define M4U_PORT_L16_CAM_LSCI_R1_A MTK_M4U_DOM_ID(2, 16, 16) + +/* larb17 */ +#define M4U_PORT_L17_CAM_IMGO_R1_B MTK_M4U_DOM_ID(2, 17, 0) +#define M4U_PORT_L17_CAM_RRZO_R1_B MTK_M4U_DOM_ID(2, 17, 1) +#define M4U_PORT_L17_CAM_CQI_R1_B MTK_M4U_DOM_ID(2, 17, 2) +#define M4U_PORT_L17_CAM_BPCI_R1_B MTK_M4U_DOM_ID(2, 17, 3) +#define M4U_PORT_L17_CAM_YUVO_R1_B MTK_M4U_DOM_ID(2, 17, 4) +#define M4U_PORT_L17_CAM_UFDI_R2_B MTK_M4U_DOM_ID(2, 17, 5) +#define M4U_PORT_L17_CAM_RAWI_R2_B MTK_M4U_DOM_ID(2, 17, 6) +#define M4U_PORT_L17_CAM_RAWI_R3_B MTK_M4U_DOM_ID(2, 17, 7) +#define M4U_PORT_L17_CAM_AAO_R1_B MTK_M4U_DOM_ID(2, 17, 8) +#define M4U_PORT_L17_CAM_AFO_R1_B MTK_M4U_DOM_ID(2, 17, 9) +#define M4U_PORT_L17_CAM_FLKO_R1_B MTK_M4U_DOM_ID(2, 17, 10) +#define M4U_PORT_L17_CAM_LCESO_R1_B MTK_M4U_DOM_ID(2, 17, 11) +#define M4U_PORT_L17_CAM_CRZO_R1_B MTK_M4U_DOM_ID(2, 17, 12) +#define M4U_PORT_L17_CAM_LTMSO_R1_B MTK_M4U_DOM_ID(2, 17, 13) +#define M4U_PORT_L17_CAM_RSSO_R1_B MTK_M4U_DOM_ID(2, 17, 14) +#define M4U_PORT_L17_CAM_AAHO_R1_B MTK_M4U_DOM_ID(2, 17, 15) +#define M4U_PORT_L17_CAM_LSCI_R1_B MTK_M4U_DOM_ID(2, 17, 16) + +/* larb18 */ +#define M4U_PORT_L18_CAM_IMGO_R1_C MTK_M4U_DOM_ID(2, 18, 0) +#define M4U_PORT_L18_CAM_RRZO_R1_C MTK_M4U_DOM_ID(2, 18, 1) +#define M4U_PORT_L18_CAM_CQI_R1_C MTK_M4U_DOM_ID(2, 18, 2) +#define M4U_PORT_L18_CAM_BPCI_R1_C MTK_M4U_DOM_ID(2, 18, 3) +#define M4U_PORT_L18_CAM_YUVO_R1_C MTK_M4U_DOM_ID(2, 18, 4) +#define M4U_PORT_L18_CAM_UFDI_R2_C MTK_M4U_DOM_ID(2, 18, 5) +#define M4U_PORT_L18_CAM_RAWI_R2_C MTK_M4U_DOM_ID(2, 18, 6) +#define M4U_PORT_L18_CAM_RAWI_R3_C MTK_M4U_DOM_ID(2, 18, 7) +#define M4U_PORT_L18_CAM_AAO_R1_C MTK_M4U_DOM_ID(2, 18, 8) +#define M4U_PORT_L18_CAM_AFO_R1_C MTK_M4U_DOM_ID(2, 18, 9) +#define M4U_PORT_L18_CAM_FLKO_R1_C MTK_M4U_DOM_ID(2, 18, 10) +#define M4U_PORT_L18_CAM_LCESO_R1_C MTK_M4U_DOM_ID(2, 18, 11) +#define M4U_PORT_L18_CAM_CRZO_R1_C MTK_M4U_DOM_ID(2, 18, 12) +#define M4U_PORT_L18_CAM_LTMSO_R1_C MTK_M4U_DOM_ID(2, 18, 13) +#define M4U_PORT_L18_CAM_RSSO_R1_C MTK_M4U_DOM_ID(2, 18, 14) +#define M4U_PORT_L18_CAM_AAHO_R1_C MTK_M4U_DOM_ID(2, 18, 15) +#define M4U_PORT_L18_CAM_LSCI_R1_C MTK_M4U_DOM_ID(2, 18, 16) + +/* larb19 */ +#define M4U_PORT_L19_IPE_DVS_RDMA MTK_M4U_DOM_ID(2, 19, 0) +#define M4U_PORT_L19_IPE_DVS_WDMA MTK_M4U_DOM_ID(2, 19, 1) +#define M4U_PORT_L19_IPE_DVP_RDMA MTK_M4U_DOM_ID(2, 19, 2) +#define M4U_PORT_L19_IPE_DVP_WDMA MTK_M4U_DOM_ID(2, 19, 3) + +/* larb20 */ +#define M4U_PORT_L20_IPE_FDVT_RDA MTK_M4U_DOM_ID(2, 20, 0) +#define M4U_PORT_L20_IPE_FDVT_RDB MTK_M4U_DOM_ID(2, 20, 1) +#define M4U_PORT_L20_IPE_FDVT_WRA MTK_M4U_DOM_ID(2, 20, 2) +#define M4U_PORT_L20_IPE_FDVT_WRB MTK_M4U_DOM_ID(2, 20, 3) +#define M4U_PORT_L20_IPE_RSC_RDMA0 MTK_M4U_DOM_ID(2, 20, 4) +#define M4U_PORT_L20_IPE_RSC_WDMA MTK_M4U_DOM_ID(2, 20, 5) + +#endif -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5AD0BC2D0A8 for ; Wed, 30 Sep 2020 07:16:07 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F3FC92075F for ; Wed, 30 Sep 2020 07:16:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="a2oK1ElY"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="ZhdWn92I" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F3FC92075F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=onP9VfrhEhbyoq4Y7aT3RQGFUHnP+HWLnEAkd5Ke+Sg=; b=a2oK1ElY21D6J/XnW0qtbzrS/ e29IqifZG/IoxfUrSThxHNl2KMP94a1RzDjt7a/KHL110v9kYw5zAuRLfZ9Zk2QjUaGUfh/wZa796 IrjDxNnZv8Og+AXZbI2cZdH6DqbXuW32H16HlM1iVKJm5KWFNDgOPAZZik0T5c2CnRzpGqyyyDQHk lWg+r0BTmeu1kDnyP1eX7F4lTEu3KPm9WpRC9L8OdD6ZOU1Xoi/0Y7kjCk9lEoCPVsJyuaBQ0ELxP QT/mNmOd9KMPaMz0wzaNZFPWyrYifOFVXSSXymjibmW4aLyVJ8N8Qn1MyO8i/1QDuqyBStKAxxTft UBRPxNkyg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kNWJP-0000Mz-8j; Wed, 30 Sep 2020 07:14:03 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kNWIB-0008E3-1g; Wed, 30 Sep 2020 07:12:50 +0000 X-UUID: 0da311d1ffaa4446a6c0335f2a30ff6a-20200929 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=6cegccRztlqnOd2jQZLfEVhvq3aGHeligU+NhGQgSyg=; b=ZhdWn92Ia5Yg5w8qiB/AdPpk9PAuR3nRHlE9uh5fClZ0tzfIkE9AOhOmT3WM3cV7vdBy/rV/sHBiH4oTZEX0HWGy1On5eLJPA9Z/jdaoAkcVIvZ8yHP2xkuounQqFl6jF/WkS3P9nhc3ur91uQyfRJdE4nOgLGIv/gs8c/mfT18=; X-UUID: 0da311d1ffaa4446a6c0335f2a30ff6a-20200929 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1138195912; Tue, 29 Sep 2020 23:12:34 -0800 Received: from mtkmbs08n1.mediatek.inc (172.21.101.55) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 30 Sep 2020 00:08:19 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 30 Sep 2020 15:08:17 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 30 Sep 2020 15:08:18 +0800 From: Yong Wu To: Joerg Roedel , Matthias Brugger , Rob Herring , Robin Murphy , Krzysztof Kozlowski , Will Deacon Subject: [PATCH v3 06/24] dt-bindings: mediatek: Add binding for mt8192 IOMMU Date: Wed, 30 Sep 2020 15:06:29 +0800 Message-ID: <20200930070647.10188-7-yong.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200930070647.10188-1-yong.wu@mediatek.com> References: <20200930070647.10188-1-yong.wu@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200930_031247_382373_96B0032E X-CRM114-Status: GOOD ( 18.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: youlin.pei@mediatek.com, devicetree@vger.kernel.org, Nicolas Boichat , srv_heupstream@mediatek.com, chao.hao@mediatek.com, kernel-team@android.com, linux-kernel@vger.kernel.org, Evan Green , Tomasz Figa , iommu@lists.linux-foundation.org, linux-mediatek@lists.infradead.org, yong.wu@mediatek.com, ming-fan.chen@mediatek.com, anan.sun@mediatek.com, Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patch adds decriptions for mt8192 IOMMU and SMI. mt8192 also is MTK IOMMU gen2 which uses ARM Short-Descriptor translation table format. The M4U-SMI HW diagram is as below: EMI | M4U | ------------ SMI Common ------------ | +-------+------+------+----------------------+-------+ | | | | ...... | | | | | | | | larb0 larb1 larb2 larb4 ...... larb19 larb20 disp0 disp1 mdp vdec IPE IPE All the connections are HW fixed, SW can NOT adjust it. mt8192 M4U support 0~16GB iova range. we preassign different engines into different iova ranges: domain-id module iova-range larbs 0 disp 0 ~ 4G larb0/1 1 vcodec 4G ~ 8G larb4/5/7 2 cam/mdp 8G ~ 12G larb2/9/11/13/14/16/17/18/19/20 3 CCU0 0x4000_0000 ~ 0x43ff_ffff larb13: port 9/10 4 CCU1 0x4400_0000 ~ 0x47ff_ffff larb14: port 4/5 The iova range for CCU0/1(camera control unit) is HW requirement. Signed-off-by: Yong Wu Reviewed-by: Rob Herring --- .../bindings/iommu/mediatek,iommu.yaml | 9 +- .../mediatek,smi-common.yaml | 5 +- .../memory-controllers/mediatek,smi-larb.yaml | 3 +- include/dt-bindings/memory/mt8192-larb-port.h | 239 ++++++++++++++++++ 4 files changed, 251 insertions(+), 5 deletions(-) create mode 100644 include/dt-bindings/memory/mt8192-larb-port.h diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml index eae773ad53a3..a7f41cdf3aca 100644 --- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml +++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml @@ -75,6 +75,7 @@ properties: - mediatek,mt6779-m4u # mt6779 generation two HW - mediatek,mt8173-m4u # mt8173 generation two HW - mediatek,mt8183-m4u # mt8183 generation two HW + - mediatek,mt8192-m4u # mt8192 generation two HW - description: mt7623 generation one HW items: @@ -90,7 +91,7 @@ properties: clocks: description: | bclk is optional. here is the list which require this bclk: - mt2701, mt2712, mt7623 and mt8173. + mt2701, mt2712, mt7623, mt8173 and mt8192. M4U will use the EMI clock which always has been enabled before kernel if there is no this bclk. items: @@ -116,7 +117,11 @@ properties: dt-binding/memory/mt2712-larb-port.h for mt2712, dt-binding/memory/mt6779-larb-port.h for mt6779, dt-binding/memory/mt8173-larb-port.h for mt8173, - dt-binding/memory/mt8183-larb-port.h for mt8183. + dt-binding/memory/mt8183-larb-port.h for mt8183, + dt-binding/memory/mt8192-larb-port.h for mt8192. + + power-domains: + maxItems: 1 required: - compatible diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml index 76ecc7205438..d3cb4d853e71 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml @@ -15,7 +15,7 @@ description: |+ MediaTek SMI have two generations of HW architecture, here is the list which generation the SoCs use: generation 1: mt2701 and mt7623. - generation 2: mt2712, mt6779, mt8173 and mt8183. + generation 2: mt2712, mt6779, mt8173, mt8183 and mt8192. There's slight differences between the two SMI, for generation 2, the register which control the iommu port is at each larb's register base. But @@ -33,6 +33,7 @@ properties: - mediatek,mt6779-smi-common - mediatek,mt8173-smi-common - mediatek,mt8183-smi-common + - mediatek,mt8192-smi-common - description: for mt7623 items: @@ -46,7 +47,7 @@ properties: description: | apb and smi are mandatory. the async is only for generation 1 smi HW. gals(global async local sync) also is optional, here is the list which - require gals: mt6779 and mt8183. + require gals: mt6779, mt8183 and mt8192. minItems: 2 maxItems: 4 items: diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml index ea418113bf27..f5ba43638c37 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml @@ -21,6 +21,7 @@ properties: - mediatek,mt6779-smi-larb - mediatek,mt8173-smi-larb - mediatek,mt8183-smi-larb + - mediatek,mt8192-smi-larb - description: for mt7623 items: @@ -64,7 +65,7 @@ properties: minimum: 0 maximum: 31 description: the hardware id of this larb. - Required property for mt2701, mt2712, mt6779 and mt7623. + Required property for mt2701, mt2712, mt6779, mt7623 and mt8192. required: - compatible diff --git a/include/dt-bindings/memory/mt8192-larb-port.h b/include/dt-bindings/memory/mt8192-larb-port.h new file mode 100644 index 000000000000..41c253662e90 --- /dev/null +++ b/include/dt-bindings/memory/mt8192-larb-port.h @@ -0,0 +1,239 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2020 MediaTek Inc. + * Author: Chao Hao + * Author: Yong Wu + */ +#ifndef _DTS_IOMMU_PORT_MT8192_H_ +#define _DTS_IOMMU_PORT_MT8192_H_ + +#include + +/* + * MM IOMMU: + * domain 0: display: larb0, larb1. + * domain 1: vcodec: larb4, larb5, larb7. + * domain 2: CAM/MDP: larb2, larb9, larb11, larb13, larb14, larb16, + * larb17, larb18, larb19, larb20, + * domain 3: CCU0: larb13 - port9/10. + * domain 4: CCU1: larb14 - port4/5. + * + * larb3/6/8/10/12/15 is null. + */ + +/* larb0 */ +#define M4U_PORT_L0_DISP_POSTMASK0 MTK_M4U_DOM_ID(0, 0, 0) +#define M4U_PORT_L0_OVL_RDMA0_HDR MTK_M4U_DOM_ID(0, 0, 1) +#define M4U_PORT_L0_OVL_RDMA0 MTK_M4U_DOM_ID(0, 0, 2) +#define M4U_PORT_L0_DISP_RDMA0 MTK_M4U_DOM_ID(0, 0, 3) +#define M4U_PORT_L0_DISP_WDMA0 MTK_M4U_DOM_ID(0, 0, 4) +#define M4U_PORT_L0_DISP_FAKE0 MTK_M4U_DOM_ID(0, 0, 5) + +/* larb1 */ +#define M4U_PORT_L1_OVL_2L_RDMA0_HDR MTK_M4U_DOM_ID(0, 1, 0) +#define M4U_PORT_L1_OVL_2L_RDMA2_HDR MTK_M4U_DOM_ID(0, 1, 1) +#define M4U_PORT_L1_OVL_2L_RDMA0 MTK_M4U_DOM_ID(0, 1, 2) +#define M4U_PORT_L1_OVL_2L_RDMA2 MTK_M4U_DOM_ID(0, 1, 3) +#define M4U_PORT_L1_DISP_MDP_RDMA4 MTK_M4U_DOM_ID(0, 1, 4) +#define M4U_PORT_L1_DISP_RDMA4 MTK_M4U_DOM_ID(0, 1, 5) +#define M4U_PORT_L1_DISP_UFBC_WDMA0 MTK_M4U_DOM_ID(0, 1, 6) +#define M4U_PORT_L1_DISP_FAKE1 MTK_M4U_DOM_ID(0, 1, 7) + +/* larb2 */ +#define M4U_PORT_L2_MDP_RDMA0 MTK_M4U_DOM_ID(2, 2, 0) +#define M4U_PORT_L2_MDP_RDMA1 MTK_M4U_DOM_ID(2, 2, 1) +#define M4U_PORT_L2_MDP_WROT0 MTK_M4U_DOM_ID(2, 2, 2) +#define M4U_PORT_L2_MDP_WROT1 MTK_M4U_DOM_ID(2, 2, 3) +#define M4U_PORT_L2_MDP_DISP_FAKE0 MTK_M4U_DOM_ID(2, 2, 4) + +/* larb3: null */ + +/* larb4 */ +#define M4U_PORT_L4_VDEC_MC_EXT MTK_M4U_DOM_ID(1, 4, 0) +#define M4U_PORT_L4_VDEC_UFO_EXT MTK_M4U_DOM_ID(1, 4, 1) +#define M4U_PORT_L4_VDEC_PP_EXT MTK_M4U_DOM_ID(1, 4, 2) +#define M4U_PORT_L4_VDEC_PRED_RD_EXT MTK_M4U_DOM_ID(1, 4, 3) +#define M4U_PORT_L4_VDEC_PRED_WR_EXT MTK_M4U_DOM_ID(1, 4, 4) +#define M4U_PORT_L4_VDEC_PPWRAP_EXT MTK_M4U_DOM_ID(1, 4, 5) +#define M4U_PORT_L4_VDEC_TILE_EXT MTK_M4U_DOM_ID(1, 4, 6) +#define M4U_PORT_L4_VDEC_VLD_EXT MTK_M4U_DOM_ID(1, 4, 7) +#define M4U_PORT_L4_VDEC_VLD2_EXT MTK_M4U_DOM_ID(1, 4, 8) +#define M4U_PORT_L4_VDEC_AVC_MV_EXT MTK_M4U_DOM_ID(1, 4, 9) +#define M4U_PORT_L4_VDEC_RG_CTRL_DMA_EXT MTK_M4U_DOM_ID(1, 4, 10) + +/* larb5 */ +#define M4U_PORT_L5_VDEC_LAT0_VLD_EXT MTK_M4U_DOM_ID(1, 5, 0) +#define M4U_PORT_L5_VDEC_LAT0_VLD2_EXT MTK_M4U_DOM_ID(1, 5, 1) +#define M4U_PORT_L5_VDEC_LAT0_AVC_MV_EXT MTK_M4U_DOM_ID(1, 5, 2) +#define M4U_PORT_L5_VDEC_LAT0_PRED_RD_EXT MTK_M4U_DOM_ID(1, 5, 3) +#define M4U_PORT_L5_VDEC_LAT0_TILE_EXT MTK_M4U_DOM_ID(1, 5, 4) +#define M4U_PORT_L5_VDEC_LAT0_WDMA_EXT MTK_M4U_DOM_ID(1, 5, 5) +#define M4U_PORT_L5_VDEC_LAT0_RG_CTRL_DMA_EXT MTK_M4U_DOM_ID(1, 5, 6) +#define M4U_PORT_L5_VDEC_UFO_ENC_EXT MTK_M4U_DOM_ID(1, 5, 7) + +/* larb6: null */ + +/* larb7 */ +#define M4U_PORT_L7_VENC_RCPU MTK_M4U_DOM_ID(1, 7, 0) +#define M4U_PORT_L7_VENC_REC MTK_M4U_DOM_ID(1, 7, 1) +#define M4U_PORT_L7_VENC_BSDMA MTK_M4U_DOM_ID(1, 7, 2) +#define M4U_PORT_L7_VENC_SV_COMV MTK_M4U_DOM_ID(1, 7, 3) +#define M4U_PORT_L7_VENC_RD_COMV MTK_M4U_DOM_ID(1, 7, 4) +#define M4U_PORT_L7_VENC_CUR_LUMA MTK_M4U_DOM_ID(1, 7, 5) +#define M4U_PORT_L7_VENC_CUR_CHROMA MTK_M4U_DOM_ID(1, 7, 6) +#define M4U_PORT_L7_VENC_REF_LUMA MTK_M4U_DOM_ID(1, 7, 7) +#define M4U_PORT_L7_VENC_REF_CHROMA MTK_M4U_DOM_ID(1, 7, 8) +#define M4U_PORT_L7_JPGENC_Y_RDMA MTK_M4U_DOM_ID(1, 7, 9) +#define M4U_PORT_L7_JPGENC_Q_RDMA MTK_M4U_DOM_ID(1, 7, 10) +#define M4U_PORT_L7_JPGENC_C_TABLE MTK_M4U_DOM_ID(1, 7, 11) +#define M4U_PORT_L7_JPGENC_BSDMA MTK_M4U_DOM_ID(1, 7, 12) +#define M4U_PORT_L7_VENC_SUB_R_LUMA MTK_M4U_DOM_ID(1, 7, 13) +#define M4U_PORT_L7_VENC_SUB_W_LUMA MTK_M4U_DOM_ID(1, 7, 14) + +/* larb8: null */ + +/* larb9 */ +#define M4U_PORT_L9_IMG_IMGI_D1 MTK_M4U_DOM_ID(2, 9, 0) +#define M4U_PORT_L9_IMG_IMGBI_D1 MTK_M4U_DOM_ID(2, 9, 1) +#define M4U_PORT_L9_IMG_DMGI_D1 MTK_M4U_DOM_ID(2, 9, 2) +#define M4U_PORT_L9_IMG_DEPI_D1 MTK_M4U_DOM_ID(2, 9, 3) +#define M4U_PORT_L9_IMG_ICE_D1 MTK_M4U_DOM_ID(2, 9, 4) +#define M4U_PORT_L9_IMG_SMTI_D1 MTK_M4U_DOM_ID(2, 9, 5) +#define M4U_PORT_L9_IMG_SMTO_D2 MTK_M4U_DOM_ID(2, 9, 6) +#define M4U_PORT_L9_IMG_SMTO_D1 MTK_M4U_DOM_ID(2, 9, 7) +#define M4U_PORT_L9_IMG_CRZO_D1 MTK_M4U_DOM_ID(2, 9, 8) +#define M4U_PORT_L9_IMG_IMG3O_D1 MTK_M4U_DOM_ID(2, 9, 9) +#define M4U_PORT_L9_IMG_VIPI_D1 MTK_M4U_DOM_ID(2, 9, 10) +#define M4U_PORT_L9_IMG_SMTI_D5 MTK_M4U_DOM_ID(2, 9, 11) +#define M4U_PORT_L9_IMG_TIMGO_D1 MTK_M4U_DOM_ID(2, 9, 12) +#define M4U_PORT_L9_IMG_UFBC_W0 MTK_M4U_DOM_ID(2, 9, 13) +#define M4U_PORT_L9_IMG_UFBC_R0 MTK_M4U_DOM_ID(2, 9, 14) + +/* larb10: null */ + +/* larb11 */ +#define M4U_PORT_L11_IMG_IMGI_D1 MTK_M4U_DOM_ID(2, 11, 0) +#define M4U_PORT_L11_IMG_IMGBI_D1 MTK_M4U_DOM_ID(2, 11, 1) +#define M4U_PORT_L11_IMG_DMGI_D1 MTK_M4U_DOM_ID(2, 11, 2) +#define M4U_PORT_L11_IMG_DEPI_D1 MTK_M4U_DOM_ID(2, 11, 3) +#define M4U_PORT_L11_IMG_ICE_D1 MTK_M4U_DOM_ID(2, 11, 4) +#define M4U_PORT_L11_IMG_SMTI_D1 MTK_M4U_DOM_ID(2, 11, 5) +#define M4U_PORT_L11_IMG_SMTO_D2 MTK_M4U_DOM_ID(2, 11, 6) +#define M4U_PORT_L11_IMG_SMTO_D1 MTK_M4U_DOM_ID(2, 11, 7) +#define M4U_PORT_L11_IMG_CRZO_D1 MTK_M4U_DOM_ID(2, 11, 8) +#define M4U_PORT_L11_IMG_IMG3O_D1 MTK_M4U_DOM_ID(2, 11, 9) +#define M4U_PORT_L11_IMG_VIPI_D1 MTK_M4U_DOM_ID(2, 11, 10) +#define M4U_PORT_L11_IMG_SMTI_D5 MTK_M4U_DOM_ID(2, 11, 11) +#define M4U_PORT_L11_IMG_TIMGO_D1 MTK_M4U_DOM_ID(2, 11, 12) +#define M4U_PORT_L11_IMG_UFBC_W0 MTK_M4U_DOM_ID(2, 11, 13) +#define M4U_PORT_L11_IMG_UFBC_R0 MTK_M4U_DOM_ID(2, 11, 14) +#define M4U_PORT_L11_IMG_WPE_RDMA1 MTK_M4U_DOM_ID(2, 11, 15) +#define M4U_PORT_L11_IMG_WPE_RDMA0 MTK_M4U_DOM_ID(2, 11, 16) +#define M4U_PORT_L11_IMG_WPE_WDMA MTK_M4U_DOM_ID(2, 11, 17) +#define M4U_PORT_L11_IMG_MFB_RDMA0 MTK_M4U_DOM_ID(2, 11, 18) +#define M4U_PORT_L11_IMG_MFB_RDMA1 MTK_M4U_DOM_ID(2, 11, 19) +#define M4U_PORT_L11_IMG_MFB_RDMA2 MTK_M4U_DOM_ID(2, 11, 20) +#define M4U_PORT_L11_IMG_MFB_RDMA3 MTK_M4U_DOM_ID(2, 11, 21) +#define M4U_PORT_L11_IMG_MFB_RDMA4 MTK_M4U_DOM_ID(2, 11, 22) +#define M4U_PORT_L11_IMG_MFB_RDMA5 MTK_M4U_DOM_ID(2, 11, 23) +#define M4U_PORT_L11_IMG_MFB_WDMA0 MTK_M4U_DOM_ID(2, 11, 24) +#define M4U_PORT_L11_IMG_MFB_WDMA1 MTK_M4U_DOM_ID(2, 11, 25) + +/* larb12: null */ + +/* larb13 */ +#define M4U_PORT_L13_CAM_MRAWI MTK_M4U_DOM_ID(2, 13, 0) +#define M4U_PORT_L13_CAM_MRAWO0 MTK_M4U_DOM_ID(2, 13, 1) +#define M4U_PORT_L13_CAM_MRAWO1 MTK_M4U_DOM_ID(2, 13, 2) +#define M4U_PORT_L13_CAM_CAMSV1 MTK_M4U_DOM_ID(2, 13, 3) +#define M4U_PORT_L13_CAM_CAMSV2 MTK_M4U_DOM_ID(2, 13, 4) +#define M4U_PORT_L13_CAM_CAMSV3 MTK_M4U_DOM_ID(2, 13, 5) +#define M4U_PORT_L13_CAM_CAMSV4 MTK_M4U_DOM_ID(2, 13, 6) +#define M4U_PORT_L13_CAM_CAMSV5 MTK_M4U_DOM_ID(2, 13, 7) +#define M4U_PORT_L13_CAM_CAMSV6 MTK_M4U_DOM_ID(2, 13, 8) +#define M4U_PORT_L13_CAM_CCUI MTK_M4U_DOM_ID(3, 13, 9) +#define M4U_PORT_L13_CAM_CCUO MTK_M4U_DOM_ID(3, 13, 10) +#define M4U_PORT_L13_CAM_FAKE MTK_M4U_DOM_ID(2, 13, 11) + +/* larb14 */ +#define M4U_PORT_L14_CAM_RESERVE1 MTK_M4U_DOM_ID(2, 14, 0) +#define M4U_PORT_L14_CAM_RESERVE2 MTK_M4U_DOM_ID(2, 14, 1) +#define M4U_PORT_L14_CAM_RESERVE3 MTK_M4U_DOM_ID(2, 14, 2) +#define M4U_PORT_L14_CAM_CAMSV0 MTK_M4U_DOM_ID(2, 14, 3) +#define M4U_PORT_L14_CAM_CCUI MTK_M4U_DOM_ID(4, 14, 4) +#define M4U_PORT_L14_CAM_CCUO MTK_M4U_DOM_ID(4, 14, 5) + +/* larb15: null */ + +/* larb16 */ +#define M4U_PORT_L16_CAM_IMGO_R1_A MTK_M4U_DOM_ID(2, 16, 0) +#define M4U_PORT_L16_CAM_RRZO_R1_A MTK_M4U_DOM_ID(2, 16, 1) +#define M4U_PORT_L16_CAM_CQI_R1_A MTK_M4U_DOM_ID(2, 16, 2) +#define M4U_PORT_L16_CAM_BPCI_R1_A MTK_M4U_DOM_ID(2, 16, 3) +#define M4U_PORT_L16_CAM_YUVO_R1_A MTK_M4U_DOM_ID(2, 16, 4) +#define M4U_PORT_L16_CAM_UFDI_R2_A MTK_M4U_DOM_ID(2, 16, 5) +#define M4U_PORT_L16_CAM_RAWI_R2_A MTK_M4U_DOM_ID(2, 16, 6) +#define M4U_PORT_L16_CAM_RAWI_R3_A MTK_M4U_DOM_ID(2, 16, 7) +#define M4U_PORT_L16_CAM_AAO_R1_A MTK_M4U_DOM_ID(2, 16, 8) +#define M4U_PORT_L16_CAM_AFO_R1_A MTK_M4U_DOM_ID(2, 16, 9) +#define M4U_PORT_L16_CAM_FLKO_R1_A MTK_M4U_DOM_ID(2, 16, 10) +#define M4U_PORT_L16_CAM_LCESO_R1_A MTK_M4U_DOM_ID(2, 16, 11) +#define M4U_PORT_L16_CAM_CRZO_R1_A MTK_M4U_DOM_ID(2, 16, 12) +#define M4U_PORT_L16_CAM_LTMSO_R1_A MTK_M4U_DOM_ID(2, 16, 13) +#define M4U_PORT_L16_CAM_RSSO_R1_A MTK_M4U_DOM_ID(2, 16, 14) +#define M4U_PORT_L16_CAM_AAHO_R1_A MTK_M4U_DOM_ID(2, 16, 15) +#define M4U_PORT_L16_CAM_LSCI_R1_A MTK_M4U_DOM_ID(2, 16, 16) + +/* larb17 */ +#define M4U_PORT_L17_CAM_IMGO_R1_B MTK_M4U_DOM_ID(2, 17, 0) +#define M4U_PORT_L17_CAM_RRZO_R1_B MTK_M4U_DOM_ID(2, 17, 1) +#define M4U_PORT_L17_CAM_CQI_R1_B MTK_M4U_DOM_ID(2, 17, 2) +#define M4U_PORT_L17_CAM_BPCI_R1_B MTK_M4U_DOM_ID(2, 17, 3) +#define M4U_PORT_L17_CAM_YUVO_R1_B MTK_M4U_DOM_ID(2, 17, 4) +#define M4U_PORT_L17_CAM_UFDI_R2_B MTK_M4U_DOM_ID(2, 17, 5) +#define M4U_PORT_L17_CAM_RAWI_R2_B MTK_M4U_DOM_ID(2, 17, 6) +#define M4U_PORT_L17_CAM_RAWI_R3_B MTK_M4U_DOM_ID(2, 17, 7) +#define M4U_PORT_L17_CAM_AAO_R1_B MTK_M4U_DOM_ID(2, 17, 8) +#define M4U_PORT_L17_CAM_AFO_R1_B MTK_M4U_DOM_ID(2, 17, 9) +#define M4U_PORT_L17_CAM_FLKO_R1_B MTK_M4U_DOM_ID(2, 17, 10) +#define M4U_PORT_L17_CAM_LCESO_R1_B MTK_M4U_DOM_ID(2, 17, 11) +#define M4U_PORT_L17_CAM_CRZO_R1_B MTK_M4U_DOM_ID(2, 17, 12) +#define M4U_PORT_L17_CAM_LTMSO_R1_B MTK_M4U_DOM_ID(2, 17, 13) +#define M4U_PORT_L17_CAM_RSSO_R1_B MTK_M4U_DOM_ID(2, 17, 14) +#define M4U_PORT_L17_CAM_AAHO_R1_B MTK_M4U_DOM_ID(2, 17, 15) +#define M4U_PORT_L17_CAM_LSCI_R1_B MTK_M4U_DOM_ID(2, 17, 16) + +/* larb18 */ +#define M4U_PORT_L18_CAM_IMGO_R1_C MTK_M4U_DOM_ID(2, 18, 0) +#define M4U_PORT_L18_CAM_RRZO_R1_C MTK_M4U_DOM_ID(2, 18, 1) +#define M4U_PORT_L18_CAM_CQI_R1_C MTK_M4U_DOM_ID(2, 18, 2) +#define M4U_PORT_L18_CAM_BPCI_R1_C MTK_M4U_DOM_ID(2, 18, 3) +#define M4U_PORT_L18_CAM_YUVO_R1_C MTK_M4U_DOM_ID(2, 18, 4) +#define M4U_PORT_L18_CAM_UFDI_R2_C MTK_M4U_DOM_ID(2, 18, 5) +#define M4U_PORT_L18_CAM_RAWI_R2_C MTK_M4U_DOM_ID(2, 18, 6) +#define M4U_PORT_L18_CAM_RAWI_R3_C MTK_M4U_DOM_ID(2, 18, 7) +#define M4U_PORT_L18_CAM_AAO_R1_C MTK_M4U_DOM_ID(2, 18, 8) +#define M4U_PORT_L18_CAM_AFO_R1_C MTK_M4U_DOM_ID(2, 18, 9) +#define M4U_PORT_L18_CAM_FLKO_R1_C MTK_M4U_DOM_ID(2, 18, 10) +#define M4U_PORT_L18_CAM_LCESO_R1_C MTK_M4U_DOM_ID(2, 18, 11) +#define M4U_PORT_L18_CAM_CRZO_R1_C MTK_M4U_DOM_ID(2, 18, 12) +#define M4U_PORT_L18_CAM_LTMSO_R1_C MTK_M4U_DOM_ID(2, 18, 13) +#define M4U_PORT_L18_CAM_RSSO_R1_C MTK_M4U_DOM_ID(2, 18, 14) +#define M4U_PORT_L18_CAM_AAHO_R1_C MTK_M4U_DOM_ID(2, 18, 15) +#define M4U_PORT_L18_CAM_LSCI_R1_C MTK_M4U_DOM_ID(2, 18, 16) + +/* larb19 */ +#define M4U_PORT_L19_IPE_DVS_RDMA MTK_M4U_DOM_ID(2, 19, 0) +#define M4U_PORT_L19_IPE_DVS_WDMA MTK_M4U_DOM_ID(2, 19, 1) +#define M4U_PORT_L19_IPE_DVP_RDMA MTK_M4U_DOM_ID(2, 19, 2) +#define M4U_PORT_L19_IPE_DVP_WDMA MTK_M4U_DOM_ID(2, 19, 3) + +/* larb20 */ +#define M4U_PORT_L20_IPE_FDVT_RDA MTK_M4U_DOM_ID(2, 20, 0) +#define M4U_PORT_L20_IPE_FDVT_RDB MTK_M4U_DOM_ID(2, 20, 1) +#define M4U_PORT_L20_IPE_FDVT_WRA MTK_M4U_DOM_ID(2, 20, 2) +#define M4U_PORT_L20_IPE_FDVT_WRB MTK_M4U_DOM_ID(2, 20, 3) +#define M4U_PORT_L20_IPE_RSC_RDMA0 MTK_M4U_DOM_ID(2, 20, 4) +#define M4U_PORT_L20_IPE_RSC_WDMA MTK_M4U_DOM_ID(2, 20, 5) + +#endif -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel