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.3 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,UPPERCASE_50_75,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 DF41AC433E3 for ; Thu, 23 Jul 2020 11:20:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 936CA208E4 for ; Thu, 23 Jul 2020 11:20:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="RRQTCcOx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728110AbgGWLUp (ORCPT ); Thu, 23 Jul 2020 07:20:45 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:37873 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728601AbgGWLUf (ORCPT ); Thu, 23 Jul 2020 07:20:35 -0400 X-UUID: 4e5c105bf2a4425eab30e4b6e92ad076-20200723 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=Z/eOPT2Sz+W6Kr4zja2X5uj8CK6tZsBJQ7B8mAjNkVY=; b=RRQTCcOx5Fz0IkyKnLSfR3TnAJBwAD/dssdzmU4LANJtVXhhtENDEKpSrNDKIbheuSga8G/mAacpCafyeLsB+oRidSpr6cAz/xlZLv/7qDvRNP/zvmAIJf4ArqVThcNFZMsfcv6cXr5TAIjuyDiIqfVTTc6rAfXm1c4V+qGT/3I=; X-UUID: 4e5c105bf2a4425eab30e4b6e92ad076-20200723 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 389697332; Thu, 23 Jul 2020 19:20:02 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 23 Jul 2020 19:19:59 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 23 Jul 2020 19:19:59 +0800 From: Hanks Chen To: Linus Walleij , Rob Herring , Matthias Brugger , Michael Turquette , Stephen Boyd , Sean Wang CC: mtk01761 , Andy Teng , , , , , , , CC Hwang , Loda Chou , Hanks Chen , Mars Cheng Subject: [PATCH v9 4/7] pinctrl: mediatek: add pinctrl support for MT6779 SoC Date: Thu, 23 Jul 2020 19:19:54 +0800 Message-ID: <1595503197-15246-5-git-send-email-hanks.chen@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1595503197-15246-1-git-send-email-hanks.chen@mediatek.com> References: <1595503197-15246-1-git-send-email-hanks.chen@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 3647970F157602DEC7F74AC00166D1ACEFAAE25E13E4A97C2D0C7F604DC60A332000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org VGhpcyBhZGRzIE1UNjc3OSBwaW5jdHJsIGRyaXZlciBiYXNlZCBvbiBNZWRpYVRlayBwaW5jdHJs LXBhcmlzIGNvcmUuDQoNCkFja2VkLWJ5OiBTZWFuIFdhbmcgPHNlYW4ud2FuZ0BrZXJuZWwub3Jn Pg0KU2lnbmVkLW9mZi1ieTogTWFycyBDaGVuZyA8bWFycy5jaGVuZ0BtZWRpYXRlay5jb20+DQpT aWduZWQtb2ZmLWJ5OiBBbmR5IFRlbmcgPGFuZHkudGVuZ0BtZWRpYXRlay5jb20+DQpTaWduZWQt b2ZmLWJ5OiBIYW5rcyBDaGVuIDxoYW5rcy5jaGVuQG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZl cnMvcGluY3RybC9tZWRpYXRlay9LY29uZmlnICAgICAgICAgICAgICB8ICAgMTIgKw0KIGRyaXZl cnMvcGluY3RybC9tZWRpYXRlay9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgIDEgKw0KIGRyaXZl cnMvcGluY3RybC9tZWRpYXRlay9waW5jdHJsLW10Njc3OS5jICAgICB8ICA3NzcgKysrKysrDQog ZHJpdmVycy9waW5jdHJsL21lZGlhdGVrL3BpbmN0cmwtbXRrLW10Njc3OS5oIHwgMjA4NSArKysr KysrKysrKysrKysrKw0KIDQgZmlsZXMgY2hhbmdlZCwgMjg3NSBpbnNlcnRpb25zKCspDQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGluY3RybC9tZWRpYXRlay9waW5jdHJsLW10Njc3OS5j DQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGluY3RybC9tZWRpYXRlay9waW5jdHJsLW10 ay1tdDY3NzkuaA0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL21lZGlhdGVrL0tjb25m aWcgYi9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvS2NvbmZpZw0KaW5kZXggZjMyZDM2NDRjNTA5 Li4xY2VkYzVmMmFhZGIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvS2Nv bmZpZw0KKysrIGIvZHJpdmVycy9waW5jdHJsL21lZGlhdGVrL0tjb25maWcNCkBAIC05Myw2ICs5 MywxOCBAQCBjb25maWcgUElOQ1RSTF9NVDY3NjUNCiAJZGVmYXVsdCBBUk02NCAmJiBBUkNIX01F RElBVEVLDQogCXNlbGVjdCBQSU5DVFJMX01US19QQVJJUw0KIA0KK2NvbmZpZyBQSU5DVFJMX01U Njc3OQ0KKwl0cmlzdGF0ZSAiTWVkaWF0ZWsgTVQ2Nzc5IHBpbiBjb250cm9sIg0KKwlkZXBlbmRz IG9uIE9GDQorCWRlcGVuZHMgb24gQVJNNjQgfHwgQ09NUElMRV9URVNUDQorCWRlZmF1bHQgQVJN NjQgJiYgQVJDSF9NRURJQVRFSw0KKwlzZWxlY3QgUElOQ1RSTF9NVEtfUEFSSVMNCisJaGVscA0K KwkgIFNheSB5ZXMgaGVyZSB0byBzdXBwb3J0IHBpbiBjb250cm9sbGVyIGFuZCBncGlvIGRyaXZl cg0KKwkgIG9uIE1lZGlhdGVrIE1UNjc3OSBTb0MuDQorCSAgSW4gTVRLIHBsYXRmb3JtLCB3ZSBz dXBwb3J0IHZpcnR1YWwgZ3BpbyBhbmQgdXNlIGl0IHRvDQorCSAgbWFwIHNwZWNpZmljIGVpbnQg d2hpY2ggZG9lc24ndCBoYXZlIHJlYWwgZ3BpbyBwaW4uDQorDQogY29uZmlnIFBJTkNUUkxfTVQ2 Nzk3DQogCWJvb2wgIk1lZGlhdGVrIE1UNjc5NyBwaW4gY29udHJvbCINCiAJZGVwZW5kcyBvbiBP Rg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGluY3RybC9tZWRpYXRlay9NYWtlZmlsZSBiL2RyaXZl cnMvcGluY3RybC9tZWRpYXRlay9NYWtlZmlsZQ0KaW5kZXggNGI3MTMyODc2ZTcxLi5iMGIwN2M1 NDFkMTEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvTWFrZWZpbGUNCisr KyBiL2RyaXZlcnMvcGluY3RybC9tZWRpYXRlay9NYWtlZmlsZQ0KQEAgLTEyLDYgKzEyLDcgQEAg b2JqLSQoQ09ORklHX1BJTkNUUkxfTVQyNzEyKQkrPSBwaW5jdHJsLW10MjcxMi5vDQogb2JqLSQo Q09ORklHX1BJTkNUUkxfTVQ4MTM1KQkrPSBwaW5jdHJsLW10ODEzNS5vDQogb2JqLSQoQ09ORklH X1BJTkNUUkxfTVQ4MTI3KQkrPSBwaW5jdHJsLW10ODEyNy5vDQogb2JqLSQoQ09ORklHX1BJTkNU UkxfTVQ2NzY1KQkrPSBwaW5jdHJsLW10Njc2NS5vDQorb2JqLSQoQ09ORklHX1BJTkNUUkxfTVQ2 Nzc5KQkrPSBwaW5jdHJsLW10Njc3OS5vDQogb2JqLSQoQ09ORklHX1BJTkNUUkxfTVQ2Nzk3KQkr PSBwaW5jdHJsLW10Njc5Ny5vDQogb2JqLSQoQ09ORklHX1BJTkNUUkxfTVQ3NjIyKQkrPSBwaW5j dHJsLW10NzYyMi5vDQogb2JqLSQoQ09ORklHX1BJTkNUUkxfTVQ3NjIzKQkrPSBwaW5jdHJsLW10 NzYyMy5vDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL21lZGlhdGVrL3BpbmN0cmwtbXQ2 Nzc5LmMgYi9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1tdDY3NzkuYw0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uZWRlMTg1YjU4ZDQxDQotLS0gL2Rl di9udWxsDQorKysgYi9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1tdDY3NzkuYw0K QEAgLTAsMCArMSw3NzcgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0K Ky8qDQorICogQ29weXJpZ2h0IChDKSAyMDE5IE1lZGlhVGVrIEluYy4NCisgKiBBdXRob3I6IEFu ZHkgVGVuZyA8YW5keS50ZW5nQG1lZGlhdGVrLmNvbT4NCisgKg0KKyAqLw0KKw0KKyNpbmNsdWRl IDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVkZSAicGluY3RybC1tdGstbXQ2Nzc5LmgiDQorI2lu Y2x1ZGUgInBpbmN0cmwtcGFyaXMuaCINCisNCisvKiBNVDY3NzkgaGF2ZSBtdWx0aXBsZSBiYXNl cyB0byBwcm9ncmFtIHBpbiBjb25maWd1cmF0aW9uIGxpc3RlZCBhcyB0aGUgYmVsb3c6DQorICog Z3BpbzoweDEwMDA1MDAwLCAgICAgaW9jZmdfcm06MHgxMUMyMDAwMCwgaW9jZmdfYnI6MHgxMUQx MDAwMCwNCisgKiBpb2NmZ19sbToweDExRTIwMDAwLCBpb2NmZ19sYjoweDExRTcwMDAwLCBpb2Nm Z19ydDoweDExRUEwMDAwLA0KKyAqIGlvY2ZnX2x0OjB4MTFGMjAwMDAsIGlvY2ZnX3RsOjB4MTFG MzAwMDANCisgKiBfaV9iYXNlZCBjb3VsZCBiZSB1c2VkIHRvIGluZGljYXRlIHdoYXQgYmFzZSB0 aGUgcGluIHNob3VsZCBiZSBtYXBwZWQgaW50by4NCisgKi8NCisNCisjZGVmaW5lIFBJTl9GSUVM RF9CQVNFKHNfcGluLCBlX3BpbiwgaV9iYXNlLCBzX2FkZHIsIHhfYWRkcnMsIHNfYml0LCB4X2Jp dHMpIFwNCisJUElOX0ZJRUxEX0NBTEMoc19waW4sIGVfcGluLCBpX2Jhc2UsIHNfYWRkciwgeF9h ZGRycywgc19iaXQsIHhfYml0cywgXA0KKwkJICAgICAgIDMyLCAwKQ0KKw0KKyNkZWZpbmUgUElO U19GSUVMRF9CQVNFKHNfcGluLCBlX3BpbiwgaV9iYXNlLCBzX2FkZHIsIHhfYWRkcnMsIHNfYml0 LCB4X2JpdHMpIFwNCisJUElOX0ZJRUxEX0NBTEMoc19waW4sIGVfcGluLCBpX2Jhc2UsIHNfYWRk ciwgeF9hZGRycywgc19iaXQsIHhfYml0cywgIFwNCisJCSAgICAgICAzMiwgMSkNCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IG10a19waW5fZmllbGRfY2FsYyBtdDY3NzlfcGluX21vZGVfcmFuZ2Vb XSA9IHsNCisJUElOX0ZJRUxEX0JBU0UoMCwgNywgMCwgMHgwMzAwLCAweDEwLCAwLCA0KSwNCisJ UElOX0ZJRUxEX0JBU0UoOCwgMTUsIDAsIDB4MDMxMCwgMHgxMCwgMCwgNCksDQorCVBJTl9GSUVM RF9CQVNFKDE2LCAyMywgMCwgMHgwMzIwLCAweDEwLCAwLCA0KSwNCisJUElOX0ZJRUxEX0JBU0Uo MjQsIDMxLCAwLCAweDAzMzAsIDB4MTAsIDAsIDQpLA0KKwlQSU5fRklFTERfQkFTRSgzMiwgMzks IDAsIDB4MDM0MCwgMHgxMCwgMCwgNCksDQorCVBJTl9GSUVMRF9CQVNFKDQwLCA0NywgMCwgMHgw MzUwLCAweDEwLCAwLCA0KSwNCisJUElOX0ZJRUxEX0JBU0UoNDgsIDU1LCAwLCAweDAzNjAsIDB4 MTAsIDAsIDQpLA0KKwlQSU5fRklFTERfQkFTRSg1NiwgNjMsIDAsIDB4MDM3MCwgMHgxMCwgMCwg NCksDQorCVBJTl9GSUVMRF9CQVNFKDY0LCA3MSwgMCwgMHgwMzgwLCAweDEwLCAwLCA0KSwNCisJ UElOX0ZJRUxEX0JBU0UoNzIsIDc5LCAwLCAweDAzOTAsIDB4MTAsIDAsIDQpLA0KKwlQSU5fRklF TERfQkFTRSg4MCwgODcsIDAsIDB4MDNBMCwgMHgxMCwgMCwgNCksDQorCVBJTl9GSUVMRF9CQVNF KDg4LCA5NSwgMCwgMHgwM0IwLCAweDEwLCAwLCA0KSwNCisJUElOX0ZJRUxEX0JBU0UoOTYsIDEw MywgMCwgMHgwM0MwLCAweDEwLCAwLCA0KSwNCisJUElOX0ZJRUxEX0JBU0UoMTA0LCAxMTEsIDAs IDB4MDNEMCwgMHgxMCwgMCwgNCksDQorCVBJTl9GSUVMRF9CQVNFKDExMiwgMTE5LCAwLCAweDAz RTAsIDB4MTAsIDAsIDQpLA0KKwlQSU5fRklFTERfQkFTRSgxMjAsIDEyNywgMCwgMHgwM0YwLCAw eDEwLCAwLCA0KSwNCisJUElOX0ZJRUxEX0JBU0UoMTI4LCAxMzUsIDAsIDB4MDQwMCwgMHgxMCwg MCwgNCksDQorCVBJTl9GSUVMRF9CQVNFKDEzNiwgMTQzLCAwLCAweDA0MTAsIDB4MTAsIDAsIDQp LA0KKwlQSU5fRklFTERfQkFTRSgxNDQsIDE1MSwgMCwgMHgwNDIwLCAweDEwLCAwLCA0KSwNCisJ UElOX0ZJRUxEX0JBU0UoMTUyLCAxNTksIDAsIDB4MDQzMCwgMHgxMCwgMCwgNCksDQorCVBJTl9G SUVMRF9CQVNFKDE2MCwgMTY3LCAwLCAweDA0NDAsIDB4MTAsIDAsIDQpLA0KKwlQSU5fRklFTERf QkFTRSgxNjgsIDE3NSwgMCwgMHgwNDUwLCAweDEwLCAwLCA0KSwNCisJUElOX0ZJRUxEX0JBU0Uo MTc2LCAxODMsIDAsIDB4MDQ2MCwgMHgxMCwgMCwgNCksDQorCVBJTl9GSUVMRF9CQVNFKDE4NCwg MTkxLCAwLCAweDA0NzAsIDB4MTAsIDAsIDQpLA0KKwlQSU5fRklFTERfQkFTRSgxOTIsIDE5OSwg MCwgMHgwNDgwLCAweDEwLCAwLCA0KSwNCisJUElOX0ZJRUxEX0JBU0UoMjAwLCAyMDIsIDAsIDB4 MDQ5MCwgMHgxMCwgMCwgNCksDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19waW5f ZmllbGRfY2FsYyBtdDY3NzlfcGluX2Rpcl9yYW5nZVtdID0gew0KKwlQSU5fRklFTERfQkFTRSgw LCAzMSwgMCwgMHgwMDAwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzIsIDYzLCAw LCAweDAwMTAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg2NCwgOTUsIDAsIDB4MDAy MCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDk2LCAxMjcsIDAsIDB4MDAzMCwgMHgx MCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEyOCwgMTU5LCAwLCAweDAwNDAsIDB4MTAsIDAs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNjAsIDE5MSwgMCwgMHgwMDUwLCAweDEwLCAwLCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTkyLCAyMDIsIDAsIDB4MDA2MCwgMHgxMCwgMCwgMSksDQorfTsN CisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19waW5fZmllbGRfY2FsYyBtdDY3NzlfcGluX2Rp X3JhbmdlW10gPSB7DQorCVBJTl9GSUVMRF9CQVNFKDAsIDMxLCAwLCAweDAyMDAsIDB4MTAsIDAs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgzMiwgNjMsIDAsIDB4MDIxMCwgMHgxMCwgMCwgMSksDQor CVBJTl9GSUVMRF9CQVNFKDY0LCA5NSwgMCwgMHgwMjIwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoOTYsIDEyNywgMCwgMHgwMjMwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoMTI4LCAxNTksIDAsIDB4MDI0MCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE2 MCwgMTkxLCAwLCAweDAyNTAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxOTIsIDIw MiwgMCwgMHgwMjYwLCAweDEwLCAwLCAxKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg bXRrX3Bpbl9maWVsZF9jYWxjIG10Njc3OV9waW5fZG9fcmFuZ2VbXSA9IHsNCisJUElOX0ZJRUxE X0JBU0UoMCwgMzEsIDAsIDB4MDEwMCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDMy LCA2MywgMCwgMHgwMTEwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNjQsIDk1LCAw LCAweDAxMjAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg5NiwgMTI3LCAwLCAweDAx MzAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMjgsIDE1OSwgMCwgMHgwMTQwLCAw eDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTYwLCAxOTEsIDAsIDB4MDE1MCwgMHgxMCwg MCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE5MiwgMjAyLCAwLCAweDAxNjAsIDB4MTAsIDAsIDEp LA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfcGluX2ZpZWxkX2NhbGMgbXQ2Nzc5 X3Bpbl9pZXNfcmFuZ2VbXSA9IHsNCisJUElOX0ZJRUxEX0JBU0UoMCwgOSwgNiwgMHgwMDMwLCAw eDEwLCAzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTAsIDE2LCAzLCAweDAwNTAsIDB4MTAsIDAs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNywgMTgsIDYsIDB4MDAzMCwgMHgxMCwgMjgsIDEpLA0K KwlQSU5fRklFTERfQkFTRSgxOSwgMTksIDYsIDB4MDAzMCwgMHgxMCwgMjcsIDEpLA0KKwlQSU5f RklFTERfQkFTRSgyMCwgMjAsIDYsIDB4MDAzMCwgMHgxMCwgMjYsIDEpLA0KKwlQSU5fRklFTERf QkFTRSgyMSwgMjQsIDYsIDB4MDAzMCwgMHgxMCwgMTksIDEpLA0KKwlQSU5fRklFTERfQkFTRSgy NSwgMjUsIDYsIDB4MDAzMCwgMHgxMCwgMzAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgyNiwgMjYs IDYsIDB4MDAzMCwgMHgxMCwgMjMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgyNywgMjcsIDYsIDB4 MDAzMCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDI4LCAyOSwgNiwgMHgwMDMwLCAw eDEwLCAyNCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDMwLCAzMCwgNiwgMHgwMDMwLCAweDEwLCAx NiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDMxLCAzMSwgNiwgMHgwMDMwLCAweDEwLCAxMywgMSks DQorCVBJTl9GSUVMRF9CQVNFKDMyLCAzMiwgNiwgMHgwMDMwLCAweDEwLCAxNSwgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDMzLCAzMywgNiwgMHgwMDMwLCAweDEwLCAxNywgMSksDQorCVBJTl9GSUVM RF9CQVNFKDM0LCAzNCwgNiwgMHgwMDMwLCAweDEwLCAxNCwgMSksDQorCVBJTl9GSUVMRF9CQVNF KDM1LCAzNSwgNiwgMHgwMDQwLCAweDEwLCA0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzYsIDM2 LCA2LCAweDAwMzAsIDB4MTAsIDMxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzcsIDM3LCA2LCAw eDAwNDAsIDB4MTAsIDUsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgzOCwgNDEsIDYsIDB4MDA0MCwg MHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDQyLCA0MywgNiwgMHgwMDMwLCAweDEwLCAx LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNDQsIDQ0LCA2LCAweDAwMzAsIDB4MTAsIDE4LCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoNDUsIDQ1LCAzLCAweDAwNTAsIDB4MTAsIDE0LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoNDYsIDQ2LCAzLCAweDAwNTAsIDB4MTAsIDIyLCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoNDcsIDQ3LCAzLCAweDAwNTAsIDB4MTAsIDI1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo NDgsIDQ4LCAzLCAweDAwNTAsIDB4MTAsIDI0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNDksIDQ5 LCAzLCAweDAwNTAsIDB4MTAsIDI2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTAsIDUwLCAzLCAw eDAwNTAsIDB4MTAsIDIzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTEsIDUxLCAzLCAweDAwNTAs IDB4MTAsIDExLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTIsIDUyLCAzLCAweDAwNTAsIDB4MTAs IDE5LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTMsIDU0LCAzLCAweDAwNTAsIDB4MTAsIDI3LCAx KSwNCisJUElOX0ZJRUxEX0JBU0UoNTUsIDU1LCAzLCAweDAwNTAsIDB4MTAsIDEzLCAxKSwNCisJ UElOX0ZJRUxEX0JBU0UoNTYsIDU2LCAzLCAweDAwNTAsIDB4MTAsIDIxLCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoNTcsIDU3LCAzLCAweDAwNTAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoNTgsIDU4LCAzLCAweDAwNTAsIDB4MTAsIDksIDEpLA0KKwlQSU5fRklFTERfQkFTRSg1OSwg NjAsIDMsIDB4MDA1MCwgMHgxMCwgNywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDYxLCA2MSwgMywg MHgwMDUwLCAweDEwLCAxMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDYyLCA2MiwgMywgMHgwMDUw LCAweDEwLCAyMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDYzLCA2MywgMywgMHgwMDUwLCAweDEw LCAxNywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDY0LCA2NCwgMywgMHgwMDUwLCAweDEwLCAxNiwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDY1LCA2NSwgMywgMHgwMDUwLCAweDEwLCAxOCwgMSksDQor CVBJTl9GSUVMRF9CQVNFKDY2LCA2NiwgMywgMHgwMDUwLCAweDEwLCAxNSwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDY3LCA2NywgMiwgMHgwMDYwLCAweDEwLCA3LCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoNjgsIDY4LCAyLCAweDAwNjAsIDB4MTAsIDYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg2OSwg NjksIDIsIDB4MDA2MCwgMHgxMCwgOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDcwLCA3MSwgMiwg MHgwMDYwLCAweDEwLCA0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNzIsIDcyLCA0LCAweDAwMjAs IDB4MTAsIDMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3MywgNzMsIDQsIDB4MDAyMCwgMHgxMCwg MiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDc0LCA3NCwgNCwgMHgwMDIwLCAweDEwLCAxLCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoNzUsIDc1LCA0LCAweDAwMjAsIDB4MTAsIDQsIDEpLA0KKwlQSU5f RklFTERfQkFTRSg3NiwgNzYsIDQsIDB4MDAyMCwgMHgxMCwgMTIsIDEpLA0KKwlQSU5fRklFTERf QkFTRSg3NywgNzcsIDQsIDB4MDAyMCwgMHgxMCwgMTEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3 OCwgNzgsIDIsIDB4MDA1MCwgMHgxMCwgMTgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3OSwgNzks IDIsIDB4MDA1MCwgMHgxMCwgMTcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg4MCwgODEsIDIsIDB4 MDA1MCwgMHgxMCwgMTksIDEpLA0KKwlQSU5fRklFTERfQkFTRSg4MiwgODgsIDIsIDB4MDA1MCwg MHgxMCwgMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDg5LCA4OSwgMiwgMHgwMDUwLCAweDEwLCAx NiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDkwLCA5MCwgMiwgMHgwMDUwLCAweDEwLCAxNSwgMSks DQorCVBJTl9GSUVMRF9CQVNFKDkxLCA5MSwgMiwgMHgwMDUwLCAweDEwLCAxNCwgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDkyLCA5MiwgMiwgMHgwMDUwLCAweDEwLCA4LCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoOTMsIDkzLCA0LCAweDAwMjAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg5 NCwgOTQsIDIsIDB4MDA1MCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDk1LCA5NSwg NCwgMHgwMDIwLCAweDEwLCA3LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoOTYsIDk2LCA0LCAweDAw MjAsIDB4MTAsIDUsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg5NywgOTcsIDQsIDB4MDAyMCwgMHgx MCwgOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDk4LCA5OCwgNCwgMHgwMDIwLCAweDEwLCA2LCAx KSwNCisJUElOX0ZJRUxEX0JBU0UoOTksIDk5LCAyLCAweDAwNjAsIDB4MTAsIDksIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgxMDAsIDEwMCwgMiwgMHgwMDYwLCAweDEwLCAxMiwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDEwMSwgMTAxLCAyLCAweDAwNjAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoMTAyLCAxMDIsIDIsIDB4MDA2MCwgMHgxMCwgMTMsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxMDMsIDEwMywgMiwgMHgwMDYwLCAweDEwLCAxMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEw NCwgMTA0LCAyLCAweDAwNjAsIDB4MTAsIDE0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTA1LCAx MDUsIDIsIDB4MDA1MCwgMHgxMCwgMTAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMDYsIDEwNiwg MiwgMHgwMDUwLCAweDEwLCA5LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTA3LCAxMDgsIDIsIDB4 MDA1MCwgMHgxMCwgMTIsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMDksIDEwOSwgMiwgMHgwMDUw LCAweDEwLCAxMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDExMCwgMTEwLCAyLCAweDAwNjAsIDB4 MTAsIDE2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTExLCAxMTEsIDIsIDB4MDA2MCwgMHgxMCwg MTgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMTIsIDExMiwgMiwgMHgwMDYwLCAweDEwLCAxNSwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDExMywgMTEzLCAyLCAweDAwNjAsIDB4MTAsIDE3LCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTE0LCAxMTUsIDIsIDB4MDA1MCwgMHgxMCwgMjYsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgxMTYsIDExNywgMiwgMHgwMDUwLCAweDEwLCAyMSwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDExOCwgMTE4LCAyLCAweDAwNTAsIDB4MTAsIDMxLCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoMTE5LCAxMTksIDIsIDB4MDA2MCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNF KDEyMCwgMTIxLCAyLCAweDAwNTAsIDB4MTAsIDIzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTIy LCAxMjMsIDIsIDB4MDA1MCwgMHgxMCwgMjgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMjQsIDEy NSwgMiwgMHgwMDYwLCAweDEwLCAxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTI2LCAxMjcsIDEs IDB4MDAzMCwgMHgxMCwgOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEyOCwgMTI5LCAxLCAweDAw MzAsIDB4MTAsIDE3LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTMwLCAxMzAsIDEsIDB4MDAzMCwg MHgxMCwgMTYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMzEsIDEzMSwgMSwgMHgwMDMwLCAweDEw LCAxOSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEzMiwgMTMyLCAxLCAweDAwMzAsIDB4MTAsIDIx LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTMzLCAxMzMsIDEsIDB4MDAzMCwgMHgxMCwgMjAsIDEp LA0KKwlQSU5fRklFTERfQkFTRSgxMzQsIDEzNSwgMSwgMHgwMDMwLCAweDEwLCAyLCAxKSwNCisJ UElOX0ZJRUxEX0JBU0UoMTM2LCAxMzYsIDEsIDB4MDAzMCwgMHgxMCwgNywgMSksDQorCVBJTl9G SUVMRF9CQVNFKDEzNywgMTM3LCAxLCAweDAwMzAsIDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERf QkFTRSgxMzgsIDEzOCwgMSwgMHgwMDMwLCAweDEwLCA2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTM5LCAxMzksIDEsIDB4MDAzMCwgMHgxMCwgNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE0MCwg MTQxLCAxLCAweDAwMzAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNDIsIDE0Miwg MSwgMHgwMDMwLCAweDEwLCAxNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE0MywgMTQzLCA1LCAw eDAwMjAsIDB4MTAsIDE1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTQ0LCAxNDQsIDUsIDB4MDAy MCwgMHgxMCwgMTcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNDUsIDE0NSwgNSwgMHgwMDIwLCAw eDEwLCAxNiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE0NiwgMTQ2LCA1LCAweDAwMjAsIDB4MTAs IDEyLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTQ3LCAxNTUsIDUsIDB4MDAyMCwgMHgxMCwgMCwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDE1NiwgMTU3LCA1LCAweDAwMjAsIDB4MTAsIDIyLCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTU4LCAxNTgsIDUsIDB4MDAyMCwgMHgxMCwgMjEsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgxNTksIDE1OSwgNSwgMHgwMDIwLCAweDEwLCAyNCwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDE2MCwgMTYxLCA1LCAweDAwMjAsIDB4MTAsIDE5LCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoMTYyLCAxNjYsIDUsIDB4MDAyMCwgMHgxMCwgMjUsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxNjcsIDE2OCwgNywgMHgwMDEwLCAweDEwLCAxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTY5 LCAxNjksIDcsIDB4MDAxMCwgMHgxMCwgNCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3MCwgMTcw LCA3LCAweDAwMTAsIDB4MTAsIDYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNzEsIDE3MSwgNywg MHgwMDEwLCAweDEwLCA4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTcyLCAxNzIsIDcsIDB4MDAx MCwgMHgxMCwgMywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3MywgMTczLCA3LCAweDAwMTAsIDB4 MTAsIDcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNzQsIDE3NSwgNywgMHgwMDEwLCAweDEwLCA5 LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTc2LCAxNzYsIDcsIDB4MDAxMCwgMHgxMCwgMCwgMSks DQorCVBJTl9GSUVMRF9CQVNFKDE3NywgMTc3LCA3LCAweDAwMTAsIDB4MTAsIDUsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgxNzgsIDE3OCwgNywgMHgwMDEwLCAweDEwLCAxMSwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDE3OSwgMTc5LCA0LCAweDAwMjAsIDB4MTAsIDEzLCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoMTgwLCAxODAsIDQsIDB4MDAyMCwgMHgxMCwgMTAsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxODEsIDE4MywgMSwgMHgwMDMwLCAweDEwLCAyMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE4 NCwgMTg0LCAxLCAweDAwMzAsIDB4MTAsIDEyLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTg1LCAx ODUsIDEsIDB4MDAzMCwgMHgxMCwgMTEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxODYsIDE4Niwg MSwgMHgwMDMwLCAweDEwLCAxMywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE4NywgMTg3LCAxLCAw eDAwMzAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTg4LCAxODgsIDEsIDB4MDAz MCwgMHgxMCwgMTQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxODksIDE4OSwgNSwgMHgwMDIwLCAw eDEwLCA5LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTkwLCAxOTAsIDUsIDB4MDAyMCwgMHgxMCwg MTgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxOTEsIDE5MiwgNSwgMHgwMDIwLCAweDEwLCAxMywg MSksDQorCVBJTl9GSUVMRF9CQVNFKDE5MywgMTk0LCA1LCAweDAwMjAsIDB4MTAsIDEwLCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTk1LCAxOTUsIDIsIDB4MDA1MCwgMHgxMCwgMzAsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgxOTYsIDE5NiwgMiwgMHgwMDUwLCAweDEwLCAyNSwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDE5NywgMTk3LCAyLCAweDAwNjAsIDB4MTAsIDMsIDEpLA0KKwlQSU5fRklFTERf QkFTRSgxOTgsIDE5OSwgNCwgMHgwMDIwLCAweDEwLCAxNCwgMSksDQorCVBJTl9GSUVMRF9CQVNF KDIwMCwgMjAxLCA2LCAweDAwNDAsIDB4MTAsIDYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgyMDIs IDIwMiwgNCwgMHgwMDIwLCAweDEwLCA5LCAxKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX3Bpbl9maWVsZF9jYWxjIG10Njc3OV9waW5fc210X3JhbmdlW10gPSB7DQorCVBJTlNf RklFTERfQkFTRSgwLCA5LCA2LCAweDAwYzAsIDB4MTAsIDMsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxMCwgMTEsIDMsIDB4MDBlMCwgMHgxMCwgMCwgMSksDQorCVBJTlNfRklFTERfQkFTRSgxMiwg MTUsIDMsIDB4MDBlMCwgMHgxMCwgMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE2LCAxNiwgMywg MHgwMGUwLCAweDEwLCAzLCAxKSwNCisJUElOU19GSUVMRF9CQVNFKDE3LCAyMCwgNiwgMHgwMGMw LCAweDEwLCAxMSwgMSksDQorCVBJTlNfRklFTERfQkFTRSgyMSwgMjQsIDYsIDB4MDBjMCwgMHgx MCwgNywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDI1LCAyNSwgNiwgMHgwMGMwLCAweDEwLCAxMiwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDI2LCAyNiwgNiwgMHgwMGMwLCAweDEwLCA4LCAxKSwNCisJ UElOX0ZJRUxEX0JBU0UoMjcsIDI3LCA2LCAweDAwYzAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklF TERfQkFTRSgyOCwgMjksIDYsIDB4MDBjMCwgMHgxMCwgOSwgMSksDQorCVBJTlNfRklFTERfQkFT RSgzMCwgMzIsIDYsIDB4MDBjMCwgMHgxMCwgNCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDMzLCAz MywgNiwgMHgwMGMwLCAweDEwLCA1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzQsIDM0LCA2LCAw eDAwYzAsIDB4MTAsIDQsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMzUsIDQxLCA2LCAweDAwYzAs IDB4MTAsIDEzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNDIsIDQzLCA2LCAweDAwYzAsIDB4MTAs IDEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg0NCwgNDQsIDYsIDB4MDBjMCwgMHgxMCwgNiwgMSks DQorCVBJTl9GSUVMRF9CQVNFKDQ1LCA0NSwgMywgMHgwMGUwLCAweDEwLCA4LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoNDYsIDQ2LCAzLCAweDAwZTAsIDB4MTAsIDEzLCAxKSwNCisJUElOU19GSUVM RF9CQVNFKDQ3LCA1MCwgMywgMHgwMGUwLCAweDEwLCAxNCwgMSksDQorCVBJTl9GSUVMRF9CQVNF KDUxLCA1MSwgMywgMHgwMGUwLCAweDEwLCA1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTIsIDUy LCAzLCAweDAwZTAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTMsIDU0LCAzLCAw eDAwZTAsIDB4MTAsIDE1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTUsIDU1LCAzLCAweDAwZTAs IDB4MTAsIDcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg1NiwgNTYsIDMsIDB4MDBlMCwgMHgxMCwg MTIsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoNTcsIDYwLCAzLCAweDAwZTAsIDB4MTAsIDQsIDEp LA0KKwlQSU5fRklFTERfQkFTRSg2MSwgNjEsIDMsIDB4MDBlMCwgMHgxMCwgNiwgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDYyLCA2MiwgMywgMHgwMGUwLCAweDEwLCAxMSwgMSksDQorCVBJTlNfRklF TERfQkFTRSg2MywgNjYsIDMsIDB4MDBlMCwgMHgxMCwgOSwgMSksDQorCVBJTlNfRklFTERfQkFT RSg2NywgNjksIDIsIDB4MDBlMCwgMHgxMCwgMTEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3MCwg NzEsIDIsIDB4MDBlMCwgMHgxMCwgMTAsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoNzIsIDc1LCA0 LCAweDAwNzAsIDB4MTAsIDEsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoNzYsIDc3LCA0LCAweDAw NzAsIDB4MTAsIDQsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoNzgsIDg2LCAyLCAweDAwZTAsIDB4 MTAsIDEsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoODcsIDkyLCAyLCAweDAwZTAsIDB4MTAsIDIs IDEpLA0KKwlQSU5fRklFTERfQkFTRSg5MywgOTMsIDQsIDB4MDA3MCwgMHgxMCwgMCwgMSksDQor CVBJTl9GSUVMRF9CQVNFKDk0LCA5NCwgMiwgMHgwMGUwLCAweDEwLCAyLCAxKSwNCisJUElOU19G SUVMRF9CQVNFKDk1LCA5OCwgNCwgMHgwMDcwLCAweDEwLCAyLCAxKSwNCisJUElOU19GSUVMRF9C QVNFKDk5LCAxMDQsIDIsIDB4MDBlMCwgMHgxMCwgMTIsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0Uo MTA1LCAxMDksIDIsIDB4MDBlMCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDExMCwg MTEwLCAyLCAweDAwZTAsIDB4MTAsIDE0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTExLCAxMTEs IDIsIDB4MDBlMCwgMHgxMCwgMTYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMTIsIDExMiwgMiwg MHgwMGUwLCAweDEwLCAxMywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDExMywgMTEzLCAyLCAweDAw ZTAsIDB4MTAsIDE1LCAxKSwNCisJUElOU19GSUVMRF9CQVNFKDExNCwgMTE1LCAyLCAweDAwZTAs IDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMTYsIDExNywgMiwgMHgwMGUwLCAweDEw LCA1LCAxKSwNCisJUElOU19GSUVMRF9CQVNFKDExOCwgMTE5LCAyLCAweDAwZTAsIDB4MTAsIDQs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMjAsIDEyMSwgMiwgMHgwMGUwLCAweDEwLCA3LCAxKSwN CisJUElOU19GSUVMRF9CQVNFKDEyMiwgMTI1LCAyLCAweDAwZTAsIDB4MTAsIDMsIDEpLA0KKwlQ SU5TX0ZJRUxEX0JBU0UoMTI2LCAxMjcsIDEsIDB4MDBjMCwgMHgxMCwgNSwgMSksDQorCVBJTlNf RklFTERfQkFTRSgxMjgsIDEzMCwgMSwgMHgwMGMwLCAweDEwLCA5LCAxKSwNCisJUElOU19GSUVM RF9CQVNFKDEzMSwgMTMzLCAxLCAweDAwYzAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoMTM0LCAxMzUsIDEsIDB4MDBjMCwgMHgxMCwgMiwgMSksDQorCVBJTlNfRklFTERfQkFTRSgx MzYsIDEzOSwgMSwgMHgwMGMwLCAweDEwLCA0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTQwLCAx NDEsIDEsIDB4MDBjMCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE0MiwgMTQyLCAx LCAweDAwYzAsIDB4MTAsIDgsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTQzLCAxNDYsIDUsIDB4 MDA2MCwgMHgxMCwgMSwgMSksDQorCVBJTlNfRklFTERfQkFTRSgxNDcsIDE1NSwgNSwgMHgwMDYw LCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTU2LCAxNTcsIDUsIDB4MDA2MCwgMHgx MCwgNiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE1OCwgMTU4LCA1LCAweDAwNjAsIDB4MTAsIDUs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNTksIDE1OSwgNSwgMHgwMDYwLCAweDEwLCA4LCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTYwLCAxNjEsIDUsIDB4MDA2MCwgMHgxMCwgMywgMSksDQorCVBJ TlNfRklFTERfQkFTRSgxNjIsIDE2NiwgNSwgMHgwMDYwLCAweDEwLCAyLCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoMTY3LCAxNjcsIDcsIDB4MDA2MCwgMHgxMCwgMSwgMSksDQorCVBJTlNfRklFTERf QkFTRSgxNjgsIDE3NCwgNywgMHgwMDYwLCAweDEwLCAyLCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTc1LCAxNzUsIDcsIDB4MDA2MCwgMHgxMCwgMywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3Niwg MTc2LCA3LCAweDAwNjAsIDB4MTAsIDAsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTc3LCAxNzgs IDcsIDB4MDA2MCwgMHgxMCwgMiwgMSksDQorCVBJTlNfRklFTERfQkFTRSgxNzksIDE4MCwgNCwg MHgwMDcwLCAweDEwLCA0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTgxLCAxODMsIDEsIDB4MDBj MCwgMHgxMCwgMTEsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTg0LCAxODcsIDEsIDB4MDBjMCwg MHgxMCwgNiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE4OCwgMTg4LCAxLCAweDAwYzAsIDB4MTAs IDcsIDEpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTg5LCAxOTQsIDUsIDB4MDA2MCwgMHgxMCwgMSwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDE5NSwgMTk1LCAyLCAweDAwZTAsIDB4MTAsIDMsIDEpLA0K KwlQSU5fRklFTERfQkFTRSgxOTYsIDE5NiwgMiwgMHgwMGUwLCAweDEwLCA5LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoMTk3LCAxOTcsIDIsIDB4MDBlMCwgMHgxMCwgMywgMSksDQorCVBJTl9GSUVM RF9CQVNFKDE5OCwgMTk5LCA0LCAweDAwNzAsIDB4MTAsIDUsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgyMDAsIDIwMSwgNiwgMHgwMGMwLCAweDEwLCAxNCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDIw MiwgMjAyLCA0LCAweDAwNzAsIDB4MTAsIDMsIDEpLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0 cnVjdCBtdGtfcGluX2ZpZWxkX2NhbGMgbXQ2Nzc5X3Bpbl9wdV9yYW5nZVtdID0gew0KKwlQSU5f RklFTERfQkFTRSgwLCA5LCA2LCAweDAwNzAsIDB4MTAsIDMsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxNiwgMTYsIDMsIDB4MDA4MCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3LCAx OCwgNiwgMHgwMDcwLCAweDEwLCAyOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE5LCAxOSwgNiwg MHgwMDcwLCAweDEwLCAyNywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDIwLCAyMCwgNiwgMHgwMDcw LCAweDEwLCAyNiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDIxLCAyNCwgNiwgMHgwMDcwLCAweDEw LCAxOSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDI1LCAyNSwgNiwgMHgwMDcwLCAweDEwLCAzMCwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDI2LCAyNiwgNiwgMHgwMDcwLCAweDEwLCAyMywgMSksDQor CVBJTl9GSUVMRF9CQVNFKDI3LCAyNywgNiwgMHgwMDcwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoMjgsIDI5LCA2LCAweDAwNzAsIDB4MTAsIDI0LCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoMzAsIDMwLCA2LCAweDAwNzAsIDB4MTAsIDE2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzEs IDMxLCA2LCAweDAwNzAsIDB4MTAsIDEzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzIsIDMyLCA2 LCAweDAwNzAsIDB4MTAsIDE1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzMsIDMzLCA2LCAweDAw NzAsIDB4MTAsIDE3LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzQsIDM0LCA2LCAweDAwNzAsIDB4 MTAsIDE0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzUsIDM1LCA2LCAweDAwODAsIDB4MTAsIDUs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgzNiwgMzYsIDYsIDB4MDA4MCwgMHgxMCwgMCwgMSksDQor CVBJTl9GSUVMRF9CQVNFKDM3LCAzNywgNiwgMHgwMDgwLCAweDEwLCA2LCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoMzgsIDQxLCA2LCAweDAwODAsIDB4MTAsIDEsIDEpLA0KKwlQSU5fRklFTERfQkFT RSg0MiwgNDMsIDYsIDB4MDA3MCwgMHgxMCwgMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDQ0LCA0 NCwgNiwgMHgwMDcwLCAweDEwLCAxOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDQ1LCA0NSwgMywg MHgwMDgwLCAweDEwLCA0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNDYsIDQ2LCAzLCAweDAwODAs IDB4MTAsIDEyLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNDcsIDQ3LCAzLCAweDAwODAsIDB4MTAs IDE1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNDgsIDQ4LCAzLCAweDAwODAsIDB4MTAsIDE0LCAx KSwNCisJUElOX0ZJRUxEX0JBU0UoNDksIDQ5LCAzLCAweDAwODAsIDB4MTAsIDE2LCAxKSwNCisJ UElOX0ZJRUxEX0JBU0UoNTAsIDUwLCAzLCAweDAwODAsIDB4MTAsIDEzLCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoNTEsIDUxLCAzLCAweDAwODAsIDB4MTAsIDEsIDEpLA0KKwlQSU5fRklFTERfQkFT RSg1MiwgNTIsIDMsIDB4MDA4MCwgMHgxMCwgOSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDUzLCA1 NCwgMywgMHgwMDgwLCAweDEwLCAxOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDU1LCA1NSwgMywg MHgwMDgwLCAweDEwLCAzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTYsIDU2LCAzLCAweDAwODAs IDB4MTAsIDExLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNjEsIDYxLCAzLCAweDAwODAsIDB4MTAs IDIsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg2MiwgNjIsIDMsIDB4MDA4MCwgMHgxMCwgMTAsIDEp LA0KKwlQSU5fRklFTERfQkFTRSg2MywgNjMsIDMsIDB4MDA4MCwgMHgxMCwgNywgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDY0LCA2NCwgMywgMHgwMDgwLCAweDEwLCA2LCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoNjUsIDY1LCAzLCAweDAwODAsIDB4MTAsIDgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg2 NiwgNjYsIDMsIDB4MDA4MCwgMHgxMCwgNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDY3LCA2Nywg MiwgMHgwMGEwLCAweDEwLCA3LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNjgsIDY4LCAyLCAweDAw YTAsIDB4MTAsIDYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg2OSwgNjksIDIsIDB4MDBhMCwgMHgx MCwgOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDcwLCA3MSwgMiwgMHgwMGEwLCAweDEwLCA0LCAx KSwNCisJUElOX0ZJRUxEX0JBU0UoNzIsIDcyLCA0LCAweDAwNDAsIDB4MTAsIDMsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSg3MywgNzMsIDQsIDB4MDA0MCwgMHgxMCwgMiwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDc0LCA3NCwgNCwgMHgwMDQwLCAweDEwLCAxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo NzUsIDc1LCA0LCAweDAwNDAsIDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3NiwgNzYs IDQsIDB4MDA0MCwgMHgxMCwgMTIsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3NywgNzcsIDQsIDB4 MDA0MCwgMHgxMCwgMTEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3OCwgNzgsIDIsIDB4MDA5MCwg MHgxMCwgMTgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3OSwgNzksIDIsIDB4MDA5MCwgMHgxMCwg MTcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg4MCwgODEsIDIsIDB4MDA5MCwgMHgxMCwgMTksIDEp LA0KKwlQSU5fRklFTERfQkFTRSg4MiwgODgsIDIsIDB4MDA5MCwgMHgxMCwgMSwgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDg5LCA4OSwgMiwgMHgwMDkwLCAweDEwLCAxNiwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDkwLCA5MCwgMiwgMHgwMDkwLCAweDEwLCAxNSwgMSksDQorCVBJTl9GSUVMRF9CQVNF KDkxLCA5MSwgMiwgMHgwMDkwLCAweDEwLCAxNCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDkyLCA5 MiwgMiwgMHgwMDkwLCAweDEwLCA4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoOTMsIDkzLCA0LCAw eDAwNDAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg5NCwgOTQsIDIsIDB4MDA5MCwg MHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDk1LCA5NSwgNCwgMHgwMDQwLCAweDEwLCA3 LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoOTYsIDk2LCA0LCAweDAwNDAsIDB4MTAsIDUsIDEpLA0K KwlQSU5fRklFTERfQkFTRSg5NywgOTcsIDQsIDB4MDA0MCwgMHgxMCwgOCwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDk4LCA5OCwgNCwgMHgwMDQwLCAweDEwLCA2LCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoOTksIDk5LCAyLCAweDAwYTAsIDB4MTAsIDksIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMDAs IDEwMCwgMiwgMHgwMGEwLCAweDEwLCAxMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEwMSwgMTAx LCAyLCAweDAwYTAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTAyLCAxMDIsIDIs IDB4MDBhMCwgMHgxMCwgMTMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMDMsIDEwMywgMiwgMHgw MGEwLCAweDEwLCAxMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEwNCwgMTA0LCAyLCAweDAwYTAs IDB4MTAsIDE0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTA1LCAxMDUsIDIsIDB4MDA5MCwgMHgx MCwgMTAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMDYsIDEwNiwgMiwgMHgwMDkwLCAweDEwLCA5 LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTA3LCAxMDgsIDIsIDB4MDA5MCwgMHgxMCwgMTIsIDEp LA0KKwlQSU5fRklFTERfQkFTRSgxMDksIDEwOSwgMiwgMHgwMDkwLCAweDEwLCAxMSwgMSksDQor CVBJTl9GSUVMRF9CQVNFKDExMCwgMTEwLCAyLCAweDAwYTAsIDB4MTAsIDE2LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoMTExLCAxMTEsIDIsIDB4MDBhMCwgMHgxMCwgMTgsIDEpLA0KKwlQSU5fRklF TERfQkFTRSgxMTIsIDExMiwgMiwgMHgwMGEwLCAweDEwLCAxNSwgMSksDQorCVBJTl9GSUVMRF9C QVNFKDExMywgMTEzLCAyLCAweDAwYTAsIDB4MTAsIDE3LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTE0LCAxMTUsIDIsIDB4MDA5MCwgMHgxMCwgMjYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMTYs IDExNywgMiwgMHgwMDkwLCAweDEwLCAyMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDExOCwgMTE4 LCAyLCAweDAwOTAsIDB4MTAsIDMxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTE5LCAxMTksIDIs IDB4MDBhMCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEyMCwgMTIxLCAyLCAweDAw OTAsIDB4MTAsIDIzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTIyLCAxMjMsIDIsIDB4MDA5MCwg MHgxMCwgMjgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMjQsIDEyNSwgMiwgMHgwMGEwLCAweDEw LCAxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTI2LCAxMjcsIDEsIDB4MDA3MCwgMHgxMCwgMiwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDE0MCwgMTQxLCAxLCAweDAwNzAsIDB4MTAsIDAsIDEpLA0K KwlQSU5fRklFTERfQkFTRSgxNDIsIDE0MiwgMSwgMHgwMDcwLCAweDEwLCA5LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoMTQzLCAxNDMsIDUsIDB4MDA0MCwgMHgxMCwgMTUsIDEpLA0KKwlQSU5fRklF TERfQkFTRSgxNDQsIDE0NCwgNSwgMHgwMDQwLCAweDEwLCAxNywgMSksDQorCVBJTl9GSUVMRF9C QVNFKDE0NSwgMTQ1LCA1LCAweDAwNDAsIDB4MTAsIDE2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTQ2LCAxNDYsIDUsIDB4MDA0MCwgMHgxMCwgMTIsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNDcs IDE1NSwgNSwgMHgwMDQwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTU2LCAxNTcs IDUsIDB4MDA0MCwgMHgxMCwgMjIsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNTgsIDE1OCwgNSwg MHgwMDQwLCAweDEwLCAyMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE1OSwgMTU5LCA1LCAweDAw NDAsIDB4MTAsIDI0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTYwLCAxNjEsIDUsIDB4MDA0MCwg MHgxMCwgMTksIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNjIsIDE2NiwgNSwgMHgwMDQwLCAweDEw LCAyNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3OSwgMTc5LCA0LCAweDAwNDAsIDB4MTAsIDEz LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTgwLCAxODAsIDQsIDB4MDA0MCwgMHgxMCwgMTAsIDEp LA0KKwlQSU5fRklFTERfQkFTRSgxODEsIDE4MywgMSwgMHgwMDcwLCAweDEwLCAxMCwgMSksDQor CVBJTl9GSUVMRF9CQVNFKDE4NCwgMTg0LCAxLCAweDAwNzAsIDB4MTAsIDYsIDEpLA0KKwlQSU5f RklFTERfQkFTRSgxODUsIDE4NSwgMSwgMHgwMDcwLCAweDEwLCA1LCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoMTg2LCAxODYsIDEsIDB4MDA3MCwgMHgxMCwgNywgMSksDQorCVBJTl9GSUVMRF9CQVNF KDE4NywgMTg3LCAxLCAweDAwNzAsIDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxODgs IDE4OCwgMSwgMHgwMDcwLCAweDEwLCA4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTg5LCAxODks IDUsIDB4MDA0MCwgMHgxMCwgOSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE5MCwgMTkwLCA1LCAw eDAwNDAsIDB4MTAsIDE4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTkxLCAxOTIsIDUsIDB4MDA0 MCwgMHgxMCwgMTMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxOTMsIDE5NCwgNSwgMHgwMDQwLCAw eDEwLCAxMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE5NSwgMTk1LCAyLCAweDAwOTAsIDB4MTAs IDMwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTk2LCAxOTYsIDIsIDB4MDA5MCwgMHgxMCwgMjUs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxOTcsIDE5NywgMiwgMHgwMGEwLCAweDEwLCAzLCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTk4LCAxOTksIDQsIDB4MDA0MCwgMHgxMCwgMTQsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgyMDAsIDIwMSwgNiwgMHgwMDgwLCAweDEwLCA3LCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoMjAyLCAyMDIsIDQsIDB4MDA0MCwgMHgxMCwgOSwgMSksDQorfTsNCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IG10a19waW5fZmllbGRfY2FsYyBtdDY3NzlfcGluX3BkX3JhbmdlW10g PSB7DQorCVBJTl9GSUVMRF9CQVNFKDAsIDksIDYsIDB4MDA1MCwgMHgxMCwgMywgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDE2LCAxNiwgMywgMHgwMDYwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoMTcsIDE4LCA2LCAweDAwNTAsIDB4MTAsIDI4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTksIDE5LCA2LCAweDAwNTAsIDB4MTAsIDI3LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMjAsIDIw LCA2LCAweDAwNTAsIDB4MTAsIDI2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMjEsIDI0LCA2LCAw eDAwNTAsIDB4MTAsIDE5LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMjUsIDI1LCA2LCAweDAwNTAs IDB4MTAsIDMwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMjYsIDI2LCA2LCAweDAwNTAsIDB4MTAs IDIzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMjcsIDI3LCA2LCAweDAwNTAsIDB4MTAsIDAsIDEp LA0KKwlQSU5fRklFTERfQkFTRSgyOCwgMjksIDYsIDB4MDA1MCwgMHgxMCwgMjQsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgzMCwgMzAsIDYsIDB4MDA1MCwgMHgxMCwgMTYsIDEpLA0KKwlQSU5fRklF TERfQkFTRSgzMSwgMzEsIDYsIDB4MDA1MCwgMHgxMCwgMTMsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgzMiwgMzIsIDYsIDB4MDA1MCwgMHgxMCwgMTUsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgzMywg MzMsIDYsIDB4MDA1MCwgMHgxMCwgMTcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgzNCwgMzQsIDYs IDB4MDA1MCwgMHgxMCwgMTQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgzNSwgMzUsIDYsIDB4MDA2 MCwgMHgxMCwgNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDM2LCAzNiwgNiwgMHgwMDYwLCAweDEw LCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMzcsIDM3LCA2LCAweDAwNjAsIDB4MTAsIDYsIDEp LA0KKwlQSU5fRklFTERfQkFTRSgzOCwgNDEsIDYsIDB4MDA2MCwgMHgxMCwgMSwgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDQyLCA0MywgNiwgMHgwMDUwLCAweDEwLCAxLCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoNDQsIDQ0LCA2LCAweDAwNTAsIDB4MTAsIDE4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo NDUsIDQ1LCAzLCAweDAwNjAsIDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg0NiwgNDYs IDMsIDB4MDA2MCwgMHgxMCwgMTIsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg0NywgNDcsIDMsIDB4 MDA2MCwgMHgxMCwgMTUsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg0OCwgNDgsIDMsIDB4MDA2MCwg MHgxMCwgMTQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg0OSwgNDksIDMsIDB4MDA2MCwgMHgxMCwg MTYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg1MCwgNTAsIDMsIDB4MDA2MCwgMHgxMCwgMTMsIDEp LA0KKwlQSU5fRklFTERfQkFTRSg1MSwgNTEsIDMsIDB4MDA2MCwgMHgxMCwgMSwgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDUyLCA1MiwgMywgMHgwMDYwLCAweDEwLCA5LCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoNTMsIDU0LCAzLCAweDAwNjAsIDB4MTAsIDE4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo NTUsIDU1LCAzLCAweDAwNjAsIDB4MTAsIDMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg1NiwgNTYs IDMsIDB4MDA2MCwgMHgxMCwgMTEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg2MSwgNjEsIDMsIDB4 MDA2MCwgMHgxMCwgMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDYyLCA2MiwgMywgMHgwMDYwLCAw eDEwLCAxMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDYzLCA2MywgMywgMHgwMDYwLCAweDEwLCA3 LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNjQsIDY0LCAzLCAweDAwNjAsIDB4MTAsIDYsIDEpLA0K KwlQSU5fRklFTERfQkFTRSg2NSwgNjUsIDMsIDB4MDA2MCwgMHgxMCwgOCwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDY2LCA2NiwgMywgMHgwMDYwLCAweDEwLCA1LCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoNjcsIDY3LCAyLCAweDAwODAsIDB4MTAsIDcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg2OCwg NjgsIDIsIDB4MDA4MCwgMHgxMCwgNiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDY5LCA2OSwgMiwg MHgwMDgwLCAweDEwLCA4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNzAsIDcxLCAyLCAweDAwODAs IDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg3MiwgNzIsIDQsIDB4MDAzMCwgMHgxMCwg MywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDczLCA3MywgNCwgMHgwMDMwLCAweDEwLCAyLCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoNzQsIDc0LCA0LCAweDAwMzAsIDB4MTAsIDEsIDEpLA0KKwlQSU5f RklFTERfQkFTRSg3NSwgNzUsIDQsIDB4MDAzMCwgMHgxMCwgNCwgMSksDQorCVBJTl9GSUVMRF9C QVNFKDc2LCA3NiwgNCwgMHgwMDMwLCAweDEwLCAxMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDc3 LCA3NywgNCwgMHgwMDMwLCAweDEwLCAxMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDc4LCA3OCwg MiwgMHgwMDcwLCAweDEwLCAxOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDc5LCA3OSwgMiwgMHgw MDcwLCAweDEwLCAxNywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDgwLCA4MSwgMiwgMHgwMDcwLCAw eDEwLCAxOSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDgyLCA4OCwgMiwgMHgwMDcwLCAweDEwLCAx LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoODksIDg5LCAyLCAweDAwNzAsIDB4MTAsIDE2LCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoOTAsIDkwLCAyLCAweDAwNzAsIDB4MTAsIDE1LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoOTEsIDkxLCAyLCAweDAwNzAsIDB4MTAsIDE0LCAxKSwNCisJUElOX0ZJRUxE X0JBU0UoOTIsIDkyLCAyLCAweDAwNzAsIDB4MTAsIDgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg5 MywgOTMsIDQsIDB4MDAzMCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDk0LCA5NCwg MiwgMHgwMDcwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoOTUsIDk1LCA0LCAweDAw MzAsIDB4MTAsIDcsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg5NiwgOTYsIDQsIDB4MDAzMCwgMHgx MCwgNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDk3LCA5NywgNCwgMHgwMDMwLCAweDEwLCA4LCAx KSwNCisJUElOX0ZJRUxEX0JBU0UoOTgsIDk4LCA0LCAweDAwMzAsIDB4MTAsIDYsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSg5OSwgOTksIDIsIDB4MDA4MCwgMHgxMCwgOSwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDEwMCwgMTAwLCAyLCAweDAwODAsIDB4MTAsIDEyLCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoMTAxLCAxMDEsIDIsIDB4MDA4MCwgMHgxMCwgMTAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgx MDIsIDEwMiwgMiwgMHgwMDgwLCAweDEwLCAxMywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEwMywg MTAzLCAyLCAweDAwODAsIDB4MTAsIDExLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTA0LCAxMDQs IDIsIDB4MDA4MCwgMHgxMCwgMTQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMDUsIDEwNSwgMiwg MHgwMDcwLCAweDEwLCAxMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEwNiwgMTA2LCAyLCAweDAw NzAsIDB4MTAsIDksIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMDcsIDEwOCwgMiwgMHgwMDcwLCAw eDEwLCAxMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEwOSwgMTA5LCAyLCAweDAwNzAsIDB4MTAs IDExLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTEwLCAxMTAsIDIsIDB4MDA4MCwgMHgxMCwgMTYs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMTEsIDExMSwgMiwgMHgwMDgwLCAweDEwLCAxOCwgMSks DQorCVBJTl9GSUVMRF9CQVNFKDExMiwgMTEyLCAyLCAweDAwODAsIDB4MTAsIDE1LCAxKSwNCisJ UElOX0ZJRUxEX0JBU0UoMTEzLCAxMTMsIDIsIDB4MDA4MCwgMHgxMCwgMTcsIDEpLA0KKwlQSU5f RklFTERfQkFTRSgxMTQsIDExNSwgMiwgMHgwMDcwLCAweDEwLCAyNiwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDExNiwgMTE3LCAyLCAweDAwNzAsIDB4MTAsIDIxLCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoMTE4LCAxMTgsIDIsIDB4MDA3MCwgMHgxMCwgMzEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgx MTksIDExOSwgMiwgMHgwMDgwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTIwLCAx MjEsIDIsIDB4MDA3MCwgMHgxMCwgMjMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMjIsIDEyMywg MiwgMHgwMDcwLCAweDEwLCAyOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEyNCwgMTI1LCAyLCAw eDAwODAsIDB4MTAsIDEsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMjYsIDEyNywgMSwgMHgwMDUw LCAweDEwLCAyLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTQwLCAxNDEsIDEsIDB4MDA1MCwgMHgx MCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE0MiwgMTQyLCAxLCAweDAwNTAsIDB4MTAsIDks IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNDMsIDE0MywgNSwgMHgwMDMwLCAweDEwLCAxNSwgMSks DQorCVBJTl9GSUVMRF9CQVNFKDE0NCwgMTQ0LCA1LCAweDAwMzAsIDB4MTAsIDE3LCAxKSwNCisJ UElOX0ZJRUxEX0JBU0UoMTQ1LCAxNDUsIDUsIDB4MDAzMCwgMHgxMCwgMTYsIDEpLA0KKwlQSU5f RklFTERfQkFTRSgxNDYsIDE0NiwgNSwgMHgwMDMwLCAweDEwLCAxMiwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDE0NywgMTU1LCA1LCAweDAwMzAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxNTYsIDE1NywgNSwgMHgwMDMwLCAweDEwLCAyMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE1 OCwgMTU4LCA1LCAweDAwMzAsIDB4MTAsIDIxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTU5LCAx NTksIDUsIDB4MDAzMCwgMHgxMCwgMjQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNjAsIDE2MSwg NSwgMHgwMDMwLCAweDEwLCAxOSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE2MiwgMTY2LCA1LCAw eDAwMzAsIDB4MTAsIDI1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTc5LCAxNzksIDQsIDB4MDAz MCwgMHgxMCwgMTMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxODAsIDE4MCwgNCwgMHgwMDMwLCAw eDEwLCAxMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE4MSwgMTgzLCAxLCAweDAwNTAsIDB4MTAs IDEwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTg0LCAxODQsIDEsIDB4MDA1MCwgMHgxMCwgNiwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDE4NSwgMTg1LCAxLCAweDAwNTAsIDB4MTAsIDUsIDEpLA0K KwlQSU5fRklFTERfQkFTRSgxODYsIDE4NiwgMSwgMHgwMDUwLCAweDEwLCA3LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoMTg3LCAxODcsIDEsIDB4MDA1MCwgMHgxMCwgNCwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDE4OCwgMTg4LCAxLCAweDAwNTAsIDB4MTAsIDgsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxODksIDE4OSwgNSwgMHgwMDMwLCAweDEwLCA5LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTkw LCAxOTAsIDUsIDB4MDAzMCwgMHgxMCwgMTgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxOTEsIDE5 MiwgNSwgMHgwMDMwLCAweDEwLCAxMywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE5MywgMTk0LCA1 LCAweDAwMzAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTk1LCAxOTUsIDIsIDB4 MDA3MCwgMHgxMCwgMzAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxOTYsIDE5NiwgMiwgMHgwMDcw LCAweDEwLCAyNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE5NywgMTk3LCAyLCAweDAwODAsIDB4 MTAsIDMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxOTgsIDE5OSwgNCwgMHgwMDMwLCAweDEwLCAx NCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDIwMCwgMjAxLCA2LCAweDAwNjAsIDB4MTAsIDcsIDEp LA0KKwlQSU5fRklFTERfQkFTRSgyMDIsIDIwMiwgNCwgMHgwMDMwLCAweDEwLCA5LCAxKSwNCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Bpbl9maWVsZF9jYWxjIG10Njc3OV9waW5f ZHJ2X3JhbmdlW10gPSB7DQorCVBJTlNfRklFTERfQkFTRSgwLCA5LCA2LCAweDAwMDAsIDB4MTAs IDksIDMpLA0KKwlQSU5fRklFTERfQkFTRSgxMCwgMTYsIDMsIDB4MDAwMCwgMHgxMCwgMCwgMyks DQorCVBJTlNfRklFTERfQkFTRSgxNywgMTksIDYsIDB4MDAxMCwgMHgxMCwgMywgMyksDQorCVBJ Tl9GSUVMRF9CQVNFKDIwLCAyMCwgNiwgMHgwMDEwLCAweDEwLCA2LCAzKSwNCisJUElOU19GSUVM RF9CQVNFKDIxLCAyNCwgNiwgMHgwMDAwLCAweDEwLCAyMSwgMyksDQorCVBJTl9GSUVMRF9CQVNF KDI1LCAyNSwgNiwgMHgwMDEwLCAweDEwLCA5LCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoMjYsIDI2 LCA2LCAweDAwMDAsIDB4MTAsIDI0LCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoMjcsIDI3LCA2LCAw eDAwMDAsIDB4MTAsIDAsIDMpLA0KKwlQSU5fRklFTERfQkFTRSgyOCwgMjgsIDYsIDB4MDAwMCwg MHgxMCwgMjcsIDMpLA0KKwlQSU5fRklFTERfQkFTRSgyOSwgMjksIDYsIDB4MDAxMCwgMHgxMCwg MCwgMyksDQorCVBJTlNfRklFTERfQkFTRSgzMCwgMzIsIDYsIDB4MDAwMCwgMHgxMCwgMTIsIDMp LA0KKwlQSU5fRklFTERfQkFTRSgzMywgMzMsIDYsIDB4MDAwMCwgMHgxMCwgMTUsIDMpLA0KKwlQ SU5fRklFTERfQkFTRSgzNCwgMzQsIDYsIDB4MDAwMCwgMHgxMCwgMTIsIDMpLA0KKwlQSU5TX0ZJ RUxEX0JBU0UoMzUsIDQxLCA2LCAweDAwMTAsIDB4MTAsIDEyLCAzKSwNCisJUElOX0ZJRUxEX0JB U0UoNDIsIDQzLCA2LCAweDAwMDAsIDB4MTAsIDMsIDMpLA0KKwlQSU5fRklFTERfQkFTRSg0NCwg NDQsIDYsIDB4MDAwMCwgMHgxMCwgMTgsIDMpLA0KKwlQSU5fRklFTERfQkFTRSg0NSwgNDUsIDMs IDB4MDAxMCwgMHgxMCwgMTIsIDMpLA0KKwlQSU5fRklFTERfQkFTRSg0NiwgNDYsIDMsIDB4MDAy MCwgMHgxMCwgMCwgMyksDQorCVBJTlNfRklFTERfQkFTRSg0NywgNDksIDMsIDB4MDAyMCwgMHgx MCwgMywgMyksDQorCVBJTl9GSUVMRF9CQVNFKDUwLCA1MCwgMywgMHgwMDIwLCAweDEwLCA2LCAz KSwNCisJUElOX0ZJRUxEX0JBU0UoNTEsIDUxLCAzLCAweDAwMTAsIDB4MTAsIDMsIDMpLA0KKwlQ SU5fRklFTERfQkFTRSg1MiwgNTIsIDMsIDB4MDAxMCwgMHgxMCwgMjEsIDMpLA0KKwlQSU5TX0ZJ RUxEX0JBU0UoNTMsIDU0LCAzLCAweDAwMjAsIDB4MTAsIDksIDMpLA0KKwlQSU5fRklFTERfQkFT RSg1NSwgNTUsIDMsIDB4MDAxMCwgMHgxMCwgOSwgMyksDQorCVBJTl9GSUVMRF9CQVNFKDU2LCA1 NiwgMywgMHgwMDEwLCAweDEwLCAyNywgMyksDQorCVBJTl9GSUVMRF9CQVNFKDU3LCA1NywgMywg MHgwMDEwLCAweDEwLCAwLCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoNTgsIDU4LCAzLCAweDAwMDAs IDB4MTAsIDI3LCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoNTksIDYwLCAzLCAweDAwMDAsIDB4MTAs IDIxLCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoNjEsIDYxLCAzLCAweDAwMTAsIDB4MTAsIDYsIDMp LA0KKwlQSU5fRklFTERfQkFTRSg2MiwgNjIsIDMsIDB4MDAxMCwgMHgxMCwgMjQsIDMpLA0KKwlQ SU5TX0ZJRUxEX0JBU0UoNjMsIDY1LCAzLCAweDAwMTAsIDB4MTAsIDE1LCAzKSwNCisJUElOX0ZJ RUxEX0JBU0UoNjYsIDY2LCAzLCAweDAwMTAsIDB4MTAsIDE4LCAzKSwNCisJUElOU19GSUVMRF9C QVNFKDY3LCA2OSwgMiwgMHgwMDEwLCAweDEwLCAzLCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoNzAs IDcxLCAyLCAweDAwMTAsIDB4MTAsIDAsIDMpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoNzIsIDc1LCA0 LCAweDAwMDAsIDB4MTAsIDAsIDMpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoNzYsIDc3LCA0LCAweDAw MDAsIDB4MTAsIDE1LCAzKSwNCisJUElOU19GSUVMRF9CQVNFKDc4LCA4NiwgMiwgMHgwMDAwLCAw eDEwLCAzLCAzKSwNCisJUElOU19GSUVMRF9CQVNFKDg3LCA5MiwgMiwgMHgwMDAwLCAweDEwLCA2 LCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoOTMsIDkzLCA0LCAweDAwMDAsIDB4MTAsIDMsIDMpLA0K KwlQSU5fRklFTERfQkFTRSg5NCwgOTQsIDIsIDB4MDAwMCwgMHgxMCwgNiwgMyksDQorCVBJTlNf RklFTERfQkFTRSg5NSwgOTYsIDQsIDB4MDAwMCwgMHgxMCwgNiwgMyksDQorCVBJTlNfRklFTERf QkFTRSg5NywgOTgsIDQsIDB4MDAwMCwgMHgxMCwgOSwgMyksDQorCVBJTlNfRklFTERfQkFTRSg5 OSwgMTAwLCAyLCAweDAwMTAsIDB4MTAsIDYsIDMpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTAxLCAx MDIsIDIsIDB4MDAxMCwgMHgxMCwgOSwgMyksDQorCVBJTlNfRklFTERfQkFTRSgxMDMsIDEwNCwg MiwgMHgwMDEwLCAweDEwLCAxMiwgMyksDQorCVBJTlNfRklFTERfQkFTRSgxMDUsIDEwOSwgMiwg MHgwMDAwLCAweDEwLCAwLCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoMTEwLCAxMTAsIDIsIDB4MDAx MCwgMHgxMCwgMTgsIDMpLA0KKwlQSU5fRklFTERfQkFTRSgxMTEsIDExMSwgMiwgMHgwMDEwLCAw eDEwLCAyNCwgMyksDQorCVBJTl9GSUVMRF9CQVNFKDExMiwgMTEyLCAyLCAweDAwMTAsIDB4MTAs IDE1LCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoMTEzLCAxMTMsIDIsIDB4MDAxMCwgMHgxMCwgMjEs IDMpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTE0LCAxMTUsIDIsIDB4MDAwMCwgMHgxMCwgMTIsIDMp LA0KKwlQSU5fRklFTERfQkFTRSgxMTYsIDExNywgMiwgMHgwMDAwLCAweDEwLCAxNSwgMyksDQor CVBJTlNfRklFTERfQkFTRSgxMTgsIDExOSwgMiwgMHgwMDAwLCAweDEwLCAxMiwgMyksDQorCVBJ Tl9GSUVMRF9CQVNFKDEyMCwgMTIxLCAyLCAweDAwMDAsIDB4MTAsIDIxLCAzKSwNCisJUElOU19G SUVMRF9CQVNFKDEyMiwgMTI1LCAyLCAweDAwMDAsIDB4MTAsIDksIDMpLA0KKwlQSU5TX0ZJRUxE X0JBU0UoMTI2LCAxMjcsIDEsIDB4MDAwMCwgMHgxMCwgMTIsIDMpLA0KKwlQSU5fRklFTERfQkFT RSgxMjgsIDEyOCwgMSwgMHgwMDAwLCAweDEwLCAyOSwgMiksDQorCVBJTl9GSUVMRF9CQVNFKDEy OSwgMTI5LCAxLCAweDAwMTAsIDB4MTAsIDAsIDIpLA0KKwlQSU5fRklFTERfQkFTRSgxMzAsIDEz MCwgMSwgMHgwMDAwLCAweDEwLCAyNywgMiksDQorCVBJTl9GSUVMRF9CQVNFKDEzMSwgMTMxLCAx LCAweDAwMTAsIDB4MTAsIDIsIDIpLA0KKwlQSU5fRklFTERfQkFTRSgxMzIsIDEzMiwgMSwgMHgw MDEwLCAweDEwLCA2LCAyKSwNCisJUElOX0ZJRUxEX0JBU0UoMTMzLCAxMzMsIDEsIDB4MDAxMCwg MHgxMCwgNCwgMiksDQorCVBJTl9GSUVMRF9CQVNFKDEzNCwgMTM1LCAxLCAweDAwMDAsIDB4MTAs IDMsIDMpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTM2LCAxMzksIDEsIDB4MDAwMCwgMHgxMCwgOSwg MyksDQorCVBJTlNfRklFTERfQkFTRSgxNDAsIDE0MSwgMSwgMHgwMDAwLCAweDEwLCAwLCAzKSwN CisJUElOX0ZJRUxEX0JBU0UoMTQyLCAxNDIsIDEsIDB4MDAwMCwgMHgxMCwgMjQsIDMpLA0KKwlQ SU5TX0ZJRUxEX0JBU0UoMTQzLCAxNDYsIDUsIDB4MDAwMCwgMHgxMCwgMywgMyksDQorCVBJTlNf RklFTERfQkFTRSgxNDcsIDE1NSwgNSwgMHgwMDAwLCAweDEwLCAwLCAzKSwNCisJUElOX0ZJRUxE X0JBU0UoMTU2LCAxNTcsIDUsIDB4MDAwMCwgMHgxMCwgMjEsIDMpLA0KKwlQSU5fRklFTERfQkFT RSgxNTgsIDE1OCwgNSwgMHgwMDAwLCAweDEwLCAxNSwgMyksDQorCVBJTl9GSUVMRF9CQVNFKDE1 OSwgMTU5LCA1LCAweDAwMDAsIDB4MTAsIDI3LCAzKSwNCisJUElOX0ZJRUxEX0JBU0UoMTYwLCAx NjEsIDUsIDB4MDAwMCwgMHgxMCwgOSwgMyksDQorCVBJTlNfRklFTERfQkFTRSgxNjIsIDE2Niwg NSwgMHgwMDAwLCAweDEwLCAxOCwgMyksDQorCVBJTl9GSUVMRF9CQVNFKDE2NywgMTY3LCA3LCAw eDAwMDAsIDB4MTAsIDMsIDMpLA0KKwlQSU5TX0ZJRUxEX0JBU0UoMTY4LCAxNzQsIDcsIDB4MDAw MCwgMHgxMCwgNiwgMyksDQorCVBJTl9GSUVMRF9CQVNFKDE3NSwgMTc1LCA3LCAweDAwMDAsIDB4 MTAsIDksIDMpLA0KKwlQSU5fRklFTERfQkFTRSgxNzYsIDE3NiwgNywgMHgwMDAwLCAweDEwLCAw LCAzKSwNCisJUElOU19GSUVMRF9CQVNFKDE3NywgMTc4LCA3LCAweDAwMDAsIDB4MTAsIDYsIDMp LA0KKwlQSU5fRklFTERfQkFTRSgxNzksIDE4MCwgNCwgMHgwMDAwLCAweDEwLCAxNSwgMyksDQor CVBJTl9GSUVMRF9CQVNFKDE4MSwgMTgzLCAxLCAweDAwMTAsIDB4MTAsIDgsIDMpLA0KKwlQSU5T X0ZJRUxEX0JBU0UoMTg0LCAxODYsIDEsIDB4MDAwMCwgMHgxMCwgMTUsIDMpLA0KKwlQSU5fRklF TERfQkFTRSgxODcsIDE4OCwgMSwgMHgwMDAwLCAweDEwLCAxOCwgMyksDQorCVBJTl9GSUVMRF9C QVNFKDE4OSwgMTg5LCA1LCAweDAwMDAsIDB4MTAsIDYsIDMpLA0KKwlQSU5TX0ZJRUxEX0JBU0Uo MTkwLCAxOTQsIDUsIDB4MDAwMCwgMHgxMCwgMywgMyksDQorCVBJTl9GSUVMRF9CQVNFKDE5NSwg MTk1LCAyLCAweDAwMDAsIDB4MTAsIDksIDMpLA0KKwlQSU5fRklFTERfQkFTRSgxOTYsIDE5Niwg MiwgMHgwMDAwLCAweDEwLCAyNywgMyksDQorCVBJTl9GSUVMRF9CQVNFKDE5NywgMTk3LCAyLCAw eDAwMDAsIDB4MTAsIDksIDMpLA0KKwlQSU5fRklFTERfQkFTRSgxOTgsIDE5OSwgNCwgMHgwMDAw LCAweDEwLCAyMSwgMyksDQorCVBJTlNfRklFTERfQkFTRSgyMDAsIDIwMSwgNiwgMHgwMDEwLCAw eDEwLCAxNSwgMyksDQorCVBJTl9GSUVMRF9CQVNFKDIwMiwgMjAyLCA0LCAweDAwMDAsIDB4MTAs IDEyLCAzKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Bpbl9maWVsZF9jYWxj IG10Njc3OV9waW5fcHVwZF9yYW5nZVtdID0gew0KKwlQSU5fRklFTERfQkFTRSgxMCwgMTUsIDMs IDB4MDA3MCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDU3LCA1NywgMywgMHgwMDcw LCAweDEwLCA5LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTgsIDU4LCAzLCAweDAwNzAsIDB4MTAs IDgsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg1OSwgNjAsIDMsIDB4MDA3MCwgMHgxMCwgNiwgMSks DQorCVBJTl9GSUVMRF9CQVNFKDEyOCwgMTI5LCAxLCAweDAwNjAsIDB4MTAsIDcsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgxMzAsIDEzMCwgMSwgMHgwMDYwLCAweDEwLCA2LCAxKSwNCisJUElOX0ZJ RUxEX0JBU0UoMTMxLCAxMzEsIDEsIDB4MDA2MCwgMHgxMCwgOSwgMSksDQorCVBJTl9GSUVMRF9C QVNFKDEzMiwgMTMyLCAxLCAweDAwNjAsIDB4MTAsIDExLCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTMzLCAxMzMsIDEsIDB4MDA2MCwgMHgxMCwgMTAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMzQs IDEzNSwgMSwgMHgwMDYwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTM2LCAxMzYs IDEsIDB4MDA2MCwgMHgxMCwgNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEzNywgMTM3LCAxLCAw eDAwNjAsIDB4MTAsIDIsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMzgsIDEzOCwgMSwgMHgwMDYw LCAweDEwLCA0LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTM5LCAxMzksIDEsIDB4MDA2MCwgMHgx MCwgMywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE2NywgMTY4LCA3LCAweDAwMjAsIDB4MTAsIDEs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNjksIDE2OSwgNywgMHgwMDIwLCAweDEwLCA0LCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTcwLCAxNzAsIDcsIDB4MDAyMCwgMHgxMCwgNiwgMSksDQorCVBJ Tl9GSUVMRF9CQVNFKDE3MSwgMTcxLCA3LCAweDAwMjAsIDB4MTAsIDgsIDEpLA0KKwlQSU5fRklF TERfQkFTRSgxNzIsIDE3MiwgNywgMHgwMDIwLCAweDEwLCAzLCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoMTczLCAxNzMsIDcsIDB4MDAyMCwgMHgxMCwgNywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3 NCwgMTc1LCA3LCAweDAwMjAsIDB4MTAsIDksIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNzYsIDE3 NiwgNywgMHgwMDIwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTc3LCAxNzcsIDcs IDB4MDAyMCwgMHgxMCwgNSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3OCwgMTc4LCA3LCAweDAw MjAsIDB4MTAsIDExLCAxKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Bpbl9m aWVsZF9jYWxjIG10Njc3OV9waW5fcjBfcmFuZ2VbXSA9IHsNCisJUElOX0ZJRUxEX0JBU0UoMTAs IDE1LCAzLCAweDAwOTAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFTRSg1NywgNTcsIDMs IDB4MDA5MCwgMHgxMCwgOSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDU4LCA1OCwgMywgMHgwMDkw LCAweDEwLCA4LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTksIDYwLCAzLCAweDAwOTAsIDB4MTAs IDYsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMjgsIDEyOSwgMSwgMHgwMDgwLCAweDEwLCA3LCAx KSwNCisJUElOX0ZJRUxEX0JBU0UoMTMwLCAxMzAsIDEsIDB4MDA4MCwgMHgxMCwgNiwgMSksDQor CVBJTl9GSUVMRF9CQVNFKDEzMSwgMTMxLCAxLCAweDAwODAsIDB4MTAsIDksIDEpLA0KKwlQSU5f RklFTERfQkFTRSgxMzIsIDEzMiwgMSwgMHgwMDgwLCAweDEwLCAxMSwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDEzMywgMTMzLCAxLCAweDAwODAsIDB4MTAsIDEwLCAxKSwNCisJUElOX0ZJRUxEX0JB U0UoMTM0LCAxMzUsIDEsIDB4MDA4MCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEz NiwgMTM2LCAxLCAweDAwODAsIDB4MTAsIDUsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMzcsIDEz NywgMSwgMHgwMDgwLCAweDEwLCAyLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTM4LCAxMzgsIDEs IDB4MDA4MCwgMHgxMCwgNCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEzOSwgMTM5LCAxLCAweDAw ODAsIDB4MTAsIDMsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNjcsIDE2OCwgNywgMHgwMDMwLCAw eDEwLCAxLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTY5LCAxNjksIDcsIDB4MDAzMCwgMHgxMCwg NCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3MCwgMTcwLCA3LCAweDAwMzAsIDB4MTAsIDYsIDEp LA0KKwlQSU5fRklFTERfQkFTRSgxNzEsIDE3MSwgNywgMHgwMDMwLCAweDEwLCA4LCAxKSwNCisJ UElOX0ZJRUxEX0JBU0UoMTcyLCAxNzIsIDcsIDB4MDAzMCwgMHgxMCwgMywgMSksDQorCVBJTl9G SUVMRF9CQVNFKDE3MywgMTczLCA3LCAweDAwMzAsIDB4MTAsIDcsIDEpLA0KKwlQSU5fRklFTERf QkFTRSgxNzQsIDE3NSwgNywgMHgwMDMwLCAweDEwLCA5LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTc2LCAxNzYsIDcsIDB4MDAzMCwgMHgxMCwgMCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE3Nywg MTc3LCA3LCAweDAwMzAsIDB4MTAsIDUsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNzgsIDE3OCwg NywgMHgwMDMwLCAweDEwLCAxMSwgMSksDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10 a19waW5fZmllbGRfY2FsYyBtdDY3NzlfcGluX3IxX3JhbmdlW10gPSB7DQorCVBJTl9GSUVMRF9C QVNFKDEwLCAxNSwgMywgMHgwMGEwLCAweDEwLCAwLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoNTcs IDU3LCAzLCAweDAwYTAsIDB4MTAsIDksIDEpLA0KKwlQSU5fRklFTERfQkFTRSg1OCwgNTgsIDMs IDB4MDBhMCwgMHgxMCwgOCwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDU5LCA2MCwgMywgMHgwMGEw LCAweDEwLCA2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTI4LCAxMjksIDEsIDB4MDA5MCwgMHgx MCwgNywgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEzMCwgMTMwLCAxLCAweDAwOTAsIDB4MTAsIDYs IDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMzEsIDEzMSwgMSwgMHgwMDkwLCAweDEwLCA5LCAxKSwN CisJUElOX0ZJRUxEX0JBU0UoMTMyLCAxMzIsIDEsIDB4MDA5MCwgMHgxMCwgMTEsIDEpLA0KKwlQ SU5fRklFTERfQkFTRSgxMzMsIDEzMywgMSwgMHgwMDkwLCAweDEwLCAxMCwgMSksDQorCVBJTl9G SUVMRF9CQVNFKDEzNCwgMTM1LCAxLCAweDAwOTAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERf QkFTRSgxMzYsIDEzNiwgMSwgMHgwMDkwLCAweDEwLCA1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0Uo MTM3LCAxMzcsIDEsIDB4MDA5MCwgMHgxMCwgMiwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDEzOCwg MTM4LCAxLCAweDAwOTAsIDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxMzksIDEzOSwg MSwgMHgwMDkwLCAweDEwLCAzLCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTY3LCAxNjgsIDcsIDB4 MDA0MCwgMHgxMCwgMSwgMSksDQorCVBJTl9GSUVMRF9CQVNFKDE2OSwgMTY5LCA3LCAweDAwNDAs IDB4MTAsIDQsIDEpLA0KKwlQSU5fRklFTERfQkFTRSgxNzAsIDE3MCwgNywgMHgwMDQwLCAweDEw LCA2LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTcxLCAxNzEsIDcsIDB4MDA0MCwgMHgxMCwgOCwg MSksDQorCVBJTl9GSUVMRF9CQVNFKDE3MiwgMTcyLCA3LCAweDAwNDAsIDB4MTAsIDMsIDEpLA0K KwlQSU5fRklFTERfQkFTRSgxNzMsIDE3MywgNywgMHgwMDQwLCAweDEwLCA3LCAxKSwNCisJUElO X0ZJRUxEX0JBU0UoMTc0LCAxNzUsIDcsIDB4MDA0MCwgMHgxMCwgOSwgMSksDQorCVBJTl9GSUVM RF9CQVNFKDE3NiwgMTc2LCA3LCAweDAwNDAsIDB4MTAsIDAsIDEpLA0KKwlQSU5fRklFTERfQkFT RSgxNzcsIDE3NywgNywgMHgwMDQwLCAweDEwLCA1LCAxKSwNCisJUElOX0ZJRUxEX0JBU0UoMTc4 LCAxNzgsIDcsIDB4MDA0MCwgMHgxMCwgMTEsIDEpLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0 cnVjdCBtdGtfcGluX3JlZ19jYWxjIG10Njc3OV9yZWdfY2Fsc1tQSU5DVFJMX1BJTl9SRUdfTUFY XSA9IHsNCisJW1BJTkNUUkxfUElOX1JFR19NT0RFXSA9IE1US19SQU5HRShtdDY3NzlfcGluX21v ZGVfcmFuZ2UpLA0KKwlbUElOQ1RSTF9QSU5fUkVHX0RJUl0gPSBNVEtfUkFOR0UobXQ2Nzc5X3Bp bl9kaXJfcmFuZ2UpLA0KKwlbUElOQ1RSTF9QSU5fUkVHX0RJXSA9IE1US19SQU5HRShtdDY3Nzlf cGluX2RpX3JhbmdlKSwNCisJW1BJTkNUUkxfUElOX1JFR19ET10gPSBNVEtfUkFOR0UobXQ2Nzc5 X3Bpbl9kb19yYW5nZSksDQorCVtQSU5DVFJMX1BJTl9SRUdfU01UXSA9IE1US19SQU5HRShtdDY3 NzlfcGluX3NtdF9yYW5nZSksDQorCVtQSU5DVFJMX1BJTl9SRUdfSUVTXSA9IE1US19SQU5HRSht dDY3NzlfcGluX2llc19yYW5nZSksDQorCVtQSU5DVFJMX1BJTl9SRUdfUFVdID0gTVRLX1JBTkdF KG10Njc3OV9waW5fcHVfcmFuZ2UpLA0KKwlbUElOQ1RSTF9QSU5fUkVHX1BEXSA9IE1US19SQU5H RShtdDY3NzlfcGluX3BkX3JhbmdlKSwNCisJW1BJTkNUUkxfUElOX1JFR19EUlZdID0gTVRLX1JB TkdFKG10Njc3OV9waW5fZHJ2X3JhbmdlKSwNCisJW1BJTkNUUkxfUElOX1JFR19QVVBEXSA9IE1U S19SQU5HRShtdDY3NzlfcGluX3B1cGRfcmFuZ2UpLA0KKwlbUElOQ1RSTF9QSU5fUkVHX1IwXSA9 IE1US19SQU5HRShtdDY3NzlfcGluX3IwX3JhbmdlKSwNCisJW1BJTkNUUkxfUElOX1JFR19SMV0g PSBNVEtfUkFOR0UobXQ2Nzc5X3Bpbl9yMV9yYW5nZSksDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IG10Njc3OV9waW5jdHJsX3JlZ2lzdGVyX2Jhc2VfbmFtZXNbXSA9IHsNCisJ ImdwaW8iLCAiaW9jZmdfcm0iLCAiaW9jZmdfYnIiLCAiaW9jZmdfbG0iLCAiaW9jZmdfbGIiLA0K KwkiaW9jZmdfcnQiLCAiaW9jZmdfbHQiLCAiaW9jZmdfdGwiLA0KK307DQorDQorc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfcGluX3NvYyBtdDY3NzlfZGF0YSA9IHsNCisJLnJlZ19jYWwgPSBtdDY3 NzlfcmVnX2NhbHMsDQorCS5waW5zID0gbXRrX3BpbnNfbXQ2Nzc5LA0KKwkubnBpbnMgPSBBUlJB WV9TSVpFKG10a19waW5zX210Njc3OSksDQorCS5uZ3JwcyA9IEFSUkFZX1NJWkUobXRrX3BpbnNf bXQ2Nzc5KSwNCisJLmdwaW9fbSA9IDAsDQorCS5pZXNfcHJlc2VudCA9IHRydWUsDQorCS5iYXNl X25hbWVzID0gbXQ2Nzc5X3BpbmN0cmxfcmVnaXN0ZXJfYmFzZV9uYW1lcywNCisJLm5iYXNlX25h bWVzID0gQVJSQVlfU0laRShtdDY3NzlfcGluY3RybF9yZWdpc3Rlcl9iYXNlX25hbWVzKSwNCisJ LmJpYXNfc2V0X2NvbWJvID0gbXRrX3BpbmNvbmZfYmlhc19zZXRfY29tYm8sDQorCS5iaWFzX2dl dF9jb21ibyA9IG10a19waW5jb25mX2JpYXNfZ2V0X2NvbWJvLA0KKwkuZHJpdmVfc2V0ID0gbXRr X3BpbmNvbmZfZHJpdmVfc2V0X3JhdywNCisJLmRyaXZlX2dldCA9IG10a19waW5jb25mX2RyaXZl X2dldF9yYXcsDQorCS5hZHZfcHVsbF9nZXQgPSBtdGtfcGluY29uZl9hZHZfcHVsbF9nZXQsDQor CS5hZHZfcHVsbF9zZXQgPSBtdGtfcGluY29uZl9hZHZfcHVsbF9zZXQsDQorfTsNCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBtdDY3NzlfcGluY3RybF9vZl9tYXRjaFtdID0g ew0KKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10Njc3OS1waW5jdHJsIiwgfSwNCisJeyB9 DQorfTsNCisNCitzdGF0aWMgaW50IG10Njc3OV9waW5jdHJsX3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpDQorew0KKwlyZXR1cm4gbXRrX3BhcmlzX3BpbmN0cmxfcHJvYmUocGRl diwgJm10Njc3OV9kYXRhKTsNCit9DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg bXQ2Nzc5X3BpbmN0cmxfZHJpdmVyID0gew0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUgPSAibXQ2 Nzc5LXBpbmN0cmwiLA0KKwkJLm9mX21hdGNoX3RhYmxlID0gbXQ2Nzc5X3BpbmN0cmxfb2ZfbWF0 Y2gsDQorCX0sDQorCS5wcm9iZSA9IG10Njc3OV9waW5jdHJsX3Byb2JlLA0KK307DQorDQorc3Rh dGljIGludCBfX2luaXQgbXQ2Nzc5X3BpbmN0cmxfaW5pdCh2b2lkKQ0KK3sNCisJcmV0dXJuIHBs YXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmbXQ2Nzc5X3BpbmN0cmxfZHJpdmVyKTsNCit9DQorYXJj aF9pbml0Y2FsbChtdDY3NzlfcGluY3RybF9pbml0KTsNCisNCitNT0RVTEVfTElDRU5TRSgiR1BM IHYyIik7DQorTU9EVUxFX0RFU0NSSVBUSU9OKCJNZWRpYVRlayBNVDY3NzkgUGluY3RybCBEcml2 ZXIiKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1tdGst bXQ2Nzc5LmggYi9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1tdGstbXQ2Nzc5LmgN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjBhNDhkNjY4NmViYg0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9waW5jdHJsL21lZGlhdGVrL3BpbmN0cmwtbXRr LW10Njc3OS5oDQpAQCAtMCwwICsxLDIwODUgQEANCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCAqLw0KKy8qDQorICogQ29weXJpZ2h0IChDKSAyMDE5IE1lZGlhVGVrIEluYy4N CisgKiBBdXRob3I6IEFuZHkgVGVuZyA8YW5keS50ZW5nQG1lZGlhdGVrLmNvbT4NCisgKg0KKyAq Lw0KKw0KKyNpZm5kZWYgX19QSU5DVFJMX01US19NVDY3NzlfSA0KKyNkZWZpbmUgX19QSU5DVFJM X01US19NVDY3NzlfSA0KKw0KKyNpbmNsdWRlICJwaW5jdHJsLXBhcmlzLmgiDQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBtdGtfcGluX2Rlc2MgbXRrX3BpbnNfbXQ2Nzc5W10gPSB7DQorCU1US19Q SU4oDQorCQkwLCAiR1BJTzAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMCksDQorCQlEUlZf R1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzAiKSwNCisJCU1US19GVU5DVElPTigxLCAi U1BJNl9NSSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJJMlM1X0xSQ0siKSwNCisJCU1US19GVU5D VElPTigzLCAiVERNX0xSQ0tfMk5EIiksDQorCQlNVEtfRlVOQ1RJT04oNCwgIlBDTTFfU1lOQyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJTQ0xfNjMwNiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJU UF9HUElPMF9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJQVEFfUlhEIikNCisJKSwNCisJTVRL X1BJTigNCisJCTEsICJHUElPMSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxKSwNCisJCURS Vl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEs ICJTUEk2X0NTQiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJJMlM1X0RPIiksDQorCQlNVEtfRlVO Q1RJT04oMywgIlRETV9EQVRBMF8yTkQiKSwNCisJCU1US19GVU5DVElPTig0LCAiUENNMV9ETzAi KSwNCisJCU1US19GVU5DVElPTig1LCAiU0RBXzYzMDYiKSwNCisJCU1US19GVU5DVElPTig2LCAi VFBfR1BJTzFfQU8iKSwNCisJCU1US19GVU5DVElPTig3LCAiUFRBX1RYRCIpDQorCSksDQorCU1U S19QSU4oDQorCQkyLCAiR1BJTzIiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMiksDQorCQlE UlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzIiKSwNCisJCU1US19GVU5DVElPTigx LCAiU1BJNl9NTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJJMlM1X0JDSyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDMsICJURE1fQkNLXzJORCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJQQ00xX0NMSyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJNRF9JTlQxX0MyS19VSU0wX0hPVF9QTFVHIiksDQorCQlN VEtfRlVOQ1RJT04oNiwgIlRQX0dQSU8yX0FPIikNCisJKSwNCisJTVRLX1BJTigNCisJCTMsICJH UElPMyIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRL X0ZVTkNUSU9OKDAsICJHUElPMyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTUEk2X0NMSyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDIsICJJMlM1X01DSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJURE1f TUNLXzJORCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJFWFRfRlJBTUVfU1lOQyIpLA0KKwkJTVRL X0ZVTkNUSU9OKDUsICJNRF9JTlQyX0MyS19VSU0xX0hPVF9QTFVHIiksDQorCQlNVEtfRlVOQ1RJ T04oNiwgIlRQX0dQSU8zX0FPIikNCisJKSwNCisJTVRLX1BJTigNCisJCTQsICJHUElPNCIsDQor CQlNVEtfRUlOVF9GVU5DVElPTigwLCA0KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9O KDAsICJHUElPNCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTUEk3X01JIiksDQorCQlNVEtfRlVO Q1RJT04oMiwgIkkyUzBfTUNLIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlRETV9EQVRBMV8yTkQi KSwNCisJCU1US19GVU5DVElPTig0LCAiUENNMV9ETzEiKSwNCisJCU1US19GVU5DVElPTig1LCAi RE1JQzFfQ0xLIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIlRQX0dQSU80X0FPIiksDQorCQlNVEtf RlVOQ1RJT04oNywgIlNDTDgiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNSwgIkdQSU81IiwNCisJ CU1US19FSU5UX0ZVTkNUSU9OKDAsIDUpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU81IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNQSTdfQ1NCIiksDQorCQlNVEtfRlVO Q1RJT04oMiwgIkkyUzBfQkNLIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlRETV9EQVRBMl8yTkQi KSwNCisJCU1US19GVU5DVElPTig0LCAiUENNMV9ETzIiKSwNCisJCU1US19GVU5DVElPTig1LCAi RE1JQzFfREFUIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIlRQX0dQSU81X0FPIiksDQorCQlNVEtf RlVOQ1RJT04oNywgIlNEQTgiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNiwgIkdQSU82IiwNCisJ CU1US19FSU5UX0ZVTkNUSU9OKDAsIDYpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU82IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNQSTdfTU8iKSwNCisJCU1US19GVU5D VElPTigyLCAiSTJTMF9MUkNLIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlRETV9EQVRBM18yTkQi KSwNCisJCU1US19GVU5DVElPTig0LCAiUENNMV9ESSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJE TUlDX0NMSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJUUF9HUElPNl9BTyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDcsICJTQ0w5IikNCisJKSwNCisJTVRLX1BJTigNCisJCTcsICJHUElPNyIsDQorCQlN VEtfRUlOVF9GVU5DVElPTigwLCA3KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAs ICJHUElPNyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTUEk3X0NMSyIpLA0KKwkJTVRLX0ZVTkNU SU9OKDIsICJJMlMwX0RJIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNSQ0xLRU5BSTEiKSwNCisJ CU1US19GVU5DVElPTig0LCAiRFZGU1JDX0VYVF9SRVEiKSwNCisJCU1US19GVU5DVElPTig1LCAi RE1JQ19EQVQiKSwNCisJCU1US19GVU5DVElPTig2LCAiVFBfR1BJTzdfQU8iKSwNCisJCU1US19G VU5DVElPTig3LCAiU0RBOSIpDQorCSksDQorCU1US19QSU4oDQorCQk4LCAiR1BJTzgiLA0KKwkJ TVRLX0VJTlRfRlVOQ1RJT04oMCwgOCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigw LCAiR1BJTzgiKSwNCisJCU1US19GVU5DVElPTigxLCAiUFdNXzAiKSwNCisJCU1US19GVU5DVElP TigyLCAiSTJTMl9ESTIiKSwNCisJCU1US19GVU5DVElPTigzLCAiU1JDTEtFTkFJMCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDQsICJVUlhEMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJJMlMwX01DSyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJDT05OX01DVV9EQkdBQ0tfTiIpLA0KKwkJTVRLX0ZVTkNU SU9OKDcsICJJRERJRyIpDQorCSksDQorCU1US19QSU4oDQorCQk5LCAiR1BJTzkiLA0KKwkJTVRL X0VJTlRfRlVOQ1RJT04oMCwgOSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAi R1BJTzkiKSwNCisJCU1US19GVU5DVElPTigxLCAiUFdNXzMiKSwNCisJCU1US19GVU5DVElPTigy LCAiTURfSU5UMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJTUkNMS0VOQUkxIiksDQorCQlNVEtf RlVOQ1RJT04oNCwgIlVUWEQxIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkkyUzBfQkNLIiksDQor CQlNVEtfRlVOQ1RJT04oNiwgIkNPTk5fTUNVX1RSU1RfQiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcs ICJVU0JfRFJWVkJVUyIpDQorCSksDQorCU1US19QSU4oDQorCQkxMCwgIkdQSU8xMCIsDQorCQlN VEtfRUlOVF9GVU5DVElPTigwLCAxMCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigw LCAiR1BJTzEwIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1TREMxX0NMS19BIiksDQorCQlNVEtf RlVOQ1RJT04oMiwgIlRQX1VSWEQxX0FPIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkkyUzFfTFJD SyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJVQ1RTMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJE TUlDMV9DTEsiKSwNCisJCU1US19GVU5DVElPTig2LCAiS1BDT0wyIiksDQorCQlNVEtfRlVOQ1RJ T04oNywgIlNDTDgiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTEsICJHUElPMTEiLA0KKwkJTVRL X0VJTlRfRlVOQ1RJT04oMCwgMTEpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwg IkdQSU8xMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJNU0RDMV9DTURfQSIpLA0KKwkJTVRLX0ZV TkNUSU9OKDIsICJUUF9VVFhEMV9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlMxX0RPIiks DQorCQlNVEtfRlVOQ1RJT04oNCwgIlVSVFMwIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkRNSUMx X0RBVCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJLUFJPVzIiKSwNCisJCU1US19GVU5DVElPTig3 LCAiU0RBOCIpDQorCSksDQorCU1US19QSU4oDQorCQkxMiwgIkdQSU8xMiIsDQorCQlNVEtfRUlO VF9GVU5DVElPTigwLCAxMiksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzEyIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1TREMxX0RBVDNfQSIpLA0KKwkJTVRLX0ZVTkNU SU9OKDIsICJUUF9VUlhEMl9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlMxX01DSyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDQsICJVQ1RTMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJETUlDX0NM SyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJBTlRfU0VMOSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcs ICJTQ0w5IikNCisJKSwNCisJTVRLX1BJTigNCisJCTEzLCAiR1BJTzEzIiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDEzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElP MTMiKSwNCisJCU1US19GVU5DVElPTigxLCAiTVNEQzFfREFUMF9BIiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIlRQX1VUWEQyX0FPIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkkyUzFfQkNLIiksDQor CQlNVEtfRlVOQ1RJT04oNCwgIlVSVFMxIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkRNSUNfREFU IiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIkFOVF9TRUwxMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcs ICJTREE5IikNCisJKSwNCisJTVRLX1BJTigNCisJCTE0LCAiR1BJTzE0IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDE0KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElP MTQiKSwNCisJCU1US19GVU5DVElPTigxLCAiTVNEQzFfREFUMl9BIiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIlBXTV8zIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIklERElHIiksDQorCQlNVEtfRlVO Q1RJT04oNCwgIk1EX0lOVDAiKSwNCisJCU1US19GVU5DVElPTig1LCAiUFRBX1JYRCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDYsICJBTlRfU0VMMTEiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTUsICJH UElPMTUiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTUpLA0KKwkJRFJWX0dSUDQsDQorCQlN VEtfRlVOQ1RJT04oMCwgIkdQSU8xNSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJNU0RDMV9EQVQx X0EiKSwNCisJCU1US19GVU5DVElPTigyLCAiRFZGU1JDX0VYVF9SRVEiKSwNCisJCU1US19GVU5D VElPTigzLCAiVVNCX0RSVlZCVVMiKSwNCisJCU1US19GVU5DVElPTig0LCAiTURfSU5UMV9DMktf VUlNMF9IT1RfUExVRyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJQVEFfVFhEIiksDQorCQlNVEtf RlVOQ1RJT04oNiwgIkFOVF9TRUwxMiIpDQorCSksDQorCU1US19QSU4oDQorCQkxNiwgIkdQSU8x NiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxNiksDQorCQlEUlZfR1JQNCwNCisJCU1US19G VU5DVElPTigwLCAiR1BJTzE2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNSQ0xLRU5BSTAiKSwN CisJCU1US19GVU5DVElPTigyLCAiRVhUX0ZSQU1FX1NZTkMiKSwNCisJCU1US19GVU5DVElPTigz LCAiTUZHX0VKVEFHX1RSU1ROIiksDQorCQlNVEtfRlVOQ1RJT04oNCwgIk1EX0lOVDJfQzJLX1VJ TTFfSE9UX1BMVUciKSwNCisJCU1US19GVU5DVElPTig1LCAiQ09OTl9UQ1hPRU5BX1JFUSIpLA0K KwkJTVRLX0ZVTkNUSU9OKDYsICJQV01fMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJKVFJTVE5f U0VMMSIpDQorCSksDQorCU1US19QSU4oDQorCQkxNywgIkdQSU8xNyIsDQorCQlNVEtfRUlOVF9G VU5DVElPTigwLCAxNyksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE3 IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNQSTBfQV9NSSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIs ICJTQ1BfU1BJMF9NSSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJNRkdfRUpUQUdfVERPIiksDQor CQlNVEtfRlVOQ1RJT04oNCwgIkRQSV9IU1lOQyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJNRkdf REZEX0pUQUdfVERPIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIkRGRF9URE8iKSwNCisJCU1US19G VU5DVElPTig3LCAiSlRET19TRUwxIikNCisJKSwNCisJTVRLX1BJTigNCisJCTE4LCAiR1BJTzE4 IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE4KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZV TkNUSU9OKDAsICJHUElPMTgiKSwNCisJCU1US19GVU5DVElPTigxLCAiU1BJMF9BX01PIiksDQor CQlNVEtfRlVOQ1RJT04oMiwgIlNDUF9TUEkwX01PIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIk1G R19FSlRBR19UREkiKSwNCisJCU1US19GVU5DVElPTig0LCAiRFBJX1ZTWU5DIiksDQorCQlNVEtf RlVOQ1RJT04oNSwgIk1GR19ERkRfSlRBR19UREkiKSwNCisJCU1US19GVU5DVElPTig2LCAiREZE X1RESSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJKVERJX1NFTDEiKQ0KKwkpLA0KKwlNVEtfUElO KA0KKwkJMTksICJHUElPMTkiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTkpLA0KKwkJRFJW X0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xOSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEs ICJTUEkwX0FfQ1NCIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNDUF9TUEkwX0NTIiksDQorCQlN VEtfRlVOQ1RJT04oMywgIk1GR19FSlRBR19UTVMiKSwNCisJCU1US19GVU5DVElPTig0LCAiRFBJ X0RFIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIk1GR19ERkRfSlRBR19UTVMiKSwNCisJCU1US19G VU5DVElPTig2LCAiREZEX1RNUyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJKVE1TX1NFTDEiKQ0K KwkpLA0KKwlNVEtfUElOKA0KKwkJMjAsICJHUElPMjAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04o MCwgMjApLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8yMCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJTUEkwX0FfQ0xLIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNDUF9T UEkwX0NLIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIk1GR19FSlRBR19UQ0siKSwNCisJCU1US19G VU5DVElPTig0LCAiRFBJX0NLIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIk1GR19ERkRfSlRBR19U Q0siKSwNCisJCU1US19GVU5DVElPTig2LCAiREZEX1RDS19YSSIpLA0KKwkJTVRLX0ZVTkNUSU9O KDcsICJKVENLX1NFTDEiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMjEsICJHUElPMjEiLA0KKwkJ TVRLX0VJTlRfRlVOQ1RJT04oMCwgMjEpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8yMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJQV01fMCIpLA0KKwkJTVRLX0ZVTkNU SU9OKDIsICJDTUZMQVNIMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJDTVZSRUYyIiksDQorCQlN VEtfRlVOQ1RJT04oNCwgIkNMS00wIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkFOVF9TRUw5Iiks DQorCQlNVEtfRlVOQ1RJT04oNiwgIkNPTk5fVENYT0VOQV9SRVEiKSwNCisJCU1US19GVU5DVElP Tig3LCAiREJHX01PTl9BMjciKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMjIsICJHUElPMjIiLA0K KwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMjIpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJ T04oMCwgIkdQSU8yMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJQV01fMSIpLA0KKwkJTVRLX0ZV TkNUSU9OKDIsICJDTUZMQVNIMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJDTVZSRUYzIiksDQor CQlNVEtfRlVOQ1RJT04oNCwgIkNMS00xIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkFOVF9TRUwx MCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0EyOCIpDQorCSksDQorCU1US19QSU4o DQorCQkyMywgIkdQSU8yMyIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAyMyksDQorCQlEUlZf R1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzIzIiksDQorCQlNVEtfRlVOQ1RJT04oMSwg IlBXTV8yIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNNRkxBU0gyIiksDQorCQlNVEtfRlVOQ1RJ T04oMywgIkNNVlJFRjAiKSwNCisJCU1US19GVU5DVElPTig0LCAiQ0xLTTIiKSwNCisJCU1US19G VU5DVElPTig1LCAiQU5UX1NFTDExIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQTI5 IikNCisJKSwNCisJTVRLX1BJTigNCisJCTI0LCAiR1BJTzI0IiwNCisJCU1US19FSU5UX0ZVTkNU SU9OKDAsIDI0KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMjQiKSwN CisJCU1US19GVU5DVElPTigxLCAiUFdNXzAiKSwNCisJCU1US19GVU5DVElPTigyLCAiQ01GTEFT SDMiKSwNCisJCU1US19GVU5DVElPTigzLCAiQ01WUkVGMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQs ICJDTEtNMyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJBTlRfU0VMMTIiKSwNCisJCU1US19GVU5D VElPTig3LCAiREJHX01PTl9BMzAiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMjUsICJHUElPMjUi LA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMjUpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVO Q1RJT04oMCwgIkdQSU8yNSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTUkNMS0VOQUkwIiksDQor CQlNVEtfRlVOQ1RJT04oMiwgIlVDVFMwIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNDTDgiKSwN CisJCU1US19GVU5DVElPTig0LCAiQ01WUkVGNCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJJMlMw X0xSQ0siKSwNCisJCU1US19GVU5DVElPTig2LCAiQ09OTl9UQ1hPRU5BX1JFUSIpLA0KKwkJTVRL X0ZVTkNUSU9OKDcsICJEQkdfTU9OX0EzMSIpDQorCSksDQorCU1US19QSU4oDQorCQkyNiwgIkdQ SU8yNiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAyNiksDQorCQlEUlZfR1JQNCwNCisJCU1U S19GVU5DVElPTigwLCAiR1BJTzI2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlBXTV8wIiksDQor CQlNVEtfRlVOQ1RJT04oMiwgIlVSVFMwIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNEQTgiKSwN CisJCU1US19GVU5DVElPTig0LCAiQ0xLTTAiKSwNCisJCU1US19GVU5DVElPTig1LCAiSTJTMF9E SSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJBR1BTX1NZTkMiKSwNCisJCU1US19GVU5DVElPTig3 LCAiREJHX01PTl9BMzIiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMjcsICJHUElPMjciLA0KKwkJ TVRLX0VJTlRfRlVOQ1RJT04oMCwgMjcpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8yNyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJBUF9HT09EIikNCisJKSwNCisJTVRL X1BJTigNCisJCTI4LCAiR1BJTzI4IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDI4KSwNCisJ CURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMjgiKSwNCisJCU1US19GVU5DVElP TigxLCAiU0NMNSIpDQorCSksDQorCU1US19QSU4oDQorCQkyOSwgIkdQSU8yOSIsDQorCQlNVEtf RUlOVF9GVU5DVElPTigwLCAyOSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAi R1BJTzI5IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNEQTUiKQ0KKwkpLA0KKwlNVEtfUElOKA0K KwkJMzAsICJHUElPMzAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMzApLA0KKwkJRFJWX0dS UDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8zMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJJ MlMxX01DSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJJMlMzX01DSyIpLA0KKwkJTVRLX0ZVTkNU SU9OKDMsICJJMlMyX01DSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJEUElfRDAiKSwNCisJCU1U S19GVU5DVElPTig1LCAiU1BJNF9NSSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJDT05OX01DVV9E QkdJX04iKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMzEsICJHUElPMzEiLA0KKwkJTVRLX0VJTlRf RlVOQ1RJT04oMCwgMzEpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8z MSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJJMlMxX0JDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIs ICJJMlMzX0JDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlMyX0JDSyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDQsICJEUElfRDEiKSwNCisJCU1US19GVU5DVElPTig1LCAiU1BJNF9DU0IiKSwNCisJ CU1US19GVU5DVElPTig2LCAiQ09OTl9NQ1VfVERPIikNCisJKSwNCisJTVRLX1BJTigNCisJCTMy LCAiR1BJTzMyIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDMyKSwNCisJCURSVl9HUlA0LA0K KwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMzIiKSwNCisJCU1US19GVU5DVElPTigxLCAiSTJTMV9M UkNLIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkkyUzNfTFJDSyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDMsICJJMlMyX0xSQ0siKSwNCisJCU1US19GVU5DVElPTig0LCAiRFBJX0QyIiksDQorCQlNVEtf RlVOQ1RJT04oNSwgIlNQSTRfTU8iKSwNCisJCU1US19GVU5DVElPTig2LCAiQ09OTl9NQ1VfVERJ IikNCisJKSwNCisJTVRLX1BJTigNCisJCTMzLCAiR1BJTzMzIiwNCisJCU1US19FSU5UX0ZVTkNU SU9OKDAsIDMzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMzMiKSwN CisJCU1US19GVU5DVElPTigxLCAiSTJTMl9ESSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJJMlMw X0RJIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkkyUzVfRE8iKSwNCisJCU1US19GVU5DVElPTig0 LCAiRFBJX0QzIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlNQSTRfQ0xLIiksDQorCQlNVEtfRlVO Q1RJT04oNiwgIkNPTk5fTUNVX1RNUyIpDQorCSksDQorCU1US19QSU4oDQorCQkzNCwgIkdQSU8z NCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAzNCksDQorCQlEUlZfR1JQNCwNCisJCU1US19G VU5DVElPTigwLCAiR1BJTzM0IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkkyUzFfRE8iKSwNCisJ CU1US19GVU5DVElPTigyLCAiSTJTM19ETyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlMyX0RJ MiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJEUElfRDQiKSwNCisJCU1US19GVU5DVElPTig1LCAi QUdQU19TWU5DIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIkNPTk5fTUNVX1RDSyIpDQorCSksDQor CU1US19QSU4oDQorCQkzNSwgIkdQSU8zNSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAzNSks DQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzM1IiksDQorCQlNVEtfRlVO Q1RJT04oMSwgIlRETV9MUkNLIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkkyUzFfTFJDSyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDMsICJJMlM1X0xSQ0siKSwNCisJCU1US19GVU5DVElPTig0LCAiRFBJ X0Q1IiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlNQSTVfQV9NTyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDYsICJJT19KVEFHX1RESSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJQV01fMiIpDQorCSksDQor CU1US19QSU4oDQorCQkzNiwgIkdQSU8zNiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAzNiks DQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzM2IiksDQorCQlNVEtfRlVO Q1RJT04oMSwgIlRETV9CQ0siKSwNCisJCU1US19GVU5DVElPTigyLCAiSTJTMV9CQ0siKSwNCisJ CU1US19GVU5DVElPTigzLCAiSTJTNV9CQ0siKSwNCisJCU1US19GVU5DVElPTig0LCAiRFBJX0Q2 IiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlNQSTVfQV9DU0IiKSwNCisJCU1US19GVU5DVElPTig2 LCAiSU9fSlRBR19UUlNUTiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJTUkNMS0VOQUkxIikNCisJ KSwNCisJTVRLX1BJTigNCisJCTM3LCAiR1BJTzM3IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAs IDM3KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMzciKSwNCisJCU1U S19GVU5DVElPTigxLCAiVERNX01DSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJJMlMxX01DSyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlM1X01DSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJE UElfRDciKSwNCisJCU1US19GVU5DVElPTig1LCAiU1BJNV9BX01JIiksDQorCQlNVEtfRlVOQ1RJ T04oNiwgIklPX0pUQUdfVENLIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIlNSQ0xLRU5BSTAiKQ0K KwkpLA0KKwlNVEtfUElOKA0KKwkJMzgsICJHUElPMzgiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04o MCwgMzgpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8zOCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJURE1fREFUQTAiKSwNCisJCU1US19GVU5DVElPTigyLCAiSTJTMl9E SSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlM1X0RPIiksDQorCQlNVEtfRlVOQ1RJT04oNCwg IkRQSV9EOCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJTUEk1X0FfQ0xLIiksDQorCQlNVEtfRlVO Q1RJT04oNiwgIklPX0pUQUdfVERPIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkNPTk5fVENYT0VO QV9SRVEiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMzksICJHUElPMzkiLA0KKwkJTVRLX0VJTlRf RlVOQ1RJT04oMCwgMzkpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8z OSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJURE1fREFUQTEiKSwNCisJCU1US19GVU5DVElPTigy LCAiSTJTMV9ETyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlMyX0RJMiIpLA0KKwkJTVRLX0ZV TkNUSU9OKDQsICJEUElfRDkiKSwNCisJCU1US19GVU5DVElPTig1LCAiRFZGU1JDX0VYVF9SRVEi KSwNCisJCU1US19GVU5DVElPTig2LCAiSU9fSlRBR19UTVMiKSwNCisJCU1US19GVU5DVElPTig3 LCAiSURESUciKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNDAsICJHUElPNDAiLA0KKwkJTVRLX0VJ TlRfRlVOQ1RJT04oMCwgNDApLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQ SU80MCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJURE1fREFUQTIiKSwNCisJCU1US19GVU5DVElP TigyLCAiU0NMOSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJQV01fMyIpLA0KKwkJTVRLX0ZVTkNU SU9OKDQsICJEUElfRDEwIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlNSQ0xLRU5BSTAiKSwNCisJ CU1US19GVU5DVElPTig2LCAiREFQX01EMzJfU1dEIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIlVT Ql9EUlZWQlVTIikNCisJKSwNCisJTVRLX1BJTigNCisJCTQxLCAiR1BJTzQxIiwNCisJCU1US19F SU5UX0ZVTkNUSU9OKDAsIDQxKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJH UElPNDEiKSwNCisJCU1US19GVU5DVElPTigxLCAiVERNX0RBVEEzIiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIlNEQTkiKSwNCisJCU1US19GVU5DVElPTigzLCAiUFdNXzEiKSwNCisJCU1US19GVU5D VElPTig0LCAiRFBJX0QxMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJDTEtNMSIpLA0KKwkJTVRL X0ZVTkNUSU9OKDYsICJEQVBfTUQzMl9TV0NLIikNCisJKSwNCisJTVRLX1BJTigNCisJCTQyLCAi R1BJTzQyIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDQyKSwNCisJCURSVl9HUlA0LA0KKwkJ TVRLX0ZVTkNUSU9OKDAsICJHUElPNDIiKSwNCisJCU1US19GVU5DVElPTigxLCAiRElTUF9QV00i KQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNDMsICJHUElPNDMiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJ T04oMCwgNDMpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU80MyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDEsICJEU0lfVEUiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNDQsICJH UElPNDQiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgNDQpLA0KKwkJRFJWX0dSUDQsDQorCQlN VEtfRlVOQ1RJT04oMCwgIkdQSU80NCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJMQ01fUlNUIikN CisJKSwNCisJTVRLX1BJTigNCisJCTQ1LCAiR1BJTzQ1IiwNCisJCU1US19FSU5UX0ZVTkNUSU9O KDAsIDQ1KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPNDUiKSwNCisJ CU1US19GVU5DVElPTigxLCAiU0NMNiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJTQ1BfU0NMMCIp LA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJTQ1BfU0NMMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJT Q0xfNjMwNiIpDQorCSksDQorCU1US19QSU4oDQorCQk0NiwgIkdQSU80NiIsDQorCQlNVEtfRUlO VF9GVU5DVElPTigwLCA0NiksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzQ2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNEQTYiKSwNCisJCU1US19GVU5DVElPTigyLCAi U0NQX1NEQTAiKSwNCisJCU1US19GVU5DVElPTigzLCAiU0NQX1NEQTEiKSwNCisJCU1US19GVU5D VElPTig0LCAiU0RBXzYzMDYiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNDcsICJHUElPNDciLA0K KwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgNDcpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJ T04oMCwgIkdQSU80NyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTUEkxX0FfTUkiKSwNCisJCU1U S19GVU5DVElPTigyLCAiU0NQX1NQSTFfQV9NSSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJLUENP TDIiKSwNCisJCU1US19GVU5DVElPTig0LCAiTURfVVJYRDAiKSwNCisJCU1US19GVU5DVElPTig1 LCAiQ09OTl9VQVJUMF9SWEQiKSwNCisJCU1US19GVU5DVElPTig2LCAiU1NQTV9VUlhEX0FPIiks DQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQjMyIikNCisJKSwNCisJTVRLX1BJTigNCisJ CTQ4LCAiR1BJTzQ4IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDQ4KSwNCisJCURSVl9HUlA0 LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPNDgiKSwNCisJCU1US19GVU5DVElPTigxLCAiU1BJ MV9BX0NTQiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJTQ1BfU1BJMV9BX0NTIiksDQorCQlNVEtf RlVOQ1RJT04oMywgIktQUk9XMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJNRF9VVFhEMCIpLA0K KwkJTVRLX0ZVTkNUSU9OKDUsICJDT05OX1VBUlQwX1RYRCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYs ICJTU1BNX1VUWERfQU8iKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01PTl9CMzEiKQ0KKwkp LA0KKwlNVEtfUElOKA0KKwkJNDksICJHUElPNDkiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwg NDkpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU80OSIpLA0KKwkJTVRL X0ZVTkNUSU9OKDEsICJTUEkxX0FfTU8iKSwNCisJCU1US19GVU5DVElPTigyLCAiU0NQX1NQSTFf QV9NTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJVQ1RTMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQs ICJNRF9VUlhEMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJQV01fMSIpLA0KKwkJTVRLX0ZVTkNU SU9OKDYsICJUUF9VUlhEMl9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0IzMCIp DQorCSksDQorCU1US19QSU4oDQorCQk1MCwgIkdQSU81MCIsDQorCQlNVEtfRUlOVF9GVU5DVElP TigwLCA1MCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzUwIiksDQor CQlNVEtfRlVOQ1RJT04oMSwgIlNQSTFfQV9DTEsiKSwNCisJCU1US19GVU5DVElPTigyLCAiU0NQ X1NQSTFfQV9DSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJVUlRTMCIpLA0KKwkJTVRLX0ZVTkNU SU9OKDQsICJNRF9VVFhEMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJXSUZJX1RYRCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDYsICJUUF9VVFhEMl9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdf TU9OX0IyOSIpDQorCSksDQorCU1US19QSU4oDQorCQk1MSwgIkdQSU81MSIsDQorCQlNVEtfRUlO VF9GVU5DVElPTigwLCA1MSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzUxIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNDTDAiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJ NTIsICJHUElPNTIiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgNTIpLA0KKwkJRFJWX0dSUDQs DQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU81MiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTREEw IikNCisJKSwNCisJTVRLX1BJTigNCisJCTUzLCAiR1BJTzUzIiwNCisJCU1US19FSU5UX0ZVTkNU SU9OKDAsIDUzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPNTMiKSwN CisJCU1US19GVU5DVElPTigxLCAiVVJYRDAiKSwNCisJCU1US19GVU5DVElPTigyLCAiVVRYRDAi KSwNCisJCU1US19GVU5DVElPTigzLCAiTURfVVJYRDAiKSwNCisJCU1US19GVU5DVElPTig0LCAi TURfVVJYRDEiKSwNCisJCU1US19GVU5DVElPTig1LCAiU1NQTV9VUlhEX0FPIiksDQorCQlNVEtf RlVOQ1RJT04oNywgIkNPTk5fVUFSVDBfUlhEIikNCisJKSwNCisJTVRLX1BJTigNCisJCTU0LCAi R1BJTzU0IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDU0KSwNCisJCURSVl9HUlA0LA0KKwkJ TVRLX0ZVTkNUSU9OKDAsICJHUElPNTQiKSwNCisJCU1US19GVU5DVElPTigxLCAiVVRYRDAiKSwN CisJCU1US19GVU5DVElPTigyLCAiVVJYRDAiKSwNCisJCU1US19GVU5DVElPTigzLCAiTURfVVRY RDAiKSwNCisJCU1US19GVU5DVElPTig0LCAiTURfVVRYRDEiKSwNCisJCU1US19GVU5DVElPTig1 LCAiU1NQTV9VVFhEX0FPIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIldJRklfVFhEIiksDQorCQlN VEtfRlVOQ1RJT04oNywgIkNPTk5fVUFSVDBfVFhEIikNCisJKSwNCisJTVRLX1BJTigNCisJCTU1 LCAiR1BJTzU1IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDU1KSwNCisJCURSVl9HUlA0LA0K KwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPNTUiKSwNCisJCU1US19GVU5DVElPTigxLCAiU0NMMyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJTQ1BfU0NMMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJT Q1BfU0NMMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJTQ0xfNjMwNiIpDQorCSksDQorCU1US19Q SU4oDQorCQk1NiwgIkdQSU81NiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCA1NiksDQorCQlE UlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzU2IiksDQorCQlNVEtfRlVOQ1RJT04o MSwgIlNEQTMiKSwNCisJCU1US19GVU5DVElPTigyLCAiU0NQX1NEQTAiKSwNCisJCU1US19GVU5D VElPTigzLCAiU0NQX1NEQTEiKSwNCisJCU1US19GVU5DVElPTig0LCAiU0RBXzYzMDYiKQ0KKwkp LA0KKwlNVEtfUElOKA0KKwkJNTcsICJHUElPNTciLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwg NTcpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU81NyIpLA0KKwkJTVRL X0ZVTkNUSU9OKDEsICJLUFJPVzEiKSwNCisJCU1US19GVU5DVElPTigyLCAiUFdNXzEiKSwNCisJ CU1US19GVU5DVElPTigzLCAiRFZGU1JDX0VYVF9SRVEiKSwNCisJCU1US19GVU5DVElPTig0LCAi Q0xLTTEiKSwNCisJCU1US19GVU5DVElPTig1LCAiSURESUciKSwNCisJCU1US19GVU5DVElPTig2 LCAiQ09OTl9UQ1hPRU5BX1JFUSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJNQklTVFJFQURFTl9U UklHR0VSIikNCisJKSwNCisJTVRLX1BJTigNCisJCTU4LCAiR1BJTzU4IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDU4KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElP NTgiKSwNCisJCU1US19GVU5DVElPTigxLCAiS1BST1cwIiksDQorCQlNVEtfRlVOQ1RJT04oNywg IkRCR19NT05fQjI4IikNCisJKSwNCisJTVRLX1BJTigNCisJCTU5LCAiR1BJTzU5IiwNCisJCU1U S19FSU5UX0ZVTkNUSU9OKDAsIDU5KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAs ICJHUElPNTkiKSwNCisJCU1US19GVU5DVElPTigxLCAiS1BDT0wwIiksDQorCQlNVEtfRlVOQ1RJ T04oNywgIkRCR19NT05fQjI3IikNCisJKSwNCisJTVRLX1BJTigNCisJCTYwLCAiR1BJTzYwIiwN CisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDYwKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNU SU9OKDAsICJHUElPNjAiKSwNCisJCU1US19GVU5DVElPTigxLCAiS1BDT0wxIiksDQorCQlNVEtf RlVOQ1RJT04oMiwgIlBXTV8yIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlVDVFMxIiksDQorCQlN VEtfRlVOQ1RJT04oNCwgIkNMS00yIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlVTQl9EUlZWQlVT IiksDQorCQlNVEtfRlVOQ1RJT04oNywgIk1CSVNUV1JJVEVFTl9UUklHR0VSIikNCisJKSwNCisJ TVRLX1BJTigNCisJCTYxLCAiR1BJTzYxIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDYxKSwN CisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPNjEiKSwNCisJCU1US19GVU5D VElPTigxLCAiU0NMMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJTQ1BfU0NMMCIpLA0KKwkJTVRL X0ZVTkNUSU9OKDMsICJTQ1BfU0NMMSIpDQorCSksDQorCU1US19QSU4oDQorCQk2MiwgIkdQSU82 MiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCA2MiksDQorCQlEUlZfR1JQNCwNCisJCU1US19G VU5DVElPTigwLCAiR1BJTzYyIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNEQTEiKSwNCisJCU1U S19GVU5DVElPTigyLCAiU0NQX1NEQTAiKSwNCisJCU1US19GVU5DVElPTigzLCAiU0NQX1NEQTEi KQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNjMsICJHUElPNjMiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJ T04oMCwgNjMpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU82MyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDEsICJTUEkyX01JIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNDUF9T UEkyX01JIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIktQQ09MMiIpLA0KKwkJTVRLX0ZVTkNUSU9O KDQsICJNUkdfREkiKSwNCisJCU1US19GVU5DVElPTig1LCAiTURfVVJYRDAiKSwNCisJCU1US19G VU5DVElPTig2LCAiQ09OTl9VQVJUMF9SWEQiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01P Tl9CMjYiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNjQsICJHUElPNjQiLA0KKwkJTVRLX0VJTlRf RlVOQ1RJT04oMCwgNjQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU82 NCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTUEkyX0NTQiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIs ICJTQ1BfU1BJMl9DUyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJLUFJPVzIiKSwNCisJCU1US19G VU5DVElPTig0LCAiTVJHX1NZTkMiKSwNCisJCU1US19GVU5DVElPTig1LCAiTURfVVRYRDAiKSwN CisJCU1US19GVU5DVElPTig2LCAiQ09OTl9VQVJUMF9UWEQiKSwNCisJCU1US19GVU5DVElPTig3 LCAiREJHX01PTl9CMjUiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNjUsICJHUElPNjUiLA0KKwkJ TVRLX0VJTlRfRlVOQ1RJT04oMCwgNjUpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU82NSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTUEkyX01PIiksDQorCQlNVEtfRlVO Q1RJT04oMiwgIlNDUF9TUEkyX01PIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNDUF9TREExIiks DQorCQlNVEtfRlVOQ1RJT04oNCwgIk1SR19ETyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJNRF9V UlhEMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJQV01fMyIpDQorCSksDQorCU1US19QSU4oDQor CQk2NiwgIkdQSU82NiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCA2NiksDQorCQlEUlZfR1JQ NCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzY2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNQ STJfQ0xLIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNDUF9TUEkyX0NLIiksDQorCQlNVEtfRlVO Q1RJT04oMywgIlNDUF9TQ0wxIiksDQorCQlNVEtfRlVOQ1RJT04oNCwgIk1SR19DTEsiKSwNCisJ CU1US19GVU5DVElPTig1LCAiTURfVVRYRDEiKSwNCisJCU1US19GVU5DVElPTig2LCAiV0lGSV9U WEQiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNjcsICJHUElPNjciLA0KKwkJTVRLX0VJTlRfRlVO Q1RJT04oMCwgNjcpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU82NyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJJMlMzX0xSQ0siKSwNCisJCU1US19GVU5DVElPTigyLCAi STJTMV9MUkNLIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlVSWEQxIiksDQorCQlNVEtfRlVOQ1RJ T04oNCwgIlBDTTBfU1lOQyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJJMlM1X0xSQ0siKSwNCisJ CU1US19GVU5DVElPTig2LCAiQU5UX1NFTDkiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01P Tl9CMTAiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNjgsICJHUElPNjgiLA0KKwkJTVRLX0VJTlRf RlVOQ1RJT04oMCwgNjgpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU82 OCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJJMlMzX0RPIiksDQorCQlNVEtfRlVOQ1RJT04oMiwg IkkyUzFfRE8iKSwNCisJCU1US19GVU5DVElPTigzLCAiVVRYRDEiKSwNCisJCU1US19GVU5DVElP Tig0LCAiUENNMF9ETyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJJMlM1X0RPIiksDQorCQlNVEtf RlVOQ1RJT04oNiwgIkFOVF9TRUwxMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0I5 IikNCisJKSwNCisJTVRLX1BJTigNCisJCTY5LCAiR1BJTzY5IiwNCisJCU1US19FSU5UX0ZVTkNU SU9OKDAsIDY5KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPNjkiKSwN CisJCU1US19GVU5DVElPTigxLCAiSTJTM19NQ0siKSwNCisJCU1US19GVU5DVElPTigyLCAiSTJT MV9NQ0siKSwNCisJCU1US19GVU5DVElPTigzLCAiVVJUUzEiKSwNCisJCU1US19GVU5DVElPTig0 LCAiQUdQU19TWU5DIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkkyUzVfTUNLIiksDQorCQlNVEtf RlVOQ1RJT04oNiwgIkRWRlNSQ19FWFRfUkVRIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19N T05fQjgiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNzAsICJHUElPNzAiLA0KKwkJTVRLX0VJTlRf RlVOQ1RJT04oMCwgNzApLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU83 MCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJJMlMwX0RJIiksDQorCQlNVEtfRlVOQ1RJT04oMiwg IkkyUzJfREkiKSwNCisJCU1US19GVU5DVElPTigzLCAiS1BDT0wyIiksDQorCQlNVEtfRlVOQ1RJ T04oNCwgIlBDTTBfREkiKSwNCisJCU1US19GVU5DVElPTig1LCAiSTJTMl9ESTIiKSwNCisJCU1U S19GVU5DVElPTig2LCAiQU5UX1NFTDExIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05f QjciKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNzEsICJHUElPNzEiLA0KKwkJTVRLX0VJTlRfRlVO Q1RJT04oMCwgNzEpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU83MSIp LA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJJMlMzX0JDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJJ MlMxX0JDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJLUFJPVzIiKSwNCisJCU1US19GVU5DVElP Tig0LCAiUENNMF9DTEsiKSwNCisJCU1US19GVU5DVElPTig1LCAiSTJTNV9CQ0siKSwNCisJCU1U S19GVU5DVElPTig2LCAiQU5UX1NFTDEyIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05f QjYiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNzIsICJHUElPNzIiLA0KKwkJTVRLX0VJTlRfRlVO Q1RJT04oMCwgNzIpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU83MiIp LA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJCUElfQlVTMTlfT0xBVDAiKSwNCisJCU1US19GVU5DVElP TigyLCAiQ09OTl9CUElfQlVTMTlfT0xBVDAiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJNzMsICJH UElPNzMiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgNzMpLA0KKwkJRFJWX0dSUDQsDQorCQlN VEtfRlVOQ1RJT04oMCwgIkdQSU83MyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJCUElfQlVTMThf UEFfVk0xIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5fTUlQSTVfU0NMSyIpLA0KKwkJTVRL X0ZVTkNUSU9OKDMsICJNSVBJNV9TQ0xLIikNCisJKSwNCisJTVRLX1BJTigNCisJCTc0LCAiR1BJ Tzc0IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDc0KSwNCisJCURSVl9HUlA0LA0KKwkJTVRL X0ZVTkNUSU9OKDAsICJHUElPNzQiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzE3X1BB X1ZNMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJDT05OX01JUEk1X1NEQVRBIiksDQorCQlNVEtf RlVOQ1RJT04oMywgIk1JUEk1X1NEQVRBIikNCisJKSwNCisJTVRLX1BJTigNCisJCTc1LCAiR1BJ Tzc1IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDc1KSwNCisJCURSVl9HUlA0LA0KKwkJTVRL X0ZVTkNUSU9OKDAsICJHUElPNzUiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzIwX09M QVQxIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5fQlBJX0JVUzIwX09MQVQxIiksDQorCQlN VEtfRlVOQ1RJT04oMywgIlJGSUMwX0JTSV9EMiIpDQorCSksDQorCU1US19QSU4oDQorCQk3Niwg IkdQSU83NiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCA3NiksDQorCQlEUlZfR1JQNCwNCisJ CU1US19GVU5DVElPTigwLCAiR1BJTzc2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlJGSUMwX0JT SV9EMSIpDQorCSksDQorCU1US19QSU4oDQorCQk3NywgIkdQSU83NyIsDQorCQlNVEtfRUlOVF9G VU5DVElPTigwLCA3NyksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzc3 IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlJGSUMwX0JTSV9EMCIpDQorCSksDQorCU1US19QSU4o DQorCQk3OCwgIkdQSU83OCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCA3OCksDQorCQlEUlZf R1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzc4IiksDQorCQlNVEtfRlVOQ1RJT04oMSwg IkJQSV9CVVM3IiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQjI0IikNCisJKSwNCisJ TVRLX1BJTigNCisJCTc5LCAiR1BJTzc5IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDc5KSwN CisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPNzkiKSwNCisJCU1US19GVU5D VElPTigxLCAiQlBJX0JVUzYiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01PTl9CMjMiKQ0K KwkpLA0KKwlNVEtfUElOKA0KKwkJODAsICJHUElPODAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04o MCwgODApLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU84MCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJCUElfQlVTOCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9O X0IyMiIpDQorCSksDQorCU1US19QSU4oDQorCQk4MSwgIkdQSU84MSIsDQorCQlNVEtfRUlOVF9G VU5DVElPTigwLCA4MSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzgx IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkJQSV9CVVM5IiksDQorCQlNVEtfRlVOQ1RJT04oNywg IkRCR19NT05fQjIxIikNCisJKSwNCisJTVRLX1BJTigNCisJCTgyLCAiR1BJTzgyIiwNCisJCU1U S19FSU5UX0ZVTkNUSU9OKDAsIDgyKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAs ICJHUElPODIiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzEwIiksDQorCQlNVEtfRlVO Q1RJT04oNywgIkRCR19NT05fQjIwIikNCisJKSwNCisJTVRLX1BJTigNCisJCTgzLCAiR1BJTzgz IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDgzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZV TkNUSU9OKDAsICJHUElPODMiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzExIiksDQor CQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQjE5IikNCisJKSwNCisJTVRLX1BJTigNCisJCTg0 LCAiR1BJTzg0IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDg0KSwNCisJCURSVl9HUlA0LA0K KwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPODQiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JV UzEyIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5fQlBJX0JVUzEyIikNCisJKSwNCisJTVRL X1BJTigNCisJCTg1LCAiR1BJTzg1IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDg1KSwNCisJ CURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPODUiKSwNCisJCU1US19GVU5DVElP TigxLCAiQlBJX0JVUzEzIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5fQlBJX0JVUzEzIikN CisJKSwNCisJTVRLX1BJTigNCisJCTg2LCAiR1BJTzg2IiwNCisJCU1US19FSU5UX0ZVTkNUSU9O KDAsIDg2KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPODYiKSwNCisJ CU1US19GVU5DVElPTigxLCAiQlBJX0JVUzE0IiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5f QlBJX0JVUzE0IikNCisJKSwNCisJTVRLX1BJTigNCisJCTg3LCAiR1BJTzg3IiwNCisJCU1US19F SU5UX0ZVTkNUSU9OKDAsIDg3KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJH UElPODciKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzE1IiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIkNPTk5fQlBJX0JVUzE1IikNCisJKSwNCisJTVRLX1BJTigNCisJCTg4LCAiR1BJTzg4 IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDg4KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZV TkNUSU9OKDAsICJHUElPODgiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzE2IiksDQor CQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5fQlBJX0JVUzE2IikNCisJKSwNCisJTVRLX1BJTigNCisJ CTg5LCAiR1BJTzg5IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDg5KSwNCisJCURSVl9HUlA0 LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPODkiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJ X0JVUzUiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01PTl9CMTgiKQ0KKwkpLA0KKwlNVEtf UElOKA0KKwkJOTAsICJHUElPOTAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgOTApLA0KKwkJ RFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU85MCIpLA0KKwkJTVRLX0ZVTkNUSU9O KDEsICJCUElfQlVTNCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0IxNyIpDQorCSks DQorCU1US19QSU4oDQorCQk5MSwgIkdQSU85MSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCA5 MSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzkxIiksDQorCQlNVEtf RlVOQ1RJT04oMSwgIkJQSV9CVVMzIikNCisJKSwNCisJTVRLX1BJTigNCisJCTkyLCAiR1BJTzky IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDkyKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZV TkNUSU9OKDAsICJHUElPOTIiKSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzIiKSwNCisJ CU1US19GVU5DVElPTig3LCAiREJHX01PTl9CMTYiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJOTMs ICJHUElPOTMiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgOTMpLA0KKwkJRFJWX0dSUDQsDQor CQlNVEtfRlVOQ1RJT04oMCwgIkdQSU85MyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJCUElfQlVT MSIpDQorCSksDQorCU1US19QSU4oDQorCQk5NCwgIkdQSU85NCIsDQorCQlNVEtfRUlOVF9GVU5D VElPTigwLCA5NCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzk0Iiks DQorCQlNVEtfRlVOQ1RJT04oMSwgIkJQSV9CVVMwIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRC R19NT05fQjE1IikNCisJKSwNCisJTVRLX1BJTigNCisJCTk1LCAiR1BJTzk1IiwNCisJCU1US19F SU5UX0ZVTkNUSU9OKDAsIDk1KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJH UElPOTUiKSwNCisJCU1US19GVU5DVElPTigxLCAiTUlQSTBfU0RBVEEiKQ0KKwkpLA0KKwlNVEtf UElOKA0KKwkJOTYsICJHUElPOTYiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgOTYpLA0KKwkJ RFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU85NiIpLA0KKwkJTVRLX0ZVTkNUSU9O KDEsICJNSVBJMF9TQ0xLIikNCisJKSwNCisJTVRLX1BJTigNCisJCTk3LCAiR1BJTzk3IiwNCisJ CU1US19FSU5UX0ZVTkNUSU9OKDAsIDk3KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9O KDAsICJHUElPOTciKSwNCisJCU1US19GVU5DVElPTigxLCAiTUlQSTFfU0RBVEEiKQ0KKwkpLA0K KwlNVEtfUElOKA0KKwkJOTgsICJHUElPOTgiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgOTgp LA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU85OCIpLA0KKwkJTVRLX0ZV TkNUSU9OKDEsICJNSVBJMV9TQ0xLIikNCisJKSwNCisJTVRLX1BJTigNCisJCTk5LCAiR1BJTzk5 IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDk5KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZV TkNUSU9OKDAsICJHUElPOTkiKSwNCisJCU1US19GVU5DVElPTigxLCAiTUlQSTJfU0NMSyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0IxNCIpDQorCSksDQorCU1US19QSU4oDQorCQkx MDAsICJHUElPMTAwIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDEwMCksDQorCQlEUlZfR1JQ NCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEwMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJN SVBJMl9TREFUQSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0IxMyIpDQorCSksDQor CU1US19QSU4oDQorCQkxMDEsICJHUElPMTAxIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDEw MSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEwMSIpLA0KKwkJTVRL X0ZVTkNUSU9OKDEsICJNSVBJM19TQ0xLIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05f QjEyIikNCisJKSwNCisJTVRLX1BJTigNCisJCTEwMiwgIkdQSU8xMDIiLA0KKwkJTVRLX0VJTlRf RlVOQ1RJT04oMCwgMTAyKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElP MTAyIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1JUEkzX1NEQVRBIiksDQorCQlNVEtfRlVOQ1RJ T04oNywgIkRCR19NT05fQjExIikNCisJKSwNCisJTVRLX1BJTigNCisJCTEwMywgIkdQSU8xMDMi LA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTAzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZV TkNUSU9OKDAsICJHUElPMTAzIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1JUEk0X1NDTEsiKSwN CisJCU1US19GVU5DVElPTigyLCAiQ09OTl9NSVBJNF9TQ0xLIikNCisJKSwNCisJTVRLX1BJTigN CisJCTEwNCwgIkdQSU8xMDQiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTA0KSwNCisJCURS Vl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTA0IiksDQorCQlNVEtfRlVOQ1RJT04o MSwgIk1JUEk0X1NEQVRBIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5fTUlQSTRfU0RBVEEi KQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTA1LCAiR1BJTzEwNSIsDQorCQlNVEtfRUlOVF9GVU5D VElPTigwLCAxMDUpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMDUi KSwNCisJCU1US19GVU5DVElPTigxLCAiQlBJX0JVUzIyX09MQVQzIiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIkNPTk5fQlBJX0JVUzIyX09MQVQzIikNCisJKSwNCisJTVRLX1BJTigNCisJCTEwNiwg IkdQSU8xMDYiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTA2KSwNCisJCURSVl9HUlA0LA0K KwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTA2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkJQSV9C VVMyMV9PTEFUMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJDT05OX0JQSV9CVVMyMV9PTEFUMiIp DQorCSksDQorCU1US19QSU4oDQorCQkxMDcsICJHUElPMTA3IiwNCisJCU1US19FSU5UX0ZVTkNU SU9OKDAsIDEwNyksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEwNyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJCUElfQlVTMjRfQU5UMSIpLA0KKwkJTVRLX0ZVTkNUSU9O KDIsICJDT05OX0JQSV9CVVMyNF9BTlQxIikNCisJKSwNCisJTVRLX1BJTigNCisJCTEwOCwgIkdQ SU8xMDgiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTA4KSwNCisJCURSVl9HUlA0LA0KKwkJ TVRLX0ZVTkNUSU9OKDAsICJHUElPMTA4IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkJQSV9CVVMy NV9BTlQyIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNPTk5fQlBJX0JVUzI1X0FOVDIiKQ0KKwkp LA0KKwlNVEtfUElOKA0KKwkJMTA5LCAiR1BJTzEwOSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigw LCAxMDkpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMDkiKSwNCisJ CU1US19GVU5DVElPTigxLCAiQlBJX0JVUzIzX0FOVDAiKSwNCisJCU1US19GVU5DVElPTigyLCAi Q09OTl9CUElfQlVTMjNfQU5UMCIpDQorCSksDQorCU1US19QSU4oDQorCQkxMTAsICJHUElPMTEw IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDExMCksDQorCQlEUlZfR1JQNCwNCisJCU1US19G VU5DVElPTigwLCAiR1BJTzExMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJTQ0w0IikNCisJKSwN CisJTVRLX1BJTigNCisJCTExMSwgIkdQSU8xMTEiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwg MTExKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTExIiksDQorCQlN VEtfRlVOQ1RJT04oMSwgIlNEQTQiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTEyLCAiR1BJTzEx MiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxMTIpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtf RlVOQ1RJT04oMCwgIkdQSU8xMTIiKSwNCisJCU1US19GVU5DVElPTigxLCAiU0NMMiIpDQorCSks DQorCU1US19QSU4oDQorCQkxMTMsICJHUElPMTEzIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAs IDExMyksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzExMyIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJTREEyIikNCisJKSwNCisJTVRLX1BJTigNCisJCTExNCwgIkdQSU8x MTQiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTE0KSwNCisJCURSVl9HUlA0LA0KKwkJTVRL X0ZVTkNUSU9OKDAsICJHUElPMTE0IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkNMS00wIiksDQor CQlNVEtfRlVOQ1RJT04oMiwgIlNQSTNfTUkiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01P Tl9CNSIpDQorCSksDQorCU1US19QSU4oDQorCQkxMTUsICJHUElPMTE1IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDExNSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzExNSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDTEtNMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIs ICJTUEkzX0NTQiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0I0IikNCisJKSwNCisJ TVRLX1BJTigNCisJCTExNiwgIkdQSU8xMTYiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTE2 KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTE2IiksDQorCQlNVEtf RlVOQ1RJT04oMSwgIkNNTUNMSzAiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01PTl9CMyIp DQorCSksDQorCU1US19QSU4oDQorCQkxMTcsICJHUElPMTE3IiwNCisJCU1US19FSU5UX0ZVTkNU SU9OKDAsIDExNyksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzExNyIp LA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDTU1DTEsxIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkRW RlNSQ19FWFRfUkVRIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQjIiKQ0KKwkpLA0K KwlNVEtfUElOKA0KKwkJMTE4LCAiR1BJTzExOCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAx MTgpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMTgiKSwNCisJCU1U S19GVU5DVElPTigxLCAiQ0xLTTIiKSwNCisJCU1US19GVU5DVElPTigyLCAiU1BJM19NTyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0IxIikNCisJKSwNCisJTVRLX1BJTigNCisJCTEx OSwgIkdQSU8xMTkiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTE5KSwNCisJCURSVl9HUlA0 LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTE5IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkNM S00zIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNQSTNfQ0xLIiksDQorCQlNVEtfRlVOQ1RJT04o NywgIkRCR19NT05fQjAiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTIwLCAiR1BJTzEyMCIsDQor CQlNVEtfRUlOVF9GVU5DVElPTigwLCAxMjApLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJ T04oMCwgIkdQSU8xMjAiKSwNCisJCU1US19GVU5DVElPTigxLCAiQ01NQ0xLMiIpLA0KKwkJTVRL X0ZVTkNUSU9OKDIsICJDTEtNMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJBTlRfU0VMMTIiKSwN CisJCU1US19GVU5DVElPTig3LCAiVFBfVUNUUzJfQU8iKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJ MTIxLCAiR1BJTzEyMSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxMjEpLA0KKwkJRFJWX0dS UDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMjEiKSwNCisJCU1US19GVU5DVElPTigxLCAi Q01NQ0xLMyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJDTEtNMyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDMsICJEVkZTUkNfRVhUX1JFUSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJBTlRfU0VMMTEiKSwN CisJCU1US19GVU5DVElPTig3LCAiVFBfVVJUUzJfQU8iKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJ MTIyLCAiR1BJTzEyMiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxMjIpLA0KKwkJRFJWX0dS UDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMjIiKSwNCisJCU1US19GVU5DVElPTigxLCAi Q01WUkVGMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJQQ00wX1NZTkMiKSwNCisJCU1US19GVU5D VElPTigzLCAiU1JDTEtFTkFJMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJBR1BTX1NZTkMiKSwN CisJCU1US19GVU5DVElPTig1LCAiUFdNXzEiKSwNCisJCU1US19GVU5DVElPTig2LCAiQU5UX1NF TDkiKSwNCisJCU1US19GVU5DVElPTig3LCAiVFBfVUNUUzFfQU8iKQ0KKwkpLA0KKwlNVEtfUElO KA0KKwkJMTIzLCAiR1BJTzEyMyIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxMjMpLA0KKwkJ RFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMjMiKSwNCisJCU1US19GVU5DVElP TigyLCAiUENNMF9ESSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJBRFNQX0pUQUdfVFJTVE4iKSwN CisJCU1US19GVU5DVElPTig0LCAiVlBVX1VESV9OVFJTVCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUs ICJTUE1fSlRBR19UUlNUTiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJTU1BNX0pUQUdfVFJTVE4i KQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTI0LCAiR1BJTzEyNCIsDQorCQlNVEtfRUlOVF9GVU5D VElPTigwLCAxMjQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMjQi KSwNCisJCU1US19GVU5DVElPTigxLCAiQ01WUkVGMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJQ Q00wX0NMSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJNRF9JTlQwIiksDQorCQlNVEtfRlVOQ1RJ T04oNCwgIkVYVF9GUkFNRV9TWU5DIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlBXTV8yIiksDQor CQlNVEtfRlVOQ1RJT04oNiwgIkFOVF9TRUwxMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJUUF9V UlRTMV9BTyIpDQorCSksDQorCU1US19QSU4oDQorCQkxMjUsICJHUElPMTI1IiwNCisJCU1US19F SU5UX0ZVTkNUSU9OKDAsIDEyNSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAi R1BJTzEyNSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDTVZSRUYzIiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIlBDTTBfRE8iKSwNCisJCU1US19GVU5DVElPTigzLCAiQURTUF9KVEFHX1RNUyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDQsICJWUFVfVURJX1RNUyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJT UE1fSlRBR19UTVMiKSwNCisJCU1US19GVU5DVElPTig2LCAiU1NQTV9KVEFHX1RNUyIpDQorCSks DQorCU1US19QSU4oDQorCQkxMjYsICJHUElPMTI2IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAs IDEyNiksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEyNiIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJDTVZSRUY0IiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNNRkxBU0gw IiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIkNPTk5fTUNVX0FJQ0VfVE1TQyIpDQorCSksDQorCU1U S19QSU4oDQorCQkxMjcsICJHUElPMTI3IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDEyNyks DQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEyNyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDEsICJDTVZSRUYwIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkNNRkxBU0gxIiksDQor CQlNVEtfRlVOQ1RJT04oNiwgIkNPTk5fTUNVX0FJQ0VfVENLQyIpDQorCSksDQorCU1US19QSU4o DQorCQkxMjgsICJHUElPMTI4IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDEyOCksDQorCQlE UlZfR1JQMCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEyOCIpLA0KKwkJTVRLX0ZVTkNUSU9O KDEsICJNRDFfU0lNMV9TSU8iKSwNCisJCU1US19GVU5DVElPTigyLCAiTUQxX1NJTTJfU0lPIiks DQorCQlNVEtfRlVOQ1RJT04oMywgIkNDVV9KVEFHX1RSU1QiKSwNCisJCU1US19GVU5DVElPTig0 LCAiQ09OTl9EU1BfSklOVFAiKSwNCisJCU1US19GVU5DVElPTig1LCAiU0NQX0pUQUdfVFJTVE4i KSwNCisJCU1US19GVU5DVElPTig2LCAiTFZUU19GT1VUIiksDQorCQlNVEtfRlVOQ1RJT04oNywg IkRCR19NT05fQTMiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTI5LCAiR1BJTzEyOSIsDQorCQlN VEtfRUlOVF9GVU5DVElPTigwLCAxMjkpLA0KKwkJRFJWX0dSUDAsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8xMjkiKSwNCisJCU1US19GVU5DVElPTigxLCAiTUQxX1NJTTFfU1JTVCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDIsICJNRDFfU0lNMl9TUlNUIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkND VV9KVEFHX1RDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJDT05OX0RTUF9KQ0siKSwNCisJCU1U S19GVU5DVElPTig1LCAiU0NQX0pUQUdfVENLIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIkxWVFNf U0RPIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQTQiKQ0KKwkpLA0KKwlNVEtfUElO KA0KKwkJMTMwLCAiR1BJTzEzMCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxMzApLA0KKwkJ RFJWX0dSUDAsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMzAiKSwNCisJCU1US19GVU5DVElP TigxLCAiTUQxX1NJTTFfU0NMSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJNRDFfU0lNMl9TQ0xL IiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIkxWVFNfMjZNIiksDQorCQlNVEtfRlVOQ1RJT04oNywg IkRCR19NT05fQTUiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTMxLCAiR1BJTzEzMSIsDQorCQlN VEtfRUlOVF9GVU5DVElPTigwLCAxMzEpLA0KKwkJRFJWX0dSUDAsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8xMzEiKSwNCisJCU1US19GVU5DVElPTigxLCAiTUQxX1NJTTJfU0NMSyIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDIsICJNRDFfU0lNMV9TQ0xLIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkND VV9KVEFHX1RESSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJDT05OX0RTUF9KREkiKSwNCisJCU1U S19GVU5DVElPTig1LCAiU0NQX0pUQUdfVERJIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIkxWVFNf U0NLIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQTAiKQ0KKwkpLA0KKwlNVEtfUElO KA0KKwkJMTMyLCAiR1BJTzEzMiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxMzIpLA0KKwkJ RFJWX0dSUDAsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xMzIiKSwNCisJCU1US19GVU5DVElP TigxLCAiTUQxX1NJTTJfU1JTVCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJNRDFfU0lNMV9TUlNU IiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkNDVV9KVEFHX1RNUyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDQsICJDT05OX0RTUF9KTVMiKSwNCisJCU1US19GVU5DVElPTig1LCAiU0NQX0pUQUdfVE1TIiks DQorCQlNVEtfRlVOQ1RJT04oNiwgIkxWVFNfU0RJIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRC R19NT05fQTEiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTMzLCAiR1BJTzEzMyIsDQorCQlNVEtf RUlOVF9GVU5DVElPTigwLCAxMzMpLA0KKwkJRFJWX0dSUDAsDQorCQlNVEtfRlVOQ1RJT04oMCwg IkdQSU8xMzMiKSwNCisJCU1US19GVU5DVElPTigxLCAiTUQxX1NJTTJfU0lPIiksDQorCQlNVEtf RlVOQ1RJT04oMiwgIk1EMV9TSU0xX1NJTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJDQ1VfSlRB R19URE8iKSwNCisJCU1US19GVU5DVElPTig0LCAiQ09OTl9EU1BfSkRPIiksDQorCQlNVEtfRlVO Q1RJT04oNSwgIlNDUF9KVEFHX1RETyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJMVlRTX1NDRiIp LA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0EyIikNCisJKSwNCisJTVRLX1BJTigNCisJ CTEzNCwgIkdQSU8xMzQiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTM0KSwNCisJCURSVl9H UlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTM0IiksDQorCQlNVEtfRlVOQ1RJT04oMSwg Ik1TREMxX0NMSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJQQ00xX0NMSyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDMsICJTUEk1X0JfTUkiKSwNCisJCU1US19GVU5DVElPTig0LCAiVURJX1RDSyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDUsICJDT05OX0RTUF9KQ0siKSwNCisJCU1US19GVU5DVElPTig2LCAi SVBVX0pUQUdfVENLIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkpUQ0tfU0VMMyIpDQorCSksDQor CU1US19QSU4oDQorCQkxMzUsICJHUElPMTM1IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDEz NSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEzNSIpLA0KKwkJTVRL X0ZVTkNUSU9OKDEsICJNU0RDMV9DTUQiKSwNCisJCU1US19GVU5DVElPTigyLCAiUENNMV9TWU5D IiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNQSTVfQl9DU0IiKSwNCisJCU1US19GVU5DVElPTig0 LCAiVURJX1RNUyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJDT05OX0RTUF9KTVMiKSwNCisJCU1U S19GVU5DVElPTig2LCAiSVBVX0pUQUdfVE1TIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkpUTVNf U0VMMyIpDQorCSksDQorCU1US19QSU4oDQorCQkxMzYsICJHUElPMTM2IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDEzNiksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzEzNiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJNU0RDMV9EQVQzIiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIlBDTTFfREkiKSwNCisJCU1US19GVU5DVElPTigzLCAiU1BJNV9CX01PIiksDQorCQlN VEtfRlVOQ1RJT04oNCwgIkNPTk5fVENYT0VOQV9SRVEiKSwNCisJCU1US19GVU5DVElPTig1LCAi Q09OTl9EU1BfSklOVFAiKSwNCisJCU1US19GVU5DVElPTig2LCAiQ09OTl9NQ1VfQUlDRV9UTVND IikNCisJKSwNCisJTVRLX1BJTigNCisJCTEzNywgIkdQSU8xMzciLA0KKwkJTVRLX0VJTlRfRlVO Q1RJT04oMCwgMTM3KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTM3 IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1TREMxX0RBVDAiKSwNCisJCU1US19GVU5DVElPTigy LCAiUENNMV9ETzAiKSwNCisJCU1US19GVU5DVElPTigzLCAiU1BJNV9CX0NMSyIpLA0KKwkJTVRL X0ZVTkNUSU9OKDQsICJVRElfVERJIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkNPTk5fRFNQX0pE SSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJJUFVfSlRBR19UREkiKSwNCisJCU1US19GVU5DVElP Tig3LCAiSlRESV9TRUwzIikNCisJKSwNCisJTVRLX1BJTigNCisJCTEzOCwgIkdQSU8xMzgiLA0K KwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTM4KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNU SU9OKDAsICJHUElPMTM4IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1TREMxX0RBVDIiKSwNCisJ CU1US19GVU5DVElPTigyLCAiUENNMV9ETzIiKSwNCisJCU1US19GVU5DVElPTigzLCAiQU5UX1NF TDExIiksDQorCQlNVEtfRlVOQ1RJT04oNCwgIlVESV9OVFJTVCIpLA0KKwkJTVRLX0ZVTkNUSU9O KDUsICJDT05OX01DVV9BSUNFX1RDS0MiKSwNCisJCU1US19GVU5DVElPTig2LCAiSVBVX0pUQUdf VFJTVCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJKVFJTVE5fU0VMMyIpDQorCSksDQorCU1US19Q SU4oDQorCQkxMzksICJHUElPMTM5IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDEzOSksDQor CQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzEzOSIpLA0KKwkJTVRLX0ZVTkNU SU9OKDEsICJNU0RDMV9EQVQxIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlBDTTFfRE8xIiksDQor CQlNVEtfRlVOQ1RJT04oMywgIkFOVF9TRUwxMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJVRElf VERPIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIkNPTk5fRFNQX0pETyIpLA0KKwkJTVRLX0ZVTkNU SU9OKDYsICJJUFVfSlRBR19URE8iKSwNCisJCU1US19GVU5DVElPTig3LCAiSlRET19TRUwzIikN CisJKSwNCisJTVRLX1BJTigNCisJCTE0MCwgIkdQSU8xNDAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJ T04oMCwgMTQwKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTQwIiks DQorCQlNVEtfRlVOQ1RJT04oMSwgIk1EX0lOVDFfQzJLX1VJTTBfSE9UX1BMVUciKSwNCisJCU1U S19GVU5DVElPTigyLCAiTURfSU5UMl9DMktfVUlNMV9IT1RfUExVRyIpLA0KKwkJTVRLX0ZVTkNU SU9OKDMsICJBRFNQX1VSWEQwIiksDQorCQlNVEtfRlVOQ1RJT04oNCwgIlNDTF82MzA2IiksDQor CQlNVEtfRlVOQ1RJT04oNSwgIlBUQV9SWEQiKSwNCisJCU1US19GVU5DVElPTig2LCAiU1NQTV9V UlhEX0FPIikNCisJKSwNCisJTVRLX1BJTigNCisJCTE0MSwgIkdQSU8xNDEiLA0KKwkJTVRLX0VJ TlRfRlVOQ1RJT04oMCwgMTQxKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJH UElPMTQxIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1EX0lOVDJfQzJLX1VJTTFfSE9UX1BMVUci KSwNCisJCU1US19GVU5DVElPTigyLCAiTURfSU5UMV9DMktfVUlNMF9IT1RfUExVRyIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDMsICJBRFNQX1VUWEQwIiksDQorCQlNVEtfRlVOQ1RJT04oNCwgIlNEQV82 MzA2IiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlBUQV9UWEQiKSwNCisJCU1US19GVU5DVElPTig2 LCAiU1NQTV9VVFhEX0FPIikNCisJKSwNCisJTVRLX1BJTigNCisJCTE0MiwgIkdQSU8xNDIiLA0K KwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTQyKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNU SU9OKDAsICJHUElPMTQyIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNDUF9WUkVRX1ZBTyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDIsICJEVkZTUkNfRVhUX1JFUSIpDQorCSksDQorCU1US19QSU4oDQor CQkxNDMsICJHUElPMTQzIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE0MyksDQorCQlEUlZf R1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE0MyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEs ICJBVURfREFUX01PU0kyIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQTkiKQ0KKwkp LA0KKwlNVEtfUElOKA0KKwkJMTQ0LCAiR1BJTzE0NCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigw LCAxNDQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xNDQiKSwNCisJ CU1US19GVU5DVElPTigxLCAiQVVEX05MRV9NT1NJMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJB VURfQ0xLX01JU08iKSwNCisJCU1US19GVU5DVElPTigzLCAiSTJTMl9NQ0siKSwNCisJCU1US19G VU5DVElPTig1LCAiVURJX1RDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJVRlNfVU5JUFJPX1NE QSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0ExMCIpDQorCSksDQorCU1US19QSU4o DQorCQkxNDUsICJHUElPMTQ1IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE0NSksDQorCQlE UlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE0NSIpLA0KKwkJTVRLX0ZVTkNUSU9O KDEsICJBVURfTkxFX01PU0kwIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkFVRF9TWU5DX01JU08i KSwNCisJCU1US19GVU5DVElPTigzLCAiSTJTMl9CQ0siKSwNCisJCU1US19GVU5DVElPTig1LCAi VURJX1RNUyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0ExMSIpDQorCSksDQorCU1U S19QSU4oDQorCQkxNDYsICJHUElPMTQ2IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE0Niks DQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE0NiIpLA0KKwkJTVRLX0ZV TkNUSU9OKDEsICJBVURfREFUX01JU08yIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkkyUzJfREky IiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlVESV9URE8iKSwNCisJCU1US19GVU5DVElPTig3LCAi REJHX01PTl9BMTQiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTQ3LCAiR1BJTzE0NyIsDQorCQlN VEtfRUlOVF9GVU5DVElPTigwLCAxNDcpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8xNDciKSwNCisJCU1US19GVU5DVElPTigxLCAiQU5UX1NFTDAiKSwNCisJCU1US19G VU5DVElPTigyLCAiUFdNXzMiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTQ4LCAiR1BJTzE0OCIs DQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxNDgpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVO Q1RJT04oMCwgIkdQSU8xNDgiKSwNCisJCU1US19GVU5DVElPTigxLCAiQU5UX1NFTDEiKSwNCisJ CU1US19GVU5DVElPTigyLCAiU1BJMF9CX01JIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNTUE1f VVJYRF9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJUUF9VQ1RTMl9BTyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDYsICJDTEtNMCIpDQorCSksDQorCU1US19QSU4oDQorCQkxNDksICJHUElPMTQ5IiwN CisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE0OSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5D VElPTigwLCAiR1BJTzE0OSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJBTlRfU0VMMiIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDIsICJTUEkwX0JfQ1NCIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNTUE1f VVRYRF9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJUUF9VUlRTMl9BTyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDYsICJDT05OX1RDWE9FTkFfUkVRIikNCisJKSwNCisJTVRLX1BJTigNCisJCTE1MCwg IkdQSU8xNTAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTUwKSwNCisJCURSVl9HUlA0LA0K KwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTUwIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkFOVF9T RUwzIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNQSTBfQl9NTyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDMsICJVQ1RTMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJUUF9VQ1RTMV9BTyIpLA0KKwkJTVRL X0ZVTkNUSU9OKDYsICJJRERJRyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJTQ0w5IikNCisJKSwN CisJTVRLX1BJTigNCisJCTE1MSwgIkdQSU8xNTEiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwg MTUxKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTUxIiksDQorCQlN VEtfRlVOQ1RJT04oMSwgIkFOVF9TRUw0IiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNQSTBfQl9D TEsiKSwNCisJCU1US19GVU5DVElPTigzLCAiVVJUUzEiKSwNCisJCU1US19GVU5DVElPTig1LCAi VFBfVVJUUzFfQU8iKSwNCisJCU1US19GVU5DVElPTig2LCAiVVNCX0RSVlZCVVMiKSwNCisJCU1U S19GVU5DVElPTig3LCAiU0RBOSIpDQorCSksDQorCU1US19QSU4oDQorCQkxNTIsICJHUElPMTUy IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE1MiksDQorCQlEUlZfR1JQNCwNCisJCU1US19G VU5DVElPTigwLCAiR1BJTzE1MiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJBTlRfU0VMNSIpLA0K KwkJTVRLX0ZVTkNUSU9OKDIsICJTUEkxX0JfTUkiKSwNCisJCU1US19GVU5DVElPTigzLCAiQ0xL TTMiKSwNCisJCU1US19GVU5DVElPTig1LCAiVFBfVVJYRDFfQU8iKSwNCisJCU1US19GVU5DVElP Tig2LCAiU0NQX1NQSTFfQl9NSSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJTQ0w4IikNCisJKSwN CisJTVRLX1BJTigNCisJCTE1MywgIkdQSU8xNTMiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwg MTUzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTUzIiksDQorCQlN VEtfRlVOQ1RJT04oMSwgIkFOVF9TRUw2IiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlNQSTFfQl9D U0IiKSwNCisJCU1US19GVU5DVElPTigzLCAiU1JDTEtFTkFJMCIpLA0KKwkJTVRLX0ZVTkNUSU9O KDQsICJQV01fMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJUUF9VVFhEMV9BTyIpLA0KKwkJTVRL X0ZVTkNUSU9OKDYsICJTQ1BfU1BJMV9CX0NTIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIlNEQTgi KQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTU0LCAiR1BJTzE1NCIsDQorCQlNVEtfRUlOVF9GVU5D VElPTigwLCAxNTQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xNTQi KSwNCisJCU1US19GVU5DVElPTigxLCAiQU5UX1NFTDciKSwNCisJCU1US19GVU5DVElPTigyLCAi U1BJMV9CX01PIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIlNSQ0xLRU5BSTEiKSwNCisJCU1US19G VU5DVElPTig1LCAiVFBfVVJYRDJfQU8iKSwNCisJCU1US19GVU5DVElPTig2LCAiU0NQX1NQSTFf Ql9NTyIpDQorCSksDQorCU1US19QSU4oDQorCQkxNTUsICJHUElPMTU1IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDE1NSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzE1NSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJBTlRfU0VMOCIpLA0KKwkJTVRLX0ZVTkNUSU9O KDIsICJTUEkxX0JfQ0xLIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIk1EX0lOVDAiKSwNCisJCU1U S19GVU5DVElPTig1LCAiVFBfVVRYRDJfQU8iKSwNCisJCU1US19GVU5DVElPTig2LCAiU0NQX1NQ STFfQl9DSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0ExNSIpDQorCSksDQorCU1U S19QSU4oDQorCQkxNTYsICJHUElPMTU2IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE1Niks DQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE1NiIpLA0KKwkJTVRLX0ZV TkNUSU9OKDEsICJDT05OX1RPUF9DTEsiKSwNCisJCU1US19GVU5DVElPTigyLCAiQVVYSUZfQ0xL MCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0ExNiIpDQorCSksDQorCU1US19QSU4o DQorCQkxNTcsICJHUElPMTU3IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE1NyksDQorCQlE UlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE1NyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDEsICJDT05OX1RPUF9EQVRBIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkFVWElGX1NUMCIpLA0K KwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0ExNyIpDQorCSksDQorCU1US19QSU4oDQorCQkx NTgsICJHUElPMTU4IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE1OCksDQorCQlEUlZfR1JQ NCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE1OCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJD T05OX0hSU1RfQiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0ExOCIpDQorCSksDQor CU1US19QSU4oDQorCQkxNTksICJHUElPMTU5IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE1 OSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE1OSIpLA0KKwkJTVRL X0ZVTkNUSU9OKDEsICJDT05OX1dCX1BUQSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9O X0ExOSIpDQorCSksDQorCU1US19QSU4oDQorCQkxNjAsICJHUElPMTYwIiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDE2MCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzE2MCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDT05OX0JUX0NMSyIpLA0KKwkJTVRLX0ZVTkNU SU9OKDIsICJBVVhJRl9DTEsxIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQTIwIikN CisJKSwNCisJTVRLX1BJTigNCisJCTE2MSwgIkdQSU8xNjEiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJ T04oMCwgMTYxKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTYxIiks DQorCQlNVEtfRlVOQ1RJT04oMSwgIkNPTk5fQlRfREFUQSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIs ICJBVVhJRl9TVDEiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01PTl9BMjEiKQ0KKwkpLA0K KwlNVEtfUElOKA0KKwkJMTYyLCAiR1BJTzE2MiIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAx NjIpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xNjIiKSwNCisJCU1U S19GVU5DVElPTigxLCAiQ09OTl9XRl9DVFJMMCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdf TU9OX0EyMiIpDQorCSksDQorCU1US19QSU4oDQorCQkxNjMsICJHUElPMTYzIiwNCisJCU1US19F SU5UX0ZVTkNUSU9OKDAsIDE2MyksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAi R1BJTzE2MyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDT05OX1dGX0NUUkwxIiksDQorCQlNVEtf RlVOQ1RJT04oMiwgIlVGU19NUEhZX1NDTCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9O X0EyMyIpDQorCSksDQorCU1US19QSU4oDQorCQkxNjQsICJHUElPMTY0IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDE2NCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzE2NCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDT05OX1dGX0NUUkwyIiksDQorCQlNVEtfRlVO Q1RJT04oMiwgIlVGU19NUEhZX1NEQSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0Ey NCIpDQorCSksDQorCU1US19QSU4oDQorCQkxNjUsICJHUElPMTY1IiwNCisJCU1US19FSU5UX0ZV TkNUSU9OKDAsIDE2NSksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE2 NSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDT05OX1dGX0NUUkwzIiksDQorCQlNVEtfRlVOQ1RJ T04oMiwgIlVGU19VTklQUk9fU0RBIiksDQorCQlNVEtfRlVOQ1RJT04oNywgIkRCR19NT05fQTI1 IikNCisJKSwNCisJTVRLX1BJTigNCisJCTE2NiwgIkdQSU8xNjYiLA0KKwkJTVRLX0VJTlRfRlVO Q1RJT04oMCwgMTY2KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTY2 IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIkNPTk5fV0ZfQ1RSTDQiKSwNCisJCU1US19GVU5DVElP TigyLCAiVUZTX1VOSVBST19TQ0wiKSwNCisJCU1US19GVU5DVElPTig3LCAiREJHX01PTl9BMjYi KQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTY3LCAiR1BJTzE2NyIsDQorCQlNVEtfRUlOVF9GVU5D VElPTigwLCAxNjcpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xNjci KSwNCisJCU1US19GVU5DVElPTigxLCAiTVNEQzBfQ01EIikNCisJKSwNCisJTVRLX1BJTigNCisJ CTE2OCwgIkdQSU8xNjgiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTY4KSwNCisJCURSVl9H UlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTY4IiksDQorCQlNVEtfRlVOQ1RJT04oMSwg Ik1TREMwX0RBVDAiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTY5LCAiR1BJTzE2OSIsDQorCQlN VEtfRUlOVF9GVU5DVElPTigwLCAxNjkpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8xNjkiKSwNCisJCU1US19GVU5DVElPTigxLCAiTVNEQzBfREFUMiIpDQorCSksDQor CU1US19QSU4oDQorCQkxNzAsICJHUElPMTcwIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE3 MCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE3MCIpLA0KKwkJTVRL X0ZVTkNUSU9OKDEsICJNU0RDMF9EQVQ0IikNCisJKSwNCisJTVRLX1BJTigNCisJCTE3MSwgIkdQ SU8xNzEiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTcxKSwNCisJCURSVl9HUlA0LA0KKwkJ TVRLX0ZVTkNUSU9OKDAsICJHUElPMTcxIiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1TREMwX0RB VDYiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTcyLCAiR1BJTzE3MiIsDQorCQlNVEtfRUlOVF9G VU5DVElPTigwLCAxNzIpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8x NzIiKSwNCisJCU1US19GVU5DVElPTigxLCAiTVNEQzBfREFUMSIpDQorCSksDQorCU1US19QSU4o DQorCQkxNzMsICJHUElPMTczIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE3MyksDQorCQlE UlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE3MyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDEsICJNU0RDMF9EQVQ1IikNCisJKSwNCisJTVRLX1BJTigNCisJCTE3NCwgIkdQSU8xNzQiLA0K KwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTc0KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNU SU9OKDAsICJHUElPMTc0IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1TREMwX0RBVDciKQ0KKwkp LA0KKwlNVEtfUElOKA0KKwkJMTc1LCAiR1BJTzE3NSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigw LCAxNzUpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xNzUiKSwNCisJ CU1US19GVU5DVElPTigxLCAiTVNEQzBfRFNMIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIkFOVF9T RUw5IikNCisJKSwNCisJTVRLX1BJTigNCisJCTE3NiwgIkdQSU8xNzYiLA0KKwkJTVRLX0VJTlRf RlVOQ1RJT04oMCwgMTc2KSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElP MTc2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIk1TREMwX0NMSyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDIsICJBTlRfU0VMMTAiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTc3LCAiR1BJTzE3NyIsDQor CQlNVEtfRUlOVF9GVU5DVElPTigwLCAxNzcpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJ T04oMCwgIkdQSU8xNzciKSwNCisJCU1US19GVU5DVElPTigxLCAiTVNEQzBfREFUMyIpDQorCSks DQorCU1US19QSU4oDQorCQkxNzgsICJHUElPMTc4IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAs IDE3OCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE3OCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJNU0RDMF9SU1RCIikNCisJKSwNCisJTVRLX1BJTigNCisJCTE3OSwg IkdQSU8xNzkiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oTk9fRUlOVF9TVVBQT1JULCBOT19FSU5U X1NVUFBPUlQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xNzkiKSwN CisJCU1US19GVU5DVElPTigxLCAiUkZJQzBfQlNJX0VOIikNCisJKSwNCisJTVRLX1BJTigNCisJ CTE4MCwgIkdQSU8xODAiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oTk9fRUlOVF9TVVBQT1JULCBO T19FSU5UX1NVUFBPUlQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8x ODAiKSwNCisJCU1US19GVU5DVElPTigxLCAiUkZJQzBfQlNJX0NLIikNCisJKSwNCisJTVRLX1BJ TigNCisJCTE4MSwgIkdQSU8xODEiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oTk9fRUlOVF9TVVBQ T1JULCBOT19FSU5UX1NVUFBPUlQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwg IkdQSU8xODEiKSwNCisJCU1US19GVU5DVElPTigxLCAiU1JDTEtFTkEwIikNCisJKSwNCisJTVRL X1BJTigNCisJCTE4MiwgIkdQSU8xODIiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oTk9fRUlOVF9T VVBQT1JULCBOT19FSU5UX1NVUFBPUlQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8xODIiKSwNCisJCU1US19GVU5DVElPTigxLCAiU1JDTEtFTkExIikNCisJKSwNCisJ TVRLX1BJTigNCisJCTE4MywgIkdQSU8xODMiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oTk9fRUlO VF9TVVBQT1JULCBOT19FSU5UX1NVUFBPUlQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJ T04oMCwgIkdQSU8xODMiKSwNCisJCU1US19GVU5DVElPTigxLCAiV0FUQ0hET0ciKQ0KKwkpLA0K KwlNVEtfUElOKA0KKwkJMTg0LCAiR1BJTzE4NCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTihOT19F SU5UX1NVUFBPUlQsIE5PX0VJTlRfU1VQUE9SVCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5D VElPTigwLCAiR1BJTzE4NCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJQV1JBUF9TUEkwX01JIiks DQorCQlNVEtfRlVOQ1RJT04oMiwgIlBXUkFQX1NQSTBfTU8iKQ0KKwkpLA0KKwlNVEtfUElOKA0K KwkJMTg1LCAiR1BJTzE4NSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTihOT19FSU5UX1NVUFBPUlQs IE5PX0VJTlRfU1VQUE9SVCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzE4NSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJQV1JBUF9TUEkwX0NTTiIpDQorCSksDQorCU1U S19QSU4oDQorCQkxODYsICJHUElPMTg2IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKE5PX0VJTlRf U1VQUE9SVCwgTk9fRUlOVF9TVVBQT1JUKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9O KDAsICJHUElPMTg2IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlBXUkFQX1NQSTBfTU8iKSwNCisJ CU1US19GVU5DVElPTigyLCAiUFdSQVBfU1BJMF9NSSIpDQorCSksDQorCU1US19QSU4oDQorCQkx ODcsICJHUElPMTg3IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKE5PX0VJTlRfU1VQUE9SVCwgTk9f RUlOVF9TVVBQT1JUKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAsICJHUElPMTg3 IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlBXUkFQX1NQSTBfQ0siKQ0KKwkpLA0KKwlNVEtfUElO KA0KKwkJMTg4LCAiR1BJTzE4OCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTihOT19FSU5UX1NVUFBP UlQsIE5PX0VJTlRfU1VQUE9SVCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAi R1BJTzE4OCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJSVEMzMktfQ0siKQ0KKwkpLA0KKwlNVEtf UElOKA0KKwkJMTg5LCAiR1BJTzE4OSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTihOT19FSU5UX1NV UFBPUlQsIE5PX0VJTlRfU1VQUE9SVCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigw LCAiR1BJTzE4OSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJBVURfQ0xLX01PU0kiKSwNCisJCU1U S19GVU5DVElPTigzLCAiSTJTMV9NQ0siKSwNCisJCU1US19GVU5DVElPTig2LCAiVUZTX1VOSVBS T19TQ0wiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTkwLCAiR1BJTzE5MCIsDQorCQlNVEtfRUlO VF9GVU5DVElPTihOT19FSU5UX1NVUFBPUlQsIE5PX0VJTlRfU1VQUE9SVCksDQorCQlEUlZfR1JQ NCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE5MCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJB VURfU1lOQ19NT1NJIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkkyUzFfQkNLIiksDQorCQlNVEtf RlVOQ1RJT04oNywgIkRCR19NT05fQTYiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTkxLCAiR1BJ TzE5MSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTihOT19FSU5UX1NVUFBPUlQsIE5PX0VJTlRfU1VQ UE9SVCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE5MSIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJBVURfREFUX01PU0kwIiksDQorCQlNVEtfRlVOQ1RJT04oMywgIkky UzFfTFJDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0E3IikNCisJKSwNCisJTVRL X1BJTigNCisJCTE5MiwgIkdQSU8xOTIiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oTk9fRUlOVF9T VVBQT1JULCBOT19FSU5UX1NVUFBPUlQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04o MCwgIkdQSU8xOTIiKSwNCisJCU1US19GVU5DVElPTigxLCAiQVVEX0RBVF9NT1NJMSIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDMsICJJMlMxX0RPIiksDQorCQlNVEtfRlVOQ1RJT04oNiwgIlVGU19NUEhZ X1NEQSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDcsICJEQkdfTU9OX0E4IikNCisJKSwNCisJTVRLX1BJ TigNCisJCTE5MywgIkdQSU8xOTMiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oTk9fRUlOVF9TVVBQ T1JULCBOT19FSU5UX1NVUFBPUlQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwg IkdQSU8xOTMiKSwNCisJCU1US19GVU5DVElPTigxLCAiQVVEX0RBVF9NSVNPMCIpLA0KKwkJTVRL X0ZVTkNUSU9OKDIsICJWT1dfREFUX01JU08iKSwNCisJCU1US19GVU5DVElPTigzLCAiSTJTMl9M UkNLIiksDQorCQlNVEtfRlVOQ1RJT04oNSwgIlVESV9UREkiKSwNCisJCU1US19GVU5DVElPTig3 LCAiREJHX01PTl9BMTIiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTk0LCAiR1BJTzE5NCIsDQor CQlNVEtfRUlOVF9GVU5DVElPTihOT19FSU5UX1NVUFBPUlQsIE5PX0VJTlRfU1VQUE9SVCksDQor CQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE5NCIpLA0KKwkJTVRLX0ZVTkNU SU9OKDEsICJBVURfREFUX01JU08xIiksDQorCQlNVEtfRlVOQ1RJT04oMiwgIlZPV19DTEtfTUlT TyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJJMlMyX0RJIiksDQorCQlNVEtfRlVOQ1RJT04oNSwg IlVESV9OVFJTVCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDYsICJVRlNfTVBIWV9TQ0wiKSwNCisJCU1U S19GVU5DVElPTig3LCAiREJHX01PTl9BMTMiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTk1LCAi R1BJTzE5NSIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxNzkpLA0KKwkJRFJWX0dSUDQsDQor CQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8xOTUiKSwNCisJCU1US19GVU5DVElPTigzLCAiQURTUF9K VEFHX1RDSyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDQsICJWUFVfVURJX1RDSyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDUsICJTUE1fSlRBR19UQ0siKSwNCisJCU1US19GVU5DVElPTig2LCAiU1NQTV9KVEFH X1RDSyIpDQorCSksDQorCU1US19QSU4oDQorCQkxOTYsICJHUElPMTk2IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDE4MCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJ TzE5NiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJDTU1DTEs0IiksDQorCQlNVEtfRlVOQ1RJT04o MywgIkFEU1BfSlRBR19UREkiKSwNCisJCU1US19GVU5DVElPTig0LCAiVlBVX1VESV9UREkiKSwN CisJCU1US19GVU5DVElPTig1LCAiU1BNX0pUQUdfVERJIiksDQorCQlNVEtfRlVOQ1RJT04oNiwg IlNTUE1fSlRBR19UREkiKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMTk3LCAiR1BJTzE5NyIsDQor CQlNVEtfRUlOVF9GVU5DVElPTigwLCAxODEpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJ T04oMCwgIkdQSU8xOTciKSwNCisJCU1US19GVU5DVElPTigzLCAiQURTUF9KVEFHX1RETyIpLA0K KwkJTVRLX0ZVTkNUSU9OKDQsICJWUFVfVURJX1RETyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJT UE1fSlRBR19URE8iKSwNCisJCU1US19GVU5DVElPTig2LCAiU1NQTV9KVEFHX1RETyIpDQorCSks DQorCU1US19QSU4oDQorCQkxOTgsICJHUElPMTk4IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAs IDE4MiksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzE5OCIpLA0KKwkJ TVRLX0ZVTkNUSU9OKDEsICJTQ0w3IikNCisJKSwNCisJTVRLX1BJTigNCisJCTE5OSwgIkdQSU8x OTkiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTgzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRL X0ZVTkNUSU9OKDAsICJHUElPMTk5IiksDQorCQlNVEtfRlVOQ1RJT04oMSwgIlNEQTciKQ0KKwkp LA0KKwlNVEtfUElOKA0KKwkJMjAwLCAiR1BJTzIwMCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigw LCAxODQpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJT04oMCwgIkdQSU8yMDAiKSwNCisJ CU1US19GVU5DVElPTigxLCAiVVJYRDEiKSwNCisJCU1US19GVU5DVElPTigyLCAiQURTUF9VUlhE MCIpLA0KKwkJTVRLX0ZVTkNUSU9OKDMsICJUUF9VUlhEMV9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9O KDQsICJTU1BNX1VSWERfQU8iKSwNCisJCU1US19GVU5DVElPTig1LCAiVFBfVVJYRDJfQU8iKSwN CisJCU1US19GVU5DVElPTig2LCAiTUJJU1RSRUFERU5fVFJJR0dFUiIpDQorCSksDQorCU1US19Q SU4oDQorCQkyMDEsICJHUElPMjAxIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE4NSksDQor CQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzIwMSIpLA0KKwkJTVRLX0ZVTkNU SU9OKDEsICJVVFhEMSIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJBRFNQX1VUWEQwIiksDQorCQlN VEtfRlVOQ1RJT04oMywgIlRQX1VUWEQxX0FPIiksDQorCQlNVEtfRlVOQ1RJT04oNCwgIlNTUE1f VVRYRF9BTyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDUsICJUUF9VVFhEMl9BTyIpLA0KKwkJTVRLX0ZV TkNUSU9OKDYsICJNQklTVFdSSVRFRU5fVFJJR0dFUiIpDQorCSksDQorCU1US19QSU4oDQorCQky MDIsICJHUElPMjAyIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE4NiksDQorCQlEUlZfR1JQ NCwNCisJCU1US19GVU5DVElPTigwLCAiR1BJTzIwMiIpLA0KKwkJTVRLX0ZVTkNUSU9OKDEsICJQ V01fMyIpLA0KKwkJTVRLX0ZVTkNUSU9OKDIsICJDTEtNMyIpDQorCSksDQorCU1US19QSU4oDQor CQkyMDMsICJHUElPMjAzIiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE4NyksDQorCQlEUlZf R1JQNCwNCisJCU1US19GVU5DVElPTigwLCBOVUxMKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMjA0 LCAiR1BJTzIwNCIsDQorCQlNVEtfRUlOVF9GVU5DVElPTigwLCAxODgpLA0KKwkJRFJWX0dSUDQs DQorCQlNVEtfRlVOQ1RJT04oMCwgTlVMTCkNCisJKSwNCisJTVRLX1BJTigNCisJCTIwNSwgIkdQ SU8yMDUiLA0KKwkJTVRLX0VJTlRfRlVOQ1RJT04oMCwgMTg5KSwNCisJCURSVl9HUlA0LA0KKwkJ TVRLX0ZVTkNUSU9OKDAsIE5VTEwpDQorCSksDQorCU1US19QSU4oDQorCQkyMDYsICJHUElPMjA2 IiwNCisJCU1US19FSU5UX0ZVTkNUSU9OKDAsIDE5MCksDQorCQlEUlZfR1JQNCwNCisJCU1US19G VU5DVElPTigwLCBOVUxMKQ0KKwkpLA0KKwlNVEtfUElOKA0KKwkJMjA3LCAiR1BJTzIwNyIsDQor CQlNVEtfRUlOVF9GVU5DVElPTigwLCAxOTEpLA0KKwkJRFJWX0dSUDQsDQorCQlNVEtfRlVOQ1RJ T04oMCwgTlVMTCkNCisJKSwNCisJTVRLX1BJTigNCisJCTIwOCwgIkdQSU8yMDgiLA0KKwkJTVRL X0VJTlRfRlVOQ1RJT04oMCwgMTkzKSwNCisJCURSVl9HUlA0LA0KKwkJTVRLX0ZVTkNUSU9OKDAs IE5VTEwpDQorCSksDQorCU1US19QSU4oDQorCQkyMDksICJHUElPMjA5IiwNCisJCU1US19FSU5U X0ZVTkNUSU9OKDAsIDE5NCksDQorCQlEUlZfR1JQNCwNCisJCU1US19GVU5DVElPTigwLCBOVUxM KQ0KKwkpLA0KK307DQorDQorI2VuZGlmIC8qIF9fUElOQ1RSTC1NVEstTVQ2Nzc5X0ggKi8NCi0t IA0KMi4xOC4wDQo= 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.0 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, UPPERCASE_50_75,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 EAC6BC433E8 for ; Thu, 23 Jul 2020 11:20:40 +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 95C392086A for ; Thu, 23 Jul 2020 11:20:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="zDUaWLVh"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="oFUxRFKm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 95C392086A 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=SNSzukLaYmNIP5qDNxHOENcfVDlkYb3eJMDDCfHeu0s=; b=zDUaWLVhUBjFmn6SOaOJxlDUg j9So3ms+37XcZsBfj+/O6usjUW1SNUKixYaNAIvQTh7bNocGdVBc6i79FEVnCHLw2ko2NybMx3G6H /Z/Ri22XTfr+4tHlGN63hX8hNnnqC/MBj7fR5TtcWS4vZRqSSH3CI/p/pkXhzW/Bdf8pOrZPuZul6 Yo/4ppy7TXhY6Fm+IrGkVz8mt4VsL4RguBxsWURqfgykKYKykfwkgQE5a0WEo99s2uzUkrMrY3Nj2 jynjidklUwVR4Hyf9vOsuA5Q7CtxnF6ew9EzzC1qCoDQ/ZWkqbj0tsF3xhbP1rIs9V652xZygdhGU I6LFGRMqA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jyZH2-0007z9-IK; Thu, 23 Jul 2020 11:20:28 +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 1jyZGp-0007uF-AY; Thu, 23 Jul 2020 11:20:18 +0000 X-UUID: c7d0d1436f99450ab4cc2df15e998e75-20200723 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=Z/eOPT2Sz+W6Kr4zja2X5uj8CK6tZsBJQ7B8mAjNkVY=; b=oFUxRFKmQ+QpLU4ol6kZ0/I0S7UGqoKisEsdkSqTDDo+QXEudYUp1VaulENh7ncg27KPD97W0szbO7lRLo0lDqAJNTgVwXFiK76SmNLxSnSZSPbRgteeZ48Q+B1kaEuZtHpr412aAd+S3FSJ3hFg2HX9V2OxptMLR1jQsO5vckg=; X-UUID: c7d0d1436f99450ab4cc2df15e998e75-20200723 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 240176001; Thu, 23 Jul 2020 03:20:08 -0800 Received: from mtkmbs08n2.mediatek.inc (172.21.101.56) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 23 Jul 2020 04:20:08 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 23 Jul 2020 19:19:59 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 23 Jul 2020 19:19:59 +0800 From: Hanks Chen To: Linus Walleij , Rob Herring , Matthias Brugger , "Michael Turquette" , Stephen Boyd , "Sean Wang" Subject: [PATCH v9 4/7] pinctrl: mediatek: add pinctrl support for MT6779 SoC Date: Thu, 23 Jul 2020 19:19:54 +0800 Message-ID: <1595503197-15246-5-git-send-email-hanks.chen@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1595503197-15246-1-git-send-email-hanks.chen@mediatek.com> References: <1595503197-15246-1-git-send-email-hanks.chen@mediatek.com> MIME-Version: 1.0 X-TM-SNTS-SMTP: 3647970F157602DEC7F74AC00166D1ACEFAAE25E13E4A97C2D0C7F604DC60A332000:8 X-MTK: N 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: devicetree@vger.kernel.org, CC Hwang , wsd_upstream@mediatek.com, Andy Teng , Mars Cheng , Hanks Chen , Loda Chou , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-mediatek@lists.infradead.org, mtk01761 , 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 adds MT6779 pinctrl driver based on MediaTek pinctrl-paris core. Acked-by: Sean Wang Signed-off-by: Mars Cheng Signed-off-by: Andy Teng Signed-off-by: Hanks Chen --- drivers/pinctrl/mediatek/Kconfig | 12 + drivers/pinctrl/mediatek/Makefile | 1 + drivers/pinctrl/mediatek/pinctrl-mt6779.c | 777 ++++++ drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h | 2085 +++++++++++++++++ 4 files changed, 2875 insertions(+) create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt6779.c create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h diff --git a/drivers/pinctrl/mediatek/Kconfig b/drivers/pinctrl/mediatek/Kconfig index f32d3644c509..1cedc5f2aadb 100644 --- a/drivers/pinctrl/mediatek/Kconfig +++ b/drivers/pinctrl/mediatek/Kconfig @@ -93,6 +93,18 @@ config PINCTRL_MT6765 default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK_PARIS +config PINCTRL_MT6779 + tristate "Mediatek MT6779 pin control" + depends on OF + depends on ARM64 || COMPILE_TEST + default ARM64 && ARCH_MEDIATEK + select PINCTRL_MTK_PARIS + help + Say yes here to support pin controller and gpio driver + on Mediatek MT6779 SoC. + In MTK platform, we support virtual gpio and use it to + map specific eint which doesn't have real gpio pin. + config PINCTRL_MT6797 bool "Mediatek MT6797 pin control" depends on OF diff --git a/drivers/pinctrl/mediatek/Makefile b/drivers/pinctrl/mediatek/Makefile index 4b7132876e71..b0b07c541d11 100644 --- a/drivers/pinctrl/mediatek/Makefile +++ b/drivers/pinctrl/mediatek/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_PINCTRL_MT2712) += pinctrl-mt2712.o obj-$(CONFIG_PINCTRL_MT8135) += pinctrl-mt8135.o obj-$(CONFIG_PINCTRL_MT8127) += pinctrl-mt8127.o obj-$(CONFIG_PINCTRL_MT6765) += pinctrl-mt6765.o +obj-$(CONFIG_PINCTRL_MT6779) += pinctrl-mt6779.o obj-$(CONFIG_PINCTRL_MT6797) += pinctrl-mt6797.o obj-$(CONFIG_PINCTRL_MT7622) += pinctrl-mt7622.o obj-$(CONFIG_PINCTRL_MT7623) += pinctrl-mt7623.o diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6779.c b/drivers/pinctrl/mediatek/pinctrl-mt6779.c new file mode 100644 index 000000000000..ede185b58d41 --- /dev/null +++ b/drivers/pinctrl/mediatek/pinctrl-mt6779.c @@ -0,0 +1,777 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 MediaTek Inc. + * Author: Andy Teng + * + */ + +#include +#include "pinctrl-mtk-mt6779.h" +#include "pinctrl-paris.h" + +/* MT6779 have multiple bases to program pin configuration listed as the below: + * gpio:0x10005000, iocfg_rm:0x11C20000, iocfg_br:0x11D10000, + * iocfg_lm:0x11E20000, iocfg_lb:0x11E70000, iocfg_rt:0x11EA0000, + * iocfg_lt:0x11F20000, iocfg_tl:0x11F30000 + * _i_based could be used to indicate what base the pin should be mapped into. + */ + +#define PIN_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \ + PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \ + 32, 0) + +#define PINS_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \ + PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \ + 32, 1) + +static const struct mtk_pin_field_calc mt6779_pin_mode_range[] = { + PIN_FIELD_BASE(0, 7, 0, 0x0300, 0x10, 0, 4), + PIN_FIELD_BASE(8, 15, 0, 0x0310, 0x10, 0, 4), + PIN_FIELD_BASE(16, 23, 0, 0x0320, 0x10, 0, 4), + PIN_FIELD_BASE(24, 31, 0, 0x0330, 0x10, 0, 4), + PIN_FIELD_BASE(32, 39, 0, 0x0340, 0x10, 0, 4), + PIN_FIELD_BASE(40, 47, 0, 0x0350, 0x10, 0, 4), + PIN_FIELD_BASE(48, 55, 0, 0x0360, 0x10, 0, 4), + PIN_FIELD_BASE(56, 63, 0, 0x0370, 0x10, 0, 4), + PIN_FIELD_BASE(64, 71, 0, 0x0380, 0x10, 0, 4), + PIN_FIELD_BASE(72, 79, 0, 0x0390, 0x10, 0, 4), + PIN_FIELD_BASE(80, 87, 0, 0x03A0, 0x10, 0, 4), + PIN_FIELD_BASE(88, 95, 0, 0x03B0, 0x10, 0, 4), + PIN_FIELD_BASE(96, 103, 0, 0x03C0, 0x10, 0, 4), + PIN_FIELD_BASE(104, 111, 0, 0x03D0, 0x10, 0, 4), + PIN_FIELD_BASE(112, 119, 0, 0x03E0, 0x10, 0, 4), + PIN_FIELD_BASE(120, 127, 0, 0x03F0, 0x10, 0, 4), + PIN_FIELD_BASE(128, 135, 0, 0x0400, 0x10, 0, 4), + PIN_FIELD_BASE(136, 143, 0, 0x0410, 0x10, 0, 4), + PIN_FIELD_BASE(144, 151, 0, 0x0420, 0x10, 0, 4), + PIN_FIELD_BASE(152, 159, 0, 0x0430, 0x10, 0, 4), + PIN_FIELD_BASE(160, 167, 0, 0x0440, 0x10, 0, 4), + PIN_FIELD_BASE(168, 175, 0, 0x0450, 0x10, 0, 4), + PIN_FIELD_BASE(176, 183, 0, 0x0460, 0x10, 0, 4), + PIN_FIELD_BASE(184, 191, 0, 0x0470, 0x10, 0, 4), + PIN_FIELD_BASE(192, 199, 0, 0x0480, 0x10, 0, 4), + PIN_FIELD_BASE(200, 202, 0, 0x0490, 0x10, 0, 4), +}; + +static const struct mtk_pin_field_calc mt6779_pin_dir_range[] = { + PIN_FIELD_BASE(0, 31, 0, 0x0000, 0x10, 0, 1), + PIN_FIELD_BASE(32, 63, 0, 0x0010, 0x10, 0, 1), + PIN_FIELD_BASE(64, 95, 0, 0x0020, 0x10, 0, 1), + PIN_FIELD_BASE(96, 127, 0, 0x0030, 0x10, 0, 1), + PIN_FIELD_BASE(128, 159, 0, 0x0040, 0x10, 0, 1), + PIN_FIELD_BASE(160, 191, 0, 0x0050, 0x10, 0, 1), + PIN_FIELD_BASE(192, 202, 0, 0x0060, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_di_range[] = { + PIN_FIELD_BASE(0, 31, 0, 0x0200, 0x10, 0, 1), + PIN_FIELD_BASE(32, 63, 0, 0x0210, 0x10, 0, 1), + PIN_FIELD_BASE(64, 95, 0, 0x0220, 0x10, 0, 1), + PIN_FIELD_BASE(96, 127, 0, 0x0230, 0x10, 0, 1), + PIN_FIELD_BASE(128, 159, 0, 0x0240, 0x10, 0, 1), + PIN_FIELD_BASE(160, 191, 0, 0x0250, 0x10, 0, 1), + PIN_FIELD_BASE(192, 202, 0, 0x0260, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_do_range[] = { + PIN_FIELD_BASE(0, 31, 0, 0x0100, 0x10, 0, 1), + PIN_FIELD_BASE(32, 63, 0, 0x0110, 0x10, 0, 1), + PIN_FIELD_BASE(64, 95, 0, 0x0120, 0x10, 0, 1), + PIN_FIELD_BASE(96, 127, 0, 0x0130, 0x10, 0, 1), + PIN_FIELD_BASE(128, 159, 0, 0x0140, 0x10, 0, 1), + PIN_FIELD_BASE(160, 191, 0, 0x0150, 0x10, 0, 1), + PIN_FIELD_BASE(192, 202, 0, 0x0160, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_ies_range[] = { + PIN_FIELD_BASE(0, 9, 6, 0x0030, 0x10, 3, 1), + PIN_FIELD_BASE(10, 16, 3, 0x0050, 0x10, 0, 1), + PIN_FIELD_BASE(17, 18, 6, 0x0030, 0x10, 28, 1), + PIN_FIELD_BASE(19, 19, 6, 0x0030, 0x10, 27, 1), + PIN_FIELD_BASE(20, 20, 6, 0x0030, 0x10, 26, 1), + PIN_FIELD_BASE(21, 24, 6, 0x0030, 0x10, 19, 1), + PIN_FIELD_BASE(25, 25, 6, 0x0030, 0x10, 30, 1), + PIN_FIELD_BASE(26, 26, 6, 0x0030, 0x10, 23, 1), + PIN_FIELD_BASE(27, 27, 6, 0x0030, 0x10, 0, 1), + PIN_FIELD_BASE(28, 29, 6, 0x0030, 0x10, 24, 1), + PIN_FIELD_BASE(30, 30, 6, 0x0030, 0x10, 16, 1), + PIN_FIELD_BASE(31, 31, 6, 0x0030, 0x10, 13, 1), + PIN_FIELD_BASE(32, 32, 6, 0x0030, 0x10, 15, 1), + PIN_FIELD_BASE(33, 33, 6, 0x0030, 0x10, 17, 1), + PIN_FIELD_BASE(34, 34, 6, 0x0030, 0x10, 14, 1), + PIN_FIELD_BASE(35, 35, 6, 0x0040, 0x10, 4, 1), + PIN_FIELD_BASE(36, 36, 6, 0x0030, 0x10, 31, 1), + PIN_FIELD_BASE(37, 37, 6, 0x0040, 0x10, 5, 1), + PIN_FIELD_BASE(38, 41, 6, 0x0040, 0x10, 0, 1), + PIN_FIELD_BASE(42, 43, 6, 0x0030, 0x10, 1, 1), + PIN_FIELD_BASE(44, 44, 6, 0x0030, 0x10, 18, 1), + PIN_FIELD_BASE(45, 45, 3, 0x0050, 0x10, 14, 1), + PIN_FIELD_BASE(46, 46, 3, 0x0050, 0x10, 22, 1), + PIN_FIELD_BASE(47, 47, 3, 0x0050, 0x10, 25, 1), + PIN_FIELD_BASE(48, 48, 3, 0x0050, 0x10, 24, 1), + PIN_FIELD_BASE(49, 49, 3, 0x0050, 0x10, 26, 1), + PIN_FIELD_BASE(50, 50, 3, 0x0050, 0x10, 23, 1), + PIN_FIELD_BASE(51, 51, 3, 0x0050, 0x10, 11, 1), + PIN_FIELD_BASE(52, 52, 3, 0x0050, 0x10, 19, 1), + PIN_FIELD_BASE(53, 54, 3, 0x0050, 0x10, 27, 1), + PIN_FIELD_BASE(55, 55, 3, 0x0050, 0x10, 13, 1), + PIN_FIELD_BASE(56, 56, 3, 0x0050, 0x10, 21, 1), + PIN_FIELD_BASE(57, 57, 3, 0x0050, 0x10, 10, 1), + PIN_FIELD_BASE(58, 58, 3, 0x0050, 0x10, 9, 1), + PIN_FIELD_BASE(59, 60, 3, 0x0050, 0x10, 7, 1), + PIN_FIELD_BASE(61, 61, 3, 0x0050, 0x10, 12, 1), + PIN_FIELD_BASE(62, 62, 3, 0x0050, 0x10, 20, 1), + PIN_FIELD_BASE(63, 63, 3, 0x0050, 0x10, 17, 1), + PIN_FIELD_BASE(64, 64, 3, 0x0050, 0x10, 16, 1), + PIN_FIELD_BASE(65, 65, 3, 0x0050, 0x10, 18, 1), + PIN_FIELD_BASE(66, 66, 3, 0x0050, 0x10, 15, 1), + PIN_FIELD_BASE(67, 67, 2, 0x0060, 0x10, 7, 1), + PIN_FIELD_BASE(68, 68, 2, 0x0060, 0x10, 6, 1), + PIN_FIELD_BASE(69, 69, 2, 0x0060, 0x10, 8, 1), + PIN_FIELD_BASE(70, 71, 2, 0x0060, 0x10, 4, 1), + PIN_FIELD_BASE(72, 72, 4, 0x0020, 0x10, 3, 1), + PIN_FIELD_BASE(73, 73, 4, 0x0020, 0x10, 2, 1), + PIN_FIELD_BASE(74, 74, 4, 0x0020, 0x10, 1, 1), + PIN_FIELD_BASE(75, 75, 4, 0x0020, 0x10, 4, 1), + PIN_FIELD_BASE(76, 76, 4, 0x0020, 0x10, 12, 1), + PIN_FIELD_BASE(77, 77, 4, 0x0020, 0x10, 11, 1), + PIN_FIELD_BASE(78, 78, 2, 0x0050, 0x10, 18, 1), + PIN_FIELD_BASE(79, 79, 2, 0x0050, 0x10, 17, 1), + PIN_FIELD_BASE(80, 81, 2, 0x0050, 0x10, 19, 1), + PIN_FIELD_BASE(82, 88, 2, 0x0050, 0x10, 1, 1), + PIN_FIELD_BASE(89, 89, 2, 0x0050, 0x10, 16, 1), + PIN_FIELD_BASE(90, 90, 2, 0x0050, 0x10, 15, 1), + PIN_FIELD_BASE(91, 91, 2, 0x0050, 0x10, 14, 1), + PIN_FIELD_BASE(92, 92, 2, 0x0050, 0x10, 8, 1), + PIN_FIELD_BASE(93, 93, 4, 0x0020, 0x10, 0, 1), + PIN_FIELD_BASE(94, 94, 2, 0x0050, 0x10, 0, 1), + PIN_FIELD_BASE(95, 95, 4, 0x0020, 0x10, 7, 1), + PIN_FIELD_BASE(96, 96, 4, 0x0020, 0x10, 5, 1), + PIN_FIELD_BASE(97, 97, 4, 0x0020, 0x10, 8, 1), + PIN_FIELD_BASE(98, 98, 4, 0x0020, 0x10, 6, 1), + PIN_FIELD_BASE(99, 99, 2, 0x0060, 0x10, 9, 1), + PIN_FIELD_BASE(100, 100, 2, 0x0060, 0x10, 12, 1), + PIN_FIELD_BASE(101, 101, 2, 0x0060, 0x10, 10, 1), + PIN_FIELD_BASE(102, 102, 2, 0x0060, 0x10, 13, 1), + PIN_FIELD_BASE(103, 103, 2, 0x0060, 0x10, 11, 1), + PIN_FIELD_BASE(104, 104, 2, 0x0060, 0x10, 14, 1), + PIN_FIELD_BASE(105, 105, 2, 0x0050, 0x10, 10, 1), + PIN_FIELD_BASE(106, 106, 2, 0x0050, 0x10, 9, 1), + PIN_FIELD_BASE(107, 108, 2, 0x0050, 0x10, 12, 1), + PIN_FIELD_BASE(109, 109, 2, 0x0050, 0x10, 11, 1), + PIN_FIELD_BASE(110, 110, 2, 0x0060, 0x10, 16, 1), + PIN_FIELD_BASE(111, 111, 2, 0x0060, 0x10, 18, 1), + PIN_FIELD_BASE(112, 112, 2, 0x0060, 0x10, 15, 1), + PIN_FIELD_BASE(113, 113, 2, 0x0060, 0x10, 17, 1), + PIN_FIELD_BASE(114, 115, 2, 0x0050, 0x10, 26, 1), + PIN_FIELD_BASE(116, 117, 2, 0x0050, 0x10, 21, 1), + PIN_FIELD_BASE(118, 118, 2, 0x0050, 0x10, 31, 1), + PIN_FIELD_BASE(119, 119, 2, 0x0060, 0x10, 0, 1), + PIN_FIELD_BASE(120, 121, 2, 0x0050, 0x10, 23, 1), + PIN_FIELD_BASE(122, 123, 2, 0x0050, 0x10, 28, 1), + PIN_FIELD_BASE(124, 125, 2, 0x0060, 0x10, 1, 1), + PIN_FIELD_BASE(126, 127, 1, 0x0030, 0x10, 8, 1), + PIN_FIELD_BASE(128, 129, 1, 0x0030, 0x10, 17, 1), + PIN_FIELD_BASE(130, 130, 1, 0x0030, 0x10, 16, 1), + PIN_FIELD_BASE(131, 131, 1, 0x0030, 0x10, 19, 1), + PIN_FIELD_BASE(132, 132, 1, 0x0030, 0x10, 21, 1), + PIN_FIELD_BASE(133, 133, 1, 0x0030, 0x10, 20, 1), + PIN_FIELD_BASE(134, 135, 1, 0x0030, 0x10, 2, 1), + PIN_FIELD_BASE(136, 136, 1, 0x0030, 0x10, 7, 1), + PIN_FIELD_BASE(137, 137, 1, 0x0030, 0x10, 4, 1), + PIN_FIELD_BASE(138, 138, 1, 0x0030, 0x10, 6, 1), + PIN_FIELD_BASE(139, 139, 1, 0x0030, 0x10, 5, 1), + PIN_FIELD_BASE(140, 141, 1, 0x0030, 0x10, 0, 1), + PIN_FIELD_BASE(142, 142, 1, 0x0030, 0x10, 15, 1), + PIN_FIELD_BASE(143, 143, 5, 0x0020, 0x10, 15, 1), + PIN_FIELD_BASE(144, 144, 5, 0x0020, 0x10, 17, 1), + PIN_FIELD_BASE(145, 145, 5, 0x0020, 0x10, 16, 1), + PIN_FIELD_BASE(146, 146, 5, 0x0020, 0x10, 12, 1), + PIN_FIELD_BASE(147, 155, 5, 0x0020, 0x10, 0, 1), + PIN_FIELD_BASE(156, 157, 5, 0x0020, 0x10, 22, 1), + PIN_FIELD_BASE(158, 158, 5, 0x0020, 0x10, 21, 1), + PIN_FIELD_BASE(159, 159, 5, 0x0020, 0x10, 24, 1), + PIN_FIELD_BASE(160, 161, 5, 0x0020, 0x10, 19, 1), + PIN_FIELD_BASE(162, 166, 5, 0x0020, 0x10, 25, 1), + PIN_FIELD_BASE(167, 168, 7, 0x0010, 0x10, 1, 1), + PIN_FIELD_BASE(169, 169, 7, 0x0010, 0x10, 4, 1), + PIN_FIELD_BASE(170, 170, 7, 0x0010, 0x10, 6, 1), + PIN_FIELD_BASE(171, 171, 7, 0x0010, 0x10, 8, 1), + PIN_FIELD_BASE(172, 172, 7, 0x0010, 0x10, 3, 1), + PIN_FIELD_BASE(173, 173, 7, 0x0010, 0x10, 7, 1), + PIN_FIELD_BASE(174, 175, 7, 0x0010, 0x10, 9, 1), + PIN_FIELD_BASE(176, 176, 7, 0x0010, 0x10, 0, 1), + PIN_FIELD_BASE(177, 177, 7, 0x0010, 0x10, 5, 1), + PIN_FIELD_BASE(178, 178, 7, 0x0010, 0x10, 11, 1), + PIN_FIELD_BASE(179, 179, 4, 0x0020, 0x10, 13, 1), + PIN_FIELD_BASE(180, 180, 4, 0x0020, 0x10, 10, 1), + PIN_FIELD_BASE(181, 183, 1, 0x0030, 0x10, 22, 1), + PIN_FIELD_BASE(184, 184, 1, 0x0030, 0x10, 12, 1), + PIN_FIELD_BASE(185, 185, 1, 0x0030, 0x10, 11, 1), + PIN_FIELD_BASE(186, 186, 1, 0x0030, 0x10, 13, 1), + PIN_FIELD_BASE(187, 187, 1, 0x0030, 0x10, 10, 1), + PIN_FIELD_BASE(188, 188, 1, 0x0030, 0x10, 14, 1), + PIN_FIELD_BASE(189, 189, 5, 0x0020, 0x10, 9, 1), + PIN_FIELD_BASE(190, 190, 5, 0x0020, 0x10, 18, 1), + PIN_FIELD_BASE(191, 192, 5, 0x0020, 0x10, 13, 1), + PIN_FIELD_BASE(193, 194, 5, 0x0020, 0x10, 10, 1), + PIN_FIELD_BASE(195, 195, 2, 0x0050, 0x10, 30, 1), + PIN_FIELD_BASE(196, 196, 2, 0x0050, 0x10, 25, 1), + PIN_FIELD_BASE(197, 197, 2, 0x0060, 0x10, 3, 1), + PIN_FIELD_BASE(198, 199, 4, 0x0020, 0x10, 14, 1), + PIN_FIELD_BASE(200, 201, 6, 0x0040, 0x10, 6, 1), + PIN_FIELD_BASE(202, 202, 4, 0x0020, 0x10, 9, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_smt_range[] = { + PINS_FIELD_BASE(0, 9, 6, 0x00c0, 0x10, 3, 1), + PIN_FIELD_BASE(10, 11, 3, 0x00e0, 0x10, 0, 1), + PINS_FIELD_BASE(12, 15, 3, 0x00e0, 0x10, 2, 1), + PIN_FIELD_BASE(16, 16, 3, 0x00e0, 0x10, 3, 1), + PINS_FIELD_BASE(17, 20, 6, 0x00c0, 0x10, 11, 1), + PINS_FIELD_BASE(21, 24, 6, 0x00c0, 0x10, 7, 1), + PIN_FIELD_BASE(25, 25, 6, 0x00c0, 0x10, 12, 1), + PIN_FIELD_BASE(26, 26, 6, 0x00c0, 0x10, 8, 1), + PIN_FIELD_BASE(27, 27, 6, 0x00c0, 0x10, 0, 1), + PIN_FIELD_BASE(28, 29, 6, 0x00c0, 0x10, 9, 1), + PINS_FIELD_BASE(30, 32, 6, 0x00c0, 0x10, 4, 1), + PIN_FIELD_BASE(33, 33, 6, 0x00c0, 0x10, 5, 1), + PIN_FIELD_BASE(34, 34, 6, 0x00c0, 0x10, 4, 1), + PINS_FIELD_BASE(35, 41, 6, 0x00c0, 0x10, 13, 1), + PIN_FIELD_BASE(42, 43, 6, 0x00c0, 0x10, 1, 1), + PIN_FIELD_BASE(44, 44, 6, 0x00c0, 0x10, 6, 1), + PIN_FIELD_BASE(45, 45, 3, 0x00e0, 0x10, 8, 1), + PIN_FIELD_BASE(46, 46, 3, 0x00e0, 0x10, 13, 1), + PINS_FIELD_BASE(47, 50, 3, 0x00e0, 0x10, 14, 1), + PIN_FIELD_BASE(51, 51, 3, 0x00e0, 0x10, 5, 1), + PIN_FIELD_BASE(52, 52, 3, 0x00e0, 0x10, 10, 1), + PIN_FIELD_BASE(53, 54, 3, 0x00e0, 0x10, 15, 1), + PIN_FIELD_BASE(55, 55, 3, 0x00e0, 0x10, 7, 1), + PIN_FIELD_BASE(56, 56, 3, 0x00e0, 0x10, 12, 1), + PINS_FIELD_BASE(57, 60, 3, 0x00e0, 0x10, 4, 1), + PIN_FIELD_BASE(61, 61, 3, 0x00e0, 0x10, 6, 1), + PIN_FIELD_BASE(62, 62, 3, 0x00e0, 0x10, 11, 1), + PINS_FIELD_BASE(63, 66, 3, 0x00e0, 0x10, 9, 1), + PINS_FIELD_BASE(67, 69, 2, 0x00e0, 0x10, 11, 1), + PIN_FIELD_BASE(70, 71, 2, 0x00e0, 0x10, 10, 1), + PINS_FIELD_BASE(72, 75, 4, 0x0070, 0x10, 1, 1), + PINS_FIELD_BASE(76, 77, 4, 0x0070, 0x10, 4, 1), + PINS_FIELD_BASE(78, 86, 2, 0x00e0, 0x10, 1, 1), + PINS_FIELD_BASE(87, 92, 2, 0x00e0, 0x10, 2, 1), + PIN_FIELD_BASE(93, 93, 4, 0x0070, 0x10, 0, 1), + PIN_FIELD_BASE(94, 94, 2, 0x00e0, 0x10, 2, 1), + PINS_FIELD_BASE(95, 98, 4, 0x0070, 0x10, 2, 1), + PINS_FIELD_BASE(99, 104, 2, 0x00e0, 0x10, 12, 1), + PINS_FIELD_BASE(105, 109, 2, 0x00e0, 0x10, 0, 1), + PIN_FIELD_BASE(110, 110, 2, 0x00e0, 0x10, 14, 1), + PIN_FIELD_BASE(111, 111, 2, 0x00e0, 0x10, 16, 1), + PIN_FIELD_BASE(112, 112, 2, 0x00e0, 0x10, 13, 1), + PIN_FIELD_BASE(113, 113, 2, 0x00e0, 0x10, 15, 1), + PINS_FIELD_BASE(114, 115, 2, 0x00e0, 0x10, 4, 1), + PIN_FIELD_BASE(116, 117, 2, 0x00e0, 0x10, 5, 1), + PINS_FIELD_BASE(118, 119, 2, 0x00e0, 0x10, 4, 1), + PIN_FIELD_BASE(120, 121, 2, 0x00e0, 0x10, 7, 1), + PINS_FIELD_BASE(122, 125, 2, 0x00e0, 0x10, 3, 1), + PINS_FIELD_BASE(126, 127, 1, 0x00c0, 0x10, 5, 1), + PINS_FIELD_BASE(128, 130, 1, 0x00c0, 0x10, 9, 1), + PINS_FIELD_BASE(131, 133, 1, 0x00c0, 0x10, 10, 1), + PIN_FIELD_BASE(134, 135, 1, 0x00c0, 0x10, 2, 1), + PINS_FIELD_BASE(136, 139, 1, 0x00c0, 0x10, 4, 1), + PIN_FIELD_BASE(140, 141, 1, 0x00c0, 0x10, 0, 1), + PIN_FIELD_BASE(142, 142, 1, 0x00c0, 0x10, 8, 1), + PINS_FIELD_BASE(143, 146, 5, 0x0060, 0x10, 1, 1), + PINS_FIELD_BASE(147, 155, 5, 0x0060, 0x10, 0, 1), + PIN_FIELD_BASE(156, 157, 5, 0x0060, 0x10, 6, 1), + PIN_FIELD_BASE(158, 158, 5, 0x0060, 0x10, 5, 1), + PIN_FIELD_BASE(159, 159, 5, 0x0060, 0x10, 8, 1), + PIN_FIELD_BASE(160, 161, 5, 0x0060, 0x10, 3, 1), + PINS_FIELD_BASE(162, 166, 5, 0x0060, 0x10, 2, 1), + PIN_FIELD_BASE(167, 167, 7, 0x0060, 0x10, 1, 1), + PINS_FIELD_BASE(168, 174, 7, 0x0060, 0x10, 2, 1), + PIN_FIELD_BASE(175, 175, 7, 0x0060, 0x10, 3, 1), + PIN_FIELD_BASE(176, 176, 7, 0x0060, 0x10, 0, 1), + PINS_FIELD_BASE(177, 178, 7, 0x0060, 0x10, 2, 1), + PINS_FIELD_BASE(179, 180, 4, 0x0070, 0x10, 4, 1), + PIN_FIELD_BASE(181, 183, 1, 0x00c0, 0x10, 11, 1), + PINS_FIELD_BASE(184, 187, 1, 0x00c0, 0x10, 6, 1), + PIN_FIELD_BASE(188, 188, 1, 0x00c0, 0x10, 7, 1), + PINS_FIELD_BASE(189, 194, 5, 0x0060, 0x10, 1, 1), + PIN_FIELD_BASE(195, 195, 2, 0x00e0, 0x10, 3, 1), + PIN_FIELD_BASE(196, 196, 2, 0x00e0, 0x10, 9, 1), + PIN_FIELD_BASE(197, 197, 2, 0x00e0, 0x10, 3, 1), + PIN_FIELD_BASE(198, 199, 4, 0x0070, 0x10, 5, 1), + PIN_FIELD_BASE(200, 201, 6, 0x00c0, 0x10, 14, 1), + PIN_FIELD_BASE(202, 202, 4, 0x0070, 0x10, 3, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_pu_range[] = { + PIN_FIELD_BASE(0, 9, 6, 0x0070, 0x10, 3, 1), + PIN_FIELD_BASE(16, 16, 3, 0x0080, 0x10, 0, 1), + PIN_FIELD_BASE(17, 18, 6, 0x0070, 0x10, 28, 1), + PIN_FIELD_BASE(19, 19, 6, 0x0070, 0x10, 27, 1), + PIN_FIELD_BASE(20, 20, 6, 0x0070, 0x10, 26, 1), + PIN_FIELD_BASE(21, 24, 6, 0x0070, 0x10, 19, 1), + PIN_FIELD_BASE(25, 25, 6, 0x0070, 0x10, 30, 1), + PIN_FIELD_BASE(26, 26, 6, 0x0070, 0x10, 23, 1), + PIN_FIELD_BASE(27, 27, 6, 0x0070, 0x10, 0, 1), + PIN_FIELD_BASE(28, 29, 6, 0x0070, 0x10, 24, 1), + PIN_FIELD_BASE(30, 30, 6, 0x0070, 0x10, 16, 1), + PIN_FIELD_BASE(31, 31, 6, 0x0070, 0x10, 13, 1), + PIN_FIELD_BASE(32, 32, 6, 0x0070, 0x10, 15, 1), + PIN_FIELD_BASE(33, 33, 6, 0x0070, 0x10, 17, 1), + PIN_FIELD_BASE(34, 34, 6, 0x0070, 0x10, 14, 1), + PIN_FIELD_BASE(35, 35, 6, 0x0080, 0x10, 5, 1), + PIN_FIELD_BASE(36, 36, 6, 0x0080, 0x10, 0, 1), + PIN_FIELD_BASE(37, 37, 6, 0x0080, 0x10, 6, 1), + PIN_FIELD_BASE(38, 41, 6, 0x0080, 0x10, 1, 1), + PIN_FIELD_BASE(42, 43, 6, 0x0070, 0x10, 1, 1), + PIN_FIELD_BASE(44, 44, 6, 0x0070, 0x10, 18, 1), + PIN_FIELD_BASE(45, 45, 3, 0x0080, 0x10, 4, 1), + PIN_FIELD_BASE(46, 46, 3, 0x0080, 0x10, 12, 1), + PIN_FIELD_BASE(47, 47, 3, 0x0080, 0x10, 15, 1), + PIN_FIELD_BASE(48, 48, 3, 0x0080, 0x10, 14, 1), + PIN_FIELD_BASE(49, 49, 3, 0x0080, 0x10, 16, 1), + PIN_FIELD_BASE(50, 50, 3, 0x0080, 0x10, 13, 1), + PIN_FIELD_BASE(51, 51, 3, 0x0080, 0x10, 1, 1), + PIN_FIELD_BASE(52, 52, 3, 0x0080, 0x10, 9, 1), + PIN_FIELD_BASE(53, 54, 3, 0x0080, 0x10, 18, 1), + PIN_FIELD_BASE(55, 55, 3, 0x0080, 0x10, 3, 1), + PIN_FIELD_BASE(56, 56, 3, 0x0080, 0x10, 11, 1), + PIN_FIELD_BASE(61, 61, 3, 0x0080, 0x10, 2, 1), + PIN_FIELD_BASE(62, 62, 3, 0x0080, 0x10, 10, 1), + PIN_FIELD_BASE(63, 63, 3, 0x0080, 0x10, 7, 1), + PIN_FIELD_BASE(64, 64, 3, 0x0080, 0x10, 6, 1), + PIN_FIELD_BASE(65, 65, 3, 0x0080, 0x10, 8, 1), + PIN_FIELD_BASE(66, 66, 3, 0x0080, 0x10, 5, 1), + PIN_FIELD_BASE(67, 67, 2, 0x00a0, 0x10, 7, 1), + PIN_FIELD_BASE(68, 68, 2, 0x00a0, 0x10, 6, 1), + PIN_FIELD_BASE(69, 69, 2, 0x00a0, 0x10, 8, 1), + PIN_FIELD_BASE(70, 71, 2, 0x00a0, 0x10, 4, 1), + PIN_FIELD_BASE(72, 72, 4, 0x0040, 0x10, 3, 1), + PIN_FIELD_BASE(73, 73, 4, 0x0040, 0x10, 2, 1), + PIN_FIELD_BASE(74, 74, 4, 0x0040, 0x10, 1, 1), + PIN_FIELD_BASE(75, 75, 4, 0x0040, 0x10, 4, 1), + PIN_FIELD_BASE(76, 76, 4, 0x0040, 0x10, 12, 1), + PIN_FIELD_BASE(77, 77, 4, 0x0040, 0x10, 11, 1), + PIN_FIELD_BASE(78, 78, 2, 0x0090, 0x10, 18, 1), + PIN_FIELD_BASE(79, 79, 2, 0x0090, 0x10, 17, 1), + PIN_FIELD_BASE(80, 81, 2, 0x0090, 0x10, 19, 1), + PIN_FIELD_BASE(82, 88, 2, 0x0090, 0x10, 1, 1), + PIN_FIELD_BASE(89, 89, 2, 0x0090, 0x10, 16, 1), + PIN_FIELD_BASE(90, 90, 2, 0x0090, 0x10, 15, 1), + PIN_FIELD_BASE(91, 91, 2, 0x0090, 0x10, 14, 1), + PIN_FIELD_BASE(92, 92, 2, 0x0090, 0x10, 8, 1), + PIN_FIELD_BASE(93, 93, 4, 0x0040, 0x10, 0, 1), + PIN_FIELD_BASE(94, 94, 2, 0x0090, 0x10, 0, 1), + PIN_FIELD_BASE(95, 95, 4, 0x0040, 0x10, 7, 1), + PIN_FIELD_BASE(96, 96, 4, 0x0040, 0x10, 5, 1), + PIN_FIELD_BASE(97, 97, 4, 0x0040, 0x10, 8, 1), + PIN_FIELD_BASE(98, 98, 4, 0x0040, 0x10, 6, 1), + PIN_FIELD_BASE(99, 99, 2, 0x00a0, 0x10, 9, 1), + PIN_FIELD_BASE(100, 100, 2, 0x00a0, 0x10, 12, 1), + PIN_FIELD_BASE(101, 101, 2, 0x00a0, 0x10, 10, 1), + PIN_FIELD_BASE(102, 102, 2, 0x00a0, 0x10, 13, 1), + PIN_FIELD_BASE(103, 103, 2, 0x00a0, 0x10, 11, 1), + PIN_FIELD_BASE(104, 104, 2, 0x00a0, 0x10, 14, 1), + PIN_FIELD_BASE(105, 105, 2, 0x0090, 0x10, 10, 1), + PIN_FIELD_BASE(106, 106, 2, 0x0090, 0x10, 9, 1), + PIN_FIELD_BASE(107, 108, 2, 0x0090, 0x10, 12, 1), + PIN_FIELD_BASE(109, 109, 2, 0x0090, 0x10, 11, 1), + PIN_FIELD_BASE(110, 110, 2, 0x00a0, 0x10, 16, 1), + PIN_FIELD_BASE(111, 111, 2, 0x00a0, 0x10, 18, 1), + PIN_FIELD_BASE(112, 112, 2, 0x00a0, 0x10, 15, 1), + PIN_FIELD_BASE(113, 113, 2, 0x00a0, 0x10, 17, 1), + PIN_FIELD_BASE(114, 115, 2, 0x0090, 0x10, 26, 1), + PIN_FIELD_BASE(116, 117, 2, 0x0090, 0x10, 21, 1), + PIN_FIELD_BASE(118, 118, 2, 0x0090, 0x10, 31, 1), + PIN_FIELD_BASE(119, 119, 2, 0x00a0, 0x10, 0, 1), + PIN_FIELD_BASE(120, 121, 2, 0x0090, 0x10, 23, 1), + PIN_FIELD_BASE(122, 123, 2, 0x0090, 0x10, 28, 1), + PIN_FIELD_BASE(124, 125, 2, 0x00a0, 0x10, 1, 1), + PIN_FIELD_BASE(126, 127, 1, 0x0070, 0x10, 2, 1), + PIN_FIELD_BASE(140, 141, 1, 0x0070, 0x10, 0, 1), + PIN_FIELD_BASE(142, 142, 1, 0x0070, 0x10, 9, 1), + PIN_FIELD_BASE(143, 143, 5, 0x0040, 0x10, 15, 1), + PIN_FIELD_BASE(144, 144, 5, 0x0040, 0x10, 17, 1), + PIN_FIELD_BASE(145, 145, 5, 0x0040, 0x10, 16, 1), + PIN_FIELD_BASE(146, 146, 5, 0x0040, 0x10, 12, 1), + PIN_FIELD_BASE(147, 155, 5, 0x0040, 0x10, 0, 1), + PIN_FIELD_BASE(156, 157, 5, 0x0040, 0x10, 22, 1), + PIN_FIELD_BASE(158, 158, 5, 0x0040, 0x10, 21, 1), + PIN_FIELD_BASE(159, 159, 5, 0x0040, 0x10, 24, 1), + PIN_FIELD_BASE(160, 161, 5, 0x0040, 0x10, 19, 1), + PIN_FIELD_BASE(162, 166, 5, 0x0040, 0x10, 25, 1), + PIN_FIELD_BASE(179, 179, 4, 0x0040, 0x10, 13, 1), + PIN_FIELD_BASE(180, 180, 4, 0x0040, 0x10, 10, 1), + PIN_FIELD_BASE(181, 183, 1, 0x0070, 0x10, 10, 1), + PIN_FIELD_BASE(184, 184, 1, 0x0070, 0x10, 6, 1), + PIN_FIELD_BASE(185, 185, 1, 0x0070, 0x10, 5, 1), + PIN_FIELD_BASE(186, 186, 1, 0x0070, 0x10, 7, 1), + PIN_FIELD_BASE(187, 187, 1, 0x0070, 0x10, 4, 1), + PIN_FIELD_BASE(188, 188, 1, 0x0070, 0x10, 8, 1), + PIN_FIELD_BASE(189, 189, 5, 0x0040, 0x10, 9, 1), + PIN_FIELD_BASE(190, 190, 5, 0x0040, 0x10, 18, 1), + PIN_FIELD_BASE(191, 192, 5, 0x0040, 0x10, 13, 1), + PIN_FIELD_BASE(193, 194, 5, 0x0040, 0x10, 10, 1), + PIN_FIELD_BASE(195, 195, 2, 0x0090, 0x10, 30, 1), + PIN_FIELD_BASE(196, 196, 2, 0x0090, 0x10, 25, 1), + PIN_FIELD_BASE(197, 197, 2, 0x00a0, 0x10, 3, 1), + PIN_FIELD_BASE(198, 199, 4, 0x0040, 0x10, 14, 1), + PIN_FIELD_BASE(200, 201, 6, 0x0080, 0x10, 7, 1), + PIN_FIELD_BASE(202, 202, 4, 0x0040, 0x10, 9, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_pd_range[] = { + PIN_FIELD_BASE(0, 9, 6, 0x0050, 0x10, 3, 1), + PIN_FIELD_BASE(16, 16, 3, 0x0060, 0x10, 0, 1), + PIN_FIELD_BASE(17, 18, 6, 0x0050, 0x10, 28, 1), + PIN_FIELD_BASE(19, 19, 6, 0x0050, 0x10, 27, 1), + PIN_FIELD_BASE(20, 20, 6, 0x0050, 0x10, 26, 1), + PIN_FIELD_BASE(21, 24, 6, 0x0050, 0x10, 19, 1), + PIN_FIELD_BASE(25, 25, 6, 0x0050, 0x10, 30, 1), + PIN_FIELD_BASE(26, 26, 6, 0x0050, 0x10, 23, 1), + PIN_FIELD_BASE(27, 27, 6, 0x0050, 0x10, 0, 1), + PIN_FIELD_BASE(28, 29, 6, 0x0050, 0x10, 24, 1), + PIN_FIELD_BASE(30, 30, 6, 0x0050, 0x10, 16, 1), + PIN_FIELD_BASE(31, 31, 6, 0x0050, 0x10, 13, 1), + PIN_FIELD_BASE(32, 32, 6, 0x0050, 0x10, 15, 1), + PIN_FIELD_BASE(33, 33, 6, 0x0050, 0x10, 17, 1), + PIN_FIELD_BASE(34, 34, 6, 0x0050, 0x10, 14, 1), + PIN_FIELD_BASE(35, 35, 6, 0x0060, 0x10, 5, 1), + PIN_FIELD_BASE(36, 36, 6, 0x0060, 0x10, 0, 1), + PIN_FIELD_BASE(37, 37, 6, 0x0060, 0x10, 6, 1), + PIN_FIELD_BASE(38, 41, 6, 0x0060, 0x10, 1, 1), + PIN_FIELD_BASE(42, 43, 6, 0x0050, 0x10, 1, 1), + PIN_FIELD_BASE(44, 44, 6, 0x0050, 0x10, 18, 1), + PIN_FIELD_BASE(45, 45, 3, 0x0060, 0x10, 4, 1), + PIN_FIELD_BASE(46, 46, 3, 0x0060, 0x10, 12, 1), + PIN_FIELD_BASE(47, 47, 3, 0x0060, 0x10, 15, 1), + PIN_FIELD_BASE(48, 48, 3, 0x0060, 0x10, 14, 1), + PIN_FIELD_BASE(49, 49, 3, 0x0060, 0x10, 16, 1), + PIN_FIELD_BASE(50, 50, 3, 0x0060, 0x10, 13, 1), + PIN_FIELD_BASE(51, 51, 3, 0x0060, 0x10, 1, 1), + PIN_FIELD_BASE(52, 52, 3, 0x0060, 0x10, 9, 1), + PIN_FIELD_BASE(53, 54, 3, 0x0060, 0x10, 18, 1), + PIN_FIELD_BASE(55, 55, 3, 0x0060, 0x10, 3, 1), + PIN_FIELD_BASE(56, 56, 3, 0x0060, 0x10, 11, 1), + PIN_FIELD_BASE(61, 61, 3, 0x0060, 0x10, 2, 1), + PIN_FIELD_BASE(62, 62, 3, 0x0060, 0x10, 10, 1), + PIN_FIELD_BASE(63, 63, 3, 0x0060, 0x10, 7, 1), + PIN_FIELD_BASE(64, 64, 3, 0x0060, 0x10, 6, 1), + PIN_FIELD_BASE(65, 65, 3, 0x0060, 0x10, 8, 1), + PIN_FIELD_BASE(66, 66, 3, 0x0060, 0x10, 5, 1), + PIN_FIELD_BASE(67, 67, 2, 0x0080, 0x10, 7, 1), + PIN_FIELD_BASE(68, 68, 2, 0x0080, 0x10, 6, 1), + PIN_FIELD_BASE(69, 69, 2, 0x0080, 0x10, 8, 1), + PIN_FIELD_BASE(70, 71, 2, 0x0080, 0x10, 4, 1), + PIN_FIELD_BASE(72, 72, 4, 0x0030, 0x10, 3, 1), + PIN_FIELD_BASE(73, 73, 4, 0x0030, 0x10, 2, 1), + PIN_FIELD_BASE(74, 74, 4, 0x0030, 0x10, 1, 1), + PIN_FIELD_BASE(75, 75, 4, 0x0030, 0x10, 4, 1), + PIN_FIELD_BASE(76, 76, 4, 0x0030, 0x10, 12, 1), + PIN_FIELD_BASE(77, 77, 4, 0x0030, 0x10, 11, 1), + PIN_FIELD_BASE(78, 78, 2, 0x0070, 0x10, 18, 1), + PIN_FIELD_BASE(79, 79, 2, 0x0070, 0x10, 17, 1), + PIN_FIELD_BASE(80, 81, 2, 0x0070, 0x10, 19, 1), + PIN_FIELD_BASE(82, 88, 2, 0x0070, 0x10, 1, 1), + PIN_FIELD_BASE(89, 89, 2, 0x0070, 0x10, 16, 1), + PIN_FIELD_BASE(90, 90, 2, 0x0070, 0x10, 15, 1), + PIN_FIELD_BASE(91, 91, 2, 0x0070, 0x10, 14, 1), + PIN_FIELD_BASE(92, 92, 2, 0x0070, 0x10, 8, 1), + PIN_FIELD_BASE(93, 93, 4, 0x0030, 0x10, 0, 1), + PIN_FIELD_BASE(94, 94, 2, 0x0070, 0x10, 0, 1), + PIN_FIELD_BASE(95, 95, 4, 0x0030, 0x10, 7, 1), + PIN_FIELD_BASE(96, 96, 4, 0x0030, 0x10, 5, 1), + PIN_FIELD_BASE(97, 97, 4, 0x0030, 0x10, 8, 1), + PIN_FIELD_BASE(98, 98, 4, 0x0030, 0x10, 6, 1), + PIN_FIELD_BASE(99, 99, 2, 0x0080, 0x10, 9, 1), + PIN_FIELD_BASE(100, 100, 2, 0x0080, 0x10, 12, 1), + PIN_FIELD_BASE(101, 101, 2, 0x0080, 0x10, 10, 1), + PIN_FIELD_BASE(102, 102, 2, 0x0080, 0x10, 13, 1), + PIN_FIELD_BASE(103, 103, 2, 0x0080, 0x10, 11, 1), + PIN_FIELD_BASE(104, 104, 2, 0x0080, 0x10, 14, 1), + PIN_FIELD_BASE(105, 105, 2, 0x0070, 0x10, 10, 1), + PIN_FIELD_BASE(106, 106, 2, 0x0070, 0x10, 9, 1), + PIN_FIELD_BASE(107, 108, 2, 0x0070, 0x10, 12, 1), + PIN_FIELD_BASE(109, 109, 2, 0x0070, 0x10, 11, 1), + PIN_FIELD_BASE(110, 110, 2, 0x0080, 0x10, 16, 1), + PIN_FIELD_BASE(111, 111, 2, 0x0080, 0x10, 18, 1), + PIN_FIELD_BASE(112, 112, 2, 0x0080, 0x10, 15, 1), + PIN_FIELD_BASE(113, 113, 2, 0x0080, 0x10, 17, 1), + PIN_FIELD_BASE(114, 115, 2, 0x0070, 0x10, 26, 1), + PIN_FIELD_BASE(116, 117, 2, 0x0070, 0x10, 21, 1), + PIN_FIELD_BASE(118, 118, 2, 0x0070, 0x10, 31, 1), + PIN_FIELD_BASE(119, 119, 2, 0x0080, 0x10, 0, 1), + PIN_FIELD_BASE(120, 121, 2, 0x0070, 0x10, 23, 1), + PIN_FIELD_BASE(122, 123, 2, 0x0070, 0x10, 28, 1), + PIN_FIELD_BASE(124, 125, 2, 0x0080, 0x10, 1, 1), + PIN_FIELD_BASE(126, 127, 1, 0x0050, 0x10, 2, 1), + PIN_FIELD_BASE(140, 141, 1, 0x0050, 0x10, 0, 1), + PIN_FIELD_BASE(142, 142, 1, 0x0050, 0x10, 9, 1), + PIN_FIELD_BASE(143, 143, 5, 0x0030, 0x10, 15, 1), + PIN_FIELD_BASE(144, 144, 5, 0x0030, 0x10, 17, 1), + PIN_FIELD_BASE(145, 145, 5, 0x0030, 0x10, 16, 1), + PIN_FIELD_BASE(146, 146, 5, 0x0030, 0x10, 12, 1), + PIN_FIELD_BASE(147, 155, 5, 0x0030, 0x10, 0, 1), + PIN_FIELD_BASE(156, 157, 5, 0x0030, 0x10, 22, 1), + PIN_FIELD_BASE(158, 158, 5, 0x0030, 0x10, 21, 1), + PIN_FIELD_BASE(159, 159, 5, 0x0030, 0x10, 24, 1), + PIN_FIELD_BASE(160, 161, 5, 0x0030, 0x10, 19, 1), + PIN_FIELD_BASE(162, 166, 5, 0x0030, 0x10, 25, 1), + PIN_FIELD_BASE(179, 179, 4, 0x0030, 0x10, 13, 1), + PIN_FIELD_BASE(180, 180, 4, 0x0030, 0x10, 10, 1), + PIN_FIELD_BASE(181, 183, 1, 0x0050, 0x10, 10, 1), + PIN_FIELD_BASE(184, 184, 1, 0x0050, 0x10, 6, 1), + PIN_FIELD_BASE(185, 185, 1, 0x0050, 0x10, 5, 1), + PIN_FIELD_BASE(186, 186, 1, 0x0050, 0x10, 7, 1), + PIN_FIELD_BASE(187, 187, 1, 0x0050, 0x10, 4, 1), + PIN_FIELD_BASE(188, 188, 1, 0x0050, 0x10, 8, 1), + PIN_FIELD_BASE(189, 189, 5, 0x0030, 0x10, 9, 1), + PIN_FIELD_BASE(190, 190, 5, 0x0030, 0x10, 18, 1), + PIN_FIELD_BASE(191, 192, 5, 0x0030, 0x10, 13, 1), + PIN_FIELD_BASE(193, 194, 5, 0x0030, 0x10, 10, 1), + PIN_FIELD_BASE(195, 195, 2, 0x0070, 0x10, 30, 1), + PIN_FIELD_BASE(196, 196, 2, 0x0070, 0x10, 25, 1), + PIN_FIELD_BASE(197, 197, 2, 0x0080, 0x10, 3, 1), + PIN_FIELD_BASE(198, 199, 4, 0x0030, 0x10, 14, 1), + PIN_FIELD_BASE(200, 201, 6, 0x0060, 0x10, 7, 1), + PIN_FIELD_BASE(202, 202, 4, 0x0030, 0x10, 9, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_drv_range[] = { + PINS_FIELD_BASE(0, 9, 6, 0x0000, 0x10, 9, 3), + PIN_FIELD_BASE(10, 16, 3, 0x0000, 0x10, 0, 3), + PINS_FIELD_BASE(17, 19, 6, 0x0010, 0x10, 3, 3), + PIN_FIELD_BASE(20, 20, 6, 0x0010, 0x10, 6, 3), + PINS_FIELD_BASE(21, 24, 6, 0x0000, 0x10, 21, 3), + PIN_FIELD_BASE(25, 25, 6, 0x0010, 0x10, 9, 3), + PIN_FIELD_BASE(26, 26, 6, 0x0000, 0x10, 24, 3), + PIN_FIELD_BASE(27, 27, 6, 0x0000, 0x10, 0, 3), + PIN_FIELD_BASE(28, 28, 6, 0x0000, 0x10, 27, 3), + PIN_FIELD_BASE(29, 29, 6, 0x0010, 0x10, 0, 3), + PINS_FIELD_BASE(30, 32, 6, 0x0000, 0x10, 12, 3), + PIN_FIELD_BASE(33, 33, 6, 0x0000, 0x10, 15, 3), + PIN_FIELD_BASE(34, 34, 6, 0x0000, 0x10, 12, 3), + PINS_FIELD_BASE(35, 41, 6, 0x0010, 0x10, 12, 3), + PIN_FIELD_BASE(42, 43, 6, 0x0000, 0x10, 3, 3), + PIN_FIELD_BASE(44, 44, 6, 0x0000, 0x10, 18, 3), + PIN_FIELD_BASE(45, 45, 3, 0x0010, 0x10, 12, 3), + PIN_FIELD_BASE(46, 46, 3, 0x0020, 0x10, 0, 3), + PINS_FIELD_BASE(47, 49, 3, 0x0020, 0x10, 3, 3), + PIN_FIELD_BASE(50, 50, 3, 0x0020, 0x10, 6, 3), + PIN_FIELD_BASE(51, 51, 3, 0x0010, 0x10, 3, 3), + PIN_FIELD_BASE(52, 52, 3, 0x0010, 0x10, 21, 3), + PINS_FIELD_BASE(53, 54, 3, 0x0020, 0x10, 9, 3), + PIN_FIELD_BASE(55, 55, 3, 0x0010, 0x10, 9, 3), + PIN_FIELD_BASE(56, 56, 3, 0x0010, 0x10, 27, 3), + PIN_FIELD_BASE(57, 57, 3, 0x0010, 0x10, 0, 3), + PIN_FIELD_BASE(58, 58, 3, 0x0000, 0x10, 27, 3), + PIN_FIELD_BASE(59, 60, 3, 0x0000, 0x10, 21, 3), + PIN_FIELD_BASE(61, 61, 3, 0x0010, 0x10, 6, 3), + PIN_FIELD_BASE(62, 62, 3, 0x0010, 0x10, 24, 3), + PINS_FIELD_BASE(63, 65, 3, 0x0010, 0x10, 15, 3), + PIN_FIELD_BASE(66, 66, 3, 0x0010, 0x10, 18, 3), + PINS_FIELD_BASE(67, 69, 2, 0x0010, 0x10, 3, 3), + PIN_FIELD_BASE(70, 71, 2, 0x0010, 0x10, 0, 3), + PINS_FIELD_BASE(72, 75, 4, 0x0000, 0x10, 0, 3), + PINS_FIELD_BASE(76, 77, 4, 0x0000, 0x10, 15, 3), + PINS_FIELD_BASE(78, 86, 2, 0x0000, 0x10, 3, 3), + PINS_FIELD_BASE(87, 92, 2, 0x0000, 0x10, 6, 3), + PIN_FIELD_BASE(93, 93, 4, 0x0000, 0x10, 3, 3), + PIN_FIELD_BASE(94, 94, 2, 0x0000, 0x10, 6, 3), + PINS_FIELD_BASE(95, 96, 4, 0x0000, 0x10, 6, 3), + PINS_FIELD_BASE(97, 98, 4, 0x0000, 0x10, 9, 3), + PINS_FIELD_BASE(99, 100, 2, 0x0010, 0x10, 6, 3), + PINS_FIELD_BASE(101, 102, 2, 0x0010, 0x10, 9, 3), + PINS_FIELD_BASE(103, 104, 2, 0x0010, 0x10, 12, 3), + PINS_FIELD_BASE(105, 109, 2, 0x0000, 0x10, 0, 3), + PIN_FIELD_BASE(110, 110, 2, 0x0010, 0x10, 18, 3), + PIN_FIELD_BASE(111, 111, 2, 0x0010, 0x10, 24, 3), + PIN_FIELD_BASE(112, 112, 2, 0x0010, 0x10, 15, 3), + PIN_FIELD_BASE(113, 113, 2, 0x0010, 0x10, 21, 3), + PINS_FIELD_BASE(114, 115, 2, 0x0000, 0x10, 12, 3), + PIN_FIELD_BASE(116, 117, 2, 0x0000, 0x10, 15, 3), + PINS_FIELD_BASE(118, 119, 2, 0x0000, 0x10, 12, 3), + PIN_FIELD_BASE(120, 121, 2, 0x0000, 0x10, 21, 3), + PINS_FIELD_BASE(122, 125, 2, 0x0000, 0x10, 9, 3), + PINS_FIELD_BASE(126, 127, 1, 0x0000, 0x10, 12, 3), + PIN_FIELD_BASE(128, 128, 1, 0x0000, 0x10, 29, 2), + PIN_FIELD_BASE(129, 129, 1, 0x0010, 0x10, 0, 2), + PIN_FIELD_BASE(130, 130, 1, 0x0000, 0x10, 27, 2), + PIN_FIELD_BASE(131, 131, 1, 0x0010, 0x10, 2, 2), + PIN_FIELD_BASE(132, 132, 1, 0x0010, 0x10, 6, 2), + PIN_FIELD_BASE(133, 133, 1, 0x0010, 0x10, 4, 2), + PIN_FIELD_BASE(134, 135, 1, 0x0000, 0x10, 3, 3), + PINS_FIELD_BASE(136, 139, 1, 0x0000, 0x10, 9, 3), + PINS_FIELD_BASE(140, 141, 1, 0x0000, 0x10, 0, 3), + PIN_FIELD_BASE(142, 142, 1, 0x0000, 0x10, 24, 3), + PINS_FIELD_BASE(143, 146, 5, 0x0000, 0x10, 3, 3), + PINS_FIELD_BASE(147, 155, 5, 0x0000, 0x10, 0, 3), + PIN_FIELD_BASE(156, 157, 5, 0x0000, 0x10, 21, 3), + PIN_FIELD_BASE(158, 158, 5, 0x0000, 0x10, 15, 3), + PIN_FIELD_BASE(159, 159, 5, 0x0000, 0x10, 27, 3), + PIN_FIELD_BASE(160, 161, 5, 0x0000, 0x10, 9, 3), + PINS_FIELD_BASE(162, 166, 5, 0x0000, 0x10, 18, 3), + PIN_FIELD_BASE(167, 167, 7, 0x0000, 0x10, 3, 3), + PINS_FIELD_BASE(168, 174, 7, 0x0000, 0x10, 6, 3), + PIN_FIELD_BASE(175, 175, 7, 0x0000, 0x10, 9, 3), + PIN_FIELD_BASE(176, 176, 7, 0x0000, 0x10, 0, 3), + PINS_FIELD_BASE(177, 178, 7, 0x0000, 0x10, 6, 3), + PIN_FIELD_BASE(179, 180, 4, 0x0000, 0x10, 15, 3), + PIN_FIELD_BASE(181, 183, 1, 0x0010, 0x10, 8, 3), + PINS_FIELD_BASE(184, 186, 1, 0x0000, 0x10, 15, 3), + PIN_FIELD_BASE(187, 188, 1, 0x0000, 0x10, 18, 3), + PIN_FIELD_BASE(189, 189, 5, 0x0000, 0x10, 6, 3), + PINS_FIELD_BASE(190, 194, 5, 0x0000, 0x10, 3, 3), + PIN_FIELD_BASE(195, 195, 2, 0x0000, 0x10, 9, 3), + PIN_FIELD_BASE(196, 196, 2, 0x0000, 0x10, 27, 3), + PIN_FIELD_BASE(197, 197, 2, 0x0000, 0x10, 9, 3), + PIN_FIELD_BASE(198, 199, 4, 0x0000, 0x10, 21, 3), + PINS_FIELD_BASE(200, 201, 6, 0x0010, 0x10, 15, 3), + PIN_FIELD_BASE(202, 202, 4, 0x0000, 0x10, 12, 3), +}; + +static const struct mtk_pin_field_calc mt6779_pin_pupd_range[] = { + PIN_FIELD_BASE(10, 15, 3, 0x0070, 0x10, 0, 1), + PIN_FIELD_BASE(57, 57, 3, 0x0070, 0x10, 9, 1), + PIN_FIELD_BASE(58, 58, 3, 0x0070, 0x10, 8, 1), + PIN_FIELD_BASE(59, 60, 3, 0x0070, 0x10, 6, 1), + PIN_FIELD_BASE(128, 129, 1, 0x0060, 0x10, 7, 1), + PIN_FIELD_BASE(130, 130, 1, 0x0060, 0x10, 6, 1), + PIN_FIELD_BASE(131, 131, 1, 0x0060, 0x10, 9, 1), + PIN_FIELD_BASE(132, 132, 1, 0x0060, 0x10, 11, 1), + PIN_FIELD_BASE(133, 133, 1, 0x0060, 0x10, 10, 1), + PIN_FIELD_BASE(134, 135, 1, 0x0060, 0x10, 0, 1), + PIN_FIELD_BASE(136, 136, 1, 0x0060, 0x10, 5, 1), + PIN_FIELD_BASE(137, 137, 1, 0x0060, 0x10, 2, 1), + PIN_FIELD_BASE(138, 138, 1, 0x0060, 0x10, 4, 1), + PIN_FIELD_BASE(139, 139, 1, 0x0060, 0x10, 3, 1), + PIN_FIELD_BASE(167, 168, 7, 0x0020, 0x10, 1, 1), + PIN_FIELD_BASE(169, 169, 7, 0x0020, 0x10, 4, 1), + PIN_FIELD_BASE(170, 170, 7, 0x0020, 0x10, 6, 1), + PIN_FIELD_BASE(171, 171, 7, 0x0020, 0x10, 8, 1), + PIN_FIELD_BASE(172, 172, 7, 0x0020, 0x10, 3, 1), + PIN_FIELD_BASE(173, 173, 7, 0x0020, 0x10, 7, 1), + PIN_FIELD_BASE(174, 175, 7, 0x0020, 0x10, 9, 1), + PIN_FIELD_BASE(176, 176, 7, 0x0020, 0x10, 0, 1), + PIN_FIELD_BASE(177, 177, 7, 0x0020, 0x10, 5, 1), + PIN_FIELD_BASE(178, 178, 7, 0x0020, 0x10, 11, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_r0_range[] = { + PIN_FIELD_BASE(10, 15, 3, 0x0090, 0x10, 0, 1), + PIN_FIELD_BASE(57, 57, 3, 0x0090, 0x10, 9, 1), + PIN_FIELD_BASE(58, 58, 3, 0x0090, 0x10, 8, 1), + PIN_FIELD_BASE(59, 60, 3, 0x0090, 0x10, 6, 1), + PIN_FIELD_BASE(128, 129, 1, 0x0080, 0x10, 7, 1), + PIN_FIELD_BASE(130, 130, 1, 0x0080, 0x10, 6, 1), + PIN_FIELD_BASE(131, 131, 1, 0x0080, 0x10, 9, 1), + PIN_FIELD_BASE(132, 132, 1, 0x0080, 0x10, 11, 1), + PIN_FIELD_BASE(133, 133, 1, 0x0080, 0x10, 10, 1), + PIN_FIELD_BASE(134, 135, 1, 0x0080, 0x10, 0, 1), + PIN_FIELD_BASE(136, 136, 1, 0x0080, 0x10, 5, 1), + PIN_FIELD_BASE(137, 137, 1, 0x0080, 0x10, 2, 1), + PIN_FIELD_BASE(138, 138, 1, 0x0080, 0x10, 4, 1), + PIN_FIELD_BASE(139, 139, 1, 0x0080, 0x10, 3, 1), + PIN_FIELD_BASE(167, 168, 7, 0x0030, 0x10, 1, 1), + PIN_FIELD_BASE(169, 169, 7, 0x0030, 0x10, 4, 1), + PIN_FIELD_BASE(170, 170, 7, 0x0030, 0x10, 6, 1), + PIN_FIELD_BASE(171, 171, 7, 0x0030, 0x10, 8, 1), + PIN_FIELD_BASE(172, 172, 7, 0x0030, 0x10, 3, 1), + PIN_FIELD_BASE(173, 173, 7, 0x0030, 0x10, 7, 1), + PIN_FIELD_BASE(174, 175, 7, 0x0030, 0x10, 9, 1), + PIN_FIELD_BASE(176, 176, 7, 0x0030, 0x10, 0, 1), + PIN_FIELD_BASE(177, 177, 7, 0x0030, 0x10, 5, 1), + PIN_FIELD_BASE(178, 178, 7, 0x0030, 0x10, 11, 1), +}; + +static const struct mtk_pin_field_calc mt6779_pin_r1_range[] = { + PIN_FIELD_BASE(10, 15, 3, 0x00a0, 0x10, 0, 1), + PIN_FIELD_BASE(57, 57, 3, 0x00a0, 0x10, 9, 1), + PIN_FIELD_BASE(58, 58, 3, 0x00a0, 0x10, 8, 1), + PIN_FIELD_BASE(59, 60, 3, 0x00a0, 0x10, 6, 1), + PIN_FIELD_BASE(128, 129, 1, 0x0090, 0x10, 7, 1), + PIN_FIELD_BASE(130, 130, 1, 0x0090, 0x10, 6, 1), + PIN_FIELD_BASE(131, 131, 1, 0x0090, 0x10, 9, 1), + PIN_FIELD_BASE(132, 132, 1, 0x0090, 0x10, 11, 1), + PIN_FIELD_BASE(133, 133, 1, 0x0090, 0x10, 10, 1), + PIN_FIELD_BASE(134, 135, 1, 0x0090, 0x10, 0, 1), + PIN_FIELD_BASE(136, 136, 1, 0x0090, 0x10, 5, 1), + PIN_FIELD_BASE(137, 137, 1, 0x0090, 0x10, 2, 1), + PIN_FIELD_BASE(138, 138, 1, 0x0090, 0x10, 4, 1), + PIN_FIELD_BASE(139, 139, 1, 0x0090, 0x10, 3, 1), + PIN_FIELD_BASE(167, 168, 7, 0x0040, 0x10, 1, 1), + PIN_FIELD_BASE(169, 169, 7, 0x0040, 0x10, 4, 1), + PIN_FIELD_BASE(170, 170, 7, 0x0040, 0x10, 6, 1), + PIN_FIELD_BASE(171, 171, 7, 0x0040, 0x10, 8, 1), + PIN_FIELD_BASE(172, 172, 7, 0x0040, 0x10, 3, 1), + PIN_FIELD_BASE(173, 173, 7, 0x0040, 0x10, 7, 1), + PIN_FIELD_BASE(174, 175, 7, 0x0040, 0x10, 9, 1), + PIN_FIELD_BASE(176, 176, 7, 0x0040, 0x10, 0, 1), + PIN_FIELD_BASE(177, 177, 7, 0x0040, 0x10, 5, 1), + PIN_FIELD_BASE(178, 178, 7, 0x0040, 0x10, 11, 1), +}; + +static const struct mtk_pin_reg_calc mt6779_reg_cals[PINCTRL_PIN_REG_MAX] = { + [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt6779_pin_mode_range), + [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt6779_pin_dir_range), + [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt6779_pin_di_range), + [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt6779_pin_do_range), + [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt6779_pin_smt_range), + [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt6779_pin_ies_range), + [PINCTRL_PIN_REG_PU] = MTK_RANGE(mt6779_pin_pu_range), + [PINCTRL_PIN_REG_PD] = MTK_RANGE(mt6779_pin_pd_range), + [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt6779_pin_drv_range), + [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt6779_pin_pupd_range), + [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt6779_pin_r0_range), + [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt6779_pin_r1_range), +}; + +static const char * const mt6779_pinctrl_register_base_names[] = { + "gpio", "iocfg_rm", "iocfg_br", "iocfg_lm", "iocfg_lb", + "iocfg_rt", "iocfg_lt", "iocfg_tl", +}; + +static const struct mtk_pin_soc mt6779_data = { + .reg_cal = mt6779_reg_cals, + .pins = mtk_pins_mt6779, + .npins = ARRAY_SIZE(mtk_pins_mt6779), + .ngrps = ARRAY_SIZE(mtk_pins_mt6779), + .gpio_m = 0, + .ies_present = true, + .base_names = mt6779_pinctrl_register_base_names, + .nbase_names = ARRAY_SIZE(mt6779_pinctrl_register_base_names), + .bias_set_combo = mtk_pinconf_bias_set_combo, + .bias_get_combo = mtk_pinconf_bias_get_combo, + .drive_set = mtk_pinconf_drive_set_raw, + .drive_get = mtk_pinconf_drive_get_raw, + .adv_pull_get = mtk_pinconf_adv_pull_get, + .adv_pull_set = mtk_pinconf_adv_pull_set, +}; + +static const struct of_device_id mt6779_pinctrl_of_match[] = { + { .compatible = "mediatek,mt6779-pinctrl", }, + { } +}; + +static int mt6779_pinctrl_probe(struct platform_device *pdev) +{ + return mtk_paris_pinctrl_probe(pdev, &mt6779_data); +} + +static struct platform_driver mt6779_pinctrl_driver = { + .driver = { + .name = "mt6779-pinctrl", + .of_match_table = mt6779_pinctrl_of_match, + }, + .probe = mt6779_pinctrl_probe, +}; + +static int __init mt6779_pinctrl_init(void) +{ + return platform_driver_register(&mt6779_pinctrl_driver); +} +arch_initcall(mt6779_pinctrl_init); + +MODULE_LICENSE("GPL v2"); +MODULE_DESCRIPTION("MediaTek MT6779 Pinctrl Driver"); diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h new file mode 100644 index 000000000000..0a48d6686ebb --- /dev/null +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h @@ -0,0 +1,2085 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2019 MediaTek Inc. + * Author: Andy Teng + * + */ + +#ifndef __PINCTRL_MTK_MT6779_H +#define __PINCTRL_MTK_MT6779_H + +#include "pinctrl-paris.h" + +static const struct mtk_pin_desc mtk_pins_mt6779[] = { + MTK_PIN( + 0, "GPIO0", + MTK_EINT_FUNCTION(0, 0), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO0"), + MTK_FUNCTION(1, "SPI6_MI"), + MTK_FUNCTION(2, "I2S5_LRCK"), + MTK_FUNCTION(3, "TDM_LRCK_2ND"), + MTK_FUNCTION(4, "PCM1_SYNC"), + MTK_FUNCTION(5, "SCL_6306"), + MTK_FUNCTION(6, "TP_GPIO0_AO"), + MTK_FUNCTION(7, "PTA_RXD") + ), + MTK_PIN( + 1, "GPIO1", + MTK_EINT_FUNCTION(0, 1), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO1"), + MTK_FUNCTION(1, "SPI6_CSB"), + MTK_FUNCTION(2, "I2S5_DO"), + MTK_FUNCTION(3, "TDM_DATA0_2ND"), + MTK_FUNCTION(4, "PCM1_DO0"), + MTK_FUNCTION(5, "SDA_6306"), + MTK_FUNCTION(6, "TP_GPIO1_AO"), + MTK_FUNCTION(7, "PTA_TXD") + ), + MTK_PIN( + 2, "GPIO2", + MTK_EINT_FUNCTION(0, 2), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO2"), + MTK_FUNCTION(1, "SPI6_MO"), + MTK_FUNCTION(2, "I2S5_BCK"), + MTK_FUNCTION(3, "TDM_BCK_2ND"), + MTK_FUNCTION(4, "PCM1_CLK"), + MTK_FUNCTION(5, "MD_INT1_C2K_UIM0_HOT_PLUG"), + MTK_FUNCTION(6, "TP_GPIO2_AO") + ), + MTK_PIN( + 3, "GPIO3", + MTK_EINT_FUNCTION(0, 3), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO3"), + MTK_FUNCTION(1, "SPI6_CLK"), + MTK_FUNCTION(2, "I2S5_MCK"), + MTK_FUNCTION(3, "TDM_MCK_2ND"), + MTK_FUNCTION(4, "EXT_FRAME_SYNC"), + MTK_FUNCTION(5, "MD_INT2_C2K_UIM1_HOT_PLUG"), + MTK_FUNCTION(6, "TP_GPIO3_AO") + ), + MTK_PIN( + 4, "GPIO4", + MTK_EINT_FUNCTION(0, 4), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO4"), + MTK_FUNCTION(1, "SPI7_MI"), + MTK_FUNCTION(2, "I2S0_MCK"), + MTK_FUNCTION(3, "TDM_DATA1_2ND"), + MTK_FUNCTION(4, "PCM1_DO1"), + MTK_FUNCTION(5, "DMIC1_CLK"), + MTK_FUNCTION(6, "TP_GPIO4_AO"), + MTK_FUNCTION(7, "SCL8") + ), + MTK_PIN( + 5, "GPIO5", + MTK_EINT_FUNCTION(0, 5), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO5"), + MTK_FUNCTION(1, "SPI7_CSB"), + MTK_FUNCTION(2, "I2S0_BCK"), + MTK_FUNCTION(3, "TDM_DATA2_2ND"), + MTK_FUNCTION(4, "PCM1_DO2"), + MTK_FUNCTION(5, "DMIC1_DAT"), + MTK_FUNCTION(6, "TP_GPIO5_AO"), + MTK_FUNCTION(7, "SDA8") + ), + MTK_PIN( + 6, "GPIO6", + MTK_EINT_FUNCTION(0, 6), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO6"), + MTK_FUNCTION(1, "SPI7_MO"), + MTK_FUNCTION(2, "I2S0_LRCK"), + MTK_FUNCTION(3, "TDM_DATA3_2ND"), + MTK_FUNCTION(4, "PCM1_DI"), + MTK_FUNCTION(5, "DMIC_CLK"), + MTK_FUNCTION(6, "TP_GPIO6_AO"), + MTK_FUNCTION(7, "SCL9") + ), + MTK_PIN( + 7, "GPIO7", + MTK_EINT_FUNCTION(0, 7), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO7"), + MTK_FUNCTION(1, "SPI7_CLK"), + MTK_FUNCTION(2, "I2S0_DI"), + MTK_FUNCTION(3, "SRCLKENAI1"), + MTK_FUNCTION(4, "DVFSRC_EXT_REQ"), + MTK_FUNCTION(5, "DMIC_DAT"), + MTK_FUNCTION(6, "TP_GPIO7_AO"), + MTK_FUNCTION(7, "SDA9") + ), + MTK_PIN( + 8, "GPIO8", + MTK_EINT_FUNCTION(0, 8), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO8"), + MTK_FUNCTION(1, "PWM_0"), + MTK_FUNCTION(2, "I2S2_DI2"), + MTK_FUNCTION(3, "SRCLKENAI0"), + MTK_FUNCTION(4, "URXD1"), + MTK_FUNCTION(5, "I2S0_MCK"), + MTK_FUNCTION(6, "CONN_MCU_DBGACK_N"), + MTK_FUNCTION(7, "IDDIG") + ), + MTK_PIN( + 9, "GPIO9", + MTK_EINT_FUNCTION(0, 9), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO9"), + MTK_FUNCTION(1, "PWM_3"), + MTK_FUNCTION(2, "MD_INT0"), + MTK_FUNCTION(3, "SRCLKENAI1"), + MTK_FUNCTION(4, "UTXD1"), + MTK_FUNCTION(5, "I2S0_BCK"), + MTK_FUNCTION(6, "CONN_MCU_TRST_B"), + MTK_FUNCTION(7, "USB_DRVVBUS") + ), + MTK_PIN( + 10, "GPIO10", + MTK_EINT_FUNCTION(0, 10), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO10"), + MTK_FUNCTION(1, "MSDC1_CLK_A"), + MTK_FUNCTION(2, "TP_URXD1_AO"), + MTK_FUNCTION(3, "I2S1_LRCK"), + MTK_FUNCTION(4, "UCTS0"), + MTK_FUNCTION(5, "DMIC1_CLK"), + MTK_FUNCTION(6, "KPCOL2"), + MTK_FUNCTION(7, "SCL8") + ), + MTK_PIN( + 11, "GPIO11", + MTK_EINT_FUNCTION(0, 11), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO11"), + MTK_FUNCTION(1, "MSDC1_CMD_A"), + MTK_FUNCTION(2, "TP_UTXD1_AO"), + MTK_FUNCTION(3, "I2S1_DO"), + MTK_FUNCTION(4, "URTS0"), + MTK_FUNCTION(5, "DMIC1_DAT"), + MTK_FUNCTION(6, "KPROW2"), + MTK_FUNCTION(7, "SDA8") + ), + MTK_PIN( + 12, "GPIO12", + MTK_EINT_FUNCTION(0, 12), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO12"), + MTK_FUNCTION(1, "MSDC1_DAT3_A"), + MTK_FUNCTION(2, "TP_URXD2_AO"), + MTK_FUNCTION(3, "I2S1_MCK"), + MTK_FUNCTION(4, "UCTS1"), + MTK_FUNCTION(5, "DMIC_CLK"), + MTK_FUNCTION(6, "ANT_SEL9"), + MTK_FUNCTION(7, "SCL9") + ), + MTK_PIN( + 13, "GPIO13", + MTK_EINT_FUNCTION(0, 13), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO13"), + MTK_FUNCTION(1, "MSDC1_DAT0_A"), + MTK_FUNCTION(2, "TP_UTXD2_AO"), + MTK_FUNCTION(3, "I2S1_BCK"), + MTK_FUNCTION(4, "URTS1"), + MTK_FUNCTION(5, "DMIC_DAT"), + MTK_FUNCTION(6, "ANT_SEL10"), + MTK_FUNCTION(7, "SDA9") + ), + MTK_PIN( + 14, "GPIO14", + MTK_EINT_FUNCTION(0, 14), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO14"), + MTK_FUNCTION(1, "MSDC1_DAT2_A"), + MTK_FUNCTION(2, "PWM_3"), + MTK_FUNCTION(3, "IDDIG"), + MTK_FUNCTION(4, "MD_INT0"), + MTK_FUNCTION(5, "PTA_RXD"), + MTK_FUNCTION(6, "ANT_SEL11") + ), + MTK_PIN( + 15, "GPIO15", + MTK_EINT_FUNCTION(0, 15), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO15"), + MTK_FUNCTION(1, "MSDC1_DAT1_A"), + MTK_FUNCTION(2, "DVFSRC_EXT_REQ"), + MTK_FUNCTION(3, "USB_DRVVBUS"), + MTK_FUNCTION(4, "MD_INT1_C2K_UIM0_HOT_PLUG"), + MTK_FUNCTION(5, "PTA_TXD"), + MTK_FUNCTION(6, "ANT_SEL12") + ), + MTK_PIN( + 16, "GPIO16", + MTK_EINT_FUNCTION(0, 16), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO16"), + MTK_FUNCTION(1, "SRCLKENAI0"), + MTK_FUNCTION(2, "EXT_FRAME_SYNC"), + MTK_FUNCTION(3, "MFG_EJTAG_TRSTN"), + MTK_FUNCTION(4, "MD_INT2_C2K_UIM1_HOT_PLUG"), + MTK_FUNCTION(5, "CONN_TCXOENA_REQ"), + MTK_FUNCTION(6, "PWM_2"), + MTK_FUNCTION(7, "JTRSTN_SEL1") + ), + MTK_PIN( + 17, "GPIO17", + MTK_EINT_FUNCTION(0, 17), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO17"), + MTK_FUNCTION(1, "SPI0_A_MI"), + MTK_FUNCTION(2, "SCP_SPI0_MI"), + MTK_FUNCTION(3, "MFG_EJTAG_TDO"), + MTK_FUNCTION(4, "DPI_HSYNC"), + MTK_FUNCTION(5, "MFG_DFD_JTAG_TDO"), + MTK_FUNCTION(6, "DFD_TDO"), + MTK_FUNCTION(7, "JTDO_SEL1") + ), + MTK_PIN( + 18, "GPIO18", + MTK_EINT_FUNCTION(0, 18), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO18"), + MTK_FUNCTION(1, "SPI0_A_MO"), + MTK_FUNCTION(2, "SCP_SPI0_MO"), + MTK_FUNCTION(3, "MFG_EJTAG_TDI"), + MTK_FUNCTION(4, "DPI_VSYNC"), + MTK_FUNCTION(5, "MFG_DFD_JTAG_TDI"), + MTK_FUNCTION(6, "DFD_TDI"), + MTK_FUNCTION(7, "JTDI_SEL1") + ), + MTK_PIN( + 19, "GPIO19", + MTK_EINT_FUNCTION(0, 19), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO19"), + MTK_FUNCTION(1, "SPI0_A_CSB"), + MTK_FUNCTION(2, "SCP_SPI0_CS"), + MTK_FUNCTION(3, "MFG_EJTAG_TMS"), + MTK_FUNCTION(4, "DPI_DE"), + MTK_FUNCTION(5, "MFG_DFD_JTAG_TMS"), + MTK_FUNCTION(6, "DFD_TMS"), + MTK_FUNCTION(7, "JTMS_SEL1") + ), + MTK_PIN( + 20, "GPIO20", + MTK_EINT_FUNCTION(0, 20), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO20"), + MTK_FUNCTION(1, "SPI0_A_CLK"), + MTK_FUNCTION(2, "SCP_SPI0_CK"), + MTK_FUNCTION(3, "MFG_EJTAG_TCK"), + MTK_FUNCTION(4, "DPI_CK"), + MTK_FUNCTION(5, "MFG_DFD_JTAG_TCK"), + MTK_FUNCTION(6, "DFD_TCK_XI"), + MTK_FUNCTION(7, "JTCK_SEL1") + ), + MTK_PIN( + 21, "GPIO21", + MTK_EINT_FUNCTION(0, 21), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO21"), + MTK_FUNCTION(1, "PWM_0"), + MTK_FUNCTION(2, "CMFLASH0"), + MTK_FUNCTION(3, "CMVREF2"), + MTK_FUNCTION(4, "CLKM0"), + MTK_FUNCTION(5, "ANT_SEL9"), + MTK_FUNCTION(6, "CONN_TCXOENA_REQ"), + MTK_FUNCTION(7, "DBG_MON_A27") + ), + MTK_PIN( + 22, "GPIO22", + MTK_EINT_FUNCTION(0, 22), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO22"), + MTK_FUNCTION(1, "PWM_1"), + MTK_FUNCTION(2, "CMFLASH1"), + MTK_FUNCTION(3, "CMVREF3"), + MTK_FUNCTION(4, "CLKM1"), + MTK_FUNCTION(5, "ANT_SEL10"), + MTK_FUNCTION(7, "DBG_MON_A28") + ), + MTK_PIN( + 23, "GPIO23", + MTK_EINT_FUNCTION(0, 23), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO23"), + MTK_FUNCTION(1, "PWM_2"), + MTK_FUNCTION(2, "CMFLASH2"), + MTK_FUNCTION(3, "CMVREF0"), + MTK_FUNCTION(4, "CLKM2"), + MTK_FUNCTION(5, "ANT_SEL11"), + MTK_FUNCTION(7, "DBG_MON_A29") + ), + MTK_PIN( + 24, "GPIO24", + MTK_EINT_FUNCTION(0, 24), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO24"), + MTK_FUNCTION(1, "PWM_0"), + MTK_FUNCTION(2, "CMFLASH3"), + MTK_FUNCTION(3, "CMVREF1"), + MTK_FUNCTION(4, "CLKM3"), + MTK_FUNCTION(5, "ANT_SEL12"), + MTK_FUNCTION(7, "DBG_MON_A30") + ), + MTK_PIN( + 25, "GPIO25", + MTK_EINT_FUNCTION(0, 25), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO25"), + MTK_FUNCTION(1, "SRCLKENAI0"), + MTK_FUNCTION(2, "UCTS0"), + MTK_FUNCTION(3, "SCL8"), + MTK_FUNCTION(4, "CMVREF4"), + MTK_FUNCTION(5, "I2S0_LRCK"), + MTK_FUNCTION(6, "CONN_TCXOENA_REQ"), + MTK_FUNCTION(7, "DBG_MON_A31") + ), + MTK_PIN( + 26, "GPIO26", + MTK_EINT_FUNCTION(0, 26), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO26"), + MTK_FUNCTION(1, "PWM_0"), + MTK_FUNCTION(2, "URTS0"), + MTK_FUNCTION(3, "SDA8"), + MTK_FUNCTION(4, "CLKM0"), + MTK_FUNCTION(5, "I2S0_DI"), + MTK_FUNCTION(6, "AGPS_SYNC"), + MTK_FUNCTION(7, "DBG_MON_A32") + ), + MTK_PIN( + 27, "GPIO27", + MTK_EINT_FUNCTION(0, 27), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO27"), + MTK_FUNCTION(1, "AP_GOOD") + ), + MTK_PIN( + 28, "GPIO28", + MTK_EINT_FUNCTION(0, 28), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO28"), + MTK_FUNCTION(1, "SCL5") + ), + MTK_PIN( + 29, "GPIO29", + MTK_EINT_FUNCTION(0, 29), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO29"), + MTK_FUNCTION(1, "SDA5") + ), + MTK_PIN( + 30, "GPIO30", + MTK_EINT_FUNCTION(0, 30), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO30"), + MTK_FUNCTION(1, "I2S1_MCK"), + MTK_FUNCTION(2, "I2S3_MCK"), + MTK_FUNCTION(3, "I2S2_MCK"), + MTK_FUNCTION(4, "DPI_D0"), + MTK_FUNCTION(5, "SPI4_MI"), + MTK_FUNCTION(6, "CONN_MCU_DBGI_N") + ), + MTK_PIN( + 31, "GPIO31", + MTK_EINT_FUNCTION(0, 31), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO31"), + MTK_FUNCTION(1, "I2S1_BCK"), + MTK_FUNCTION(2, "I2S3_BCK"), + MTK_FUNCTION(3, "I2S2_BCK"), + MTK_FUNCTION(4, "DPI_D1"), + MTK_FUNCTION(5, "SPI4_CSB"), + MTK_FUNCTION(6, "CONN_MCU_TDO") + ), + MTK_PIN( + 32, "GPIO32", + MTK_EINT_FUNCTION(0, 32), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO32"), + MTK_FUNCTION(1, "I2S1_LRCK"), + MTK_FUNCTION(2, "I2S3_LRCK"), + MTK_FUNCTION(3, "I2S2_LRCK"), + MTK_FUNCTION(4, "DPI_D2"), + MTK_FUNCTION(5, "SPI4_MO"), + MTK_FUNCTION(6, "CONN_MCU_TDI") + ), + MTK_PIN( + 33, "GPIO33", + MTK_EINT_FUNCTION(0, 33), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO33"), + MTK_FUNCTION(1, "I2S2_DI"), + MTK_FUNCTION(2, "I2S0_DI"), + MTK_FUNCTION(3, "I2S5_DO"), + MTK_FUNCTION(4, "DPI_D3"), + MTK_FUNCTION(5, "SPI4_CLK"), + MTK_FUNCTION(6, "CONN_MCU_TMS") + ), + MTK_PIN( + 34, "GPIO34", + MTK_EINT_FUNCTION(0, 34), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO34"), + MTK_FUNCTION(1, "I2S1_DO"), + MTK_FUNCTION(2, "I2S3_DO"), + MTK_FUNCTION(3, "I2S2_DI2"), + MTK_FUNCTION(4, "DPI_D4"), + MTK_FUNCTION(5, "AGPS_SYNC"), + MTK_FUNCTION(6, "CONN_MCU_TCK") + ), + MTK_PIN( + 35, "GPIO35", + MTK_EINT_FUNCTION(0, 35), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO35"), + MTK_FUNCTION(1, "TDM_LRCK"), + MTK_FUNCTION(2, "I2S1_LRCK"), + MTK_FUNCTION(3, "I2S5_LRCK"), + MTK_FUNCTION(4, "DPI_D5"), + MTK_FUNCTION(5, "SPI5_A_MO"), + MTK_FUNCTION(6, "IO_JTAG_TDI"), + MTK_FUNCTION(7, "PWM_2") + ), + MTK_PIN( + 36, "GPIO36", + MTK_EINT_FUNCTION(0, 36), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO36"), + MTK_FUNCTION(1, "TDM_BCK"), + MTK_FUNCTION(2, "I2S1_BCK"), + MTK_FUNCTION(3, "I2S5_BCK"), + MTK_FUNCTION(4, "DPI_D6"), + MTK_FUNCTION(5, "SPI5_A_CSB"), + MTK_FUNCTION(6, "IO_JTAG_TRSTN"), + MTK_FUNCTION(7, "SRCLKENAI1") + ), + MTK_PIN( + 37, "GPIO37", + MTK_EINT_FUNCTION(0, 37), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO37"), + MTK_FUNCTION(1, "TDM_MCK"), + MTK_FUNCTION(2, "I2S1_MCK"), + MTK_FUNCTION(3, "I2S5_MCK"), + MTK_FUNCTION(4, "DPI_D7"), + MTK_FUNCTION(5, "SPI5_A_MI"), + MTK_FUNCTION(6, "IO_JTAG_TCK"), + MTK_FUNCTION(7, "SRCLKENAI0") + ), + MTK_PIN( + 38, "GPIO38", + MTK_EINT_FUNCTION(0, 38), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO38"), + MTK_FUNCTION(1, "TDM_DATA0"), + MTK_FUNCTION(2, "I2S2_DI"), + MTK_FUNCTION(3, "I2S5_DO"), + MTK_FUNCTION(4, "DPI_D8"), + MTK_FUNCTION(5, "SPI5_A_CLK"), + MTK_FUNCTION(6, "IO_JTAG_TDO"), + MTK_FUNCTION(7, "CONN_TCXOENA_REQ") + ), + MTK_PIN( + 39, "GPIO39", + MTK_EINT_FUNCTION(0, 39), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO39"), + MTK_FUNCTION(1, "TDM_DATA1"), + MTK_FUNCTION(2, "I2S1_DO"), + MTK_FUNCTION(3, "I2S2_DI2"), + MTK_FUNCTION(4, "DPI_D9"), + MTK_FUNCTION(5, "DVFSRC_EXT_REQ"), + MTK_FUNCTION(6, "IO_JTAG_TMS"), + MTK_FUNCTION(7, "IDDIG") + ), + MTK_PIN( + 40, "GPIO40", + MTK_EINT_FUNCTION(0, 40), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO40"), + MTK_FUNCTION(1, "TDM_DATA2"), + MTK_FUNCTION(2, "SCL9"), + MTK_FUNCTION(3, "PWM_3"), + MTK_FUNCTION(4, "DPI_D10"), + MTK_FUNCTION(5, "SRCLKENAI0"), + MTK_FUNCTION(6, "DAP_MD32_SWD"), + MTK_FUNCTION(7, "USB_DRVVBUS") + ), + MTK_PIN( + 41, "GPIO41", + MTK_EINT_FUNCTION(0, 41), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO41"), + MTK_FUNCTION(1, "TDM_DATA3"), + MTK_FUNCTION(2, "SDA9"), + MTK_FUNCTION(3, "PWM_1"), + MTK_FUNCTION(4, "DPI_D11"), + MTK_FUNCTION(5, "CLKM1"), + MTK_FUNCTION(6, "DAP_MD32_SWCK") + ), + MTK_PIN( + 42, "GPIO42", + MTK_EINT_FUNCTION(0, 42), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO42"), + MTK_FUNCTION(1, "DISP_PWM") + ), + MTK_PIN( + 43, "GPIO43", + MTK_EINT_FUNCTION(0, 43), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO43"), + MTK_FUNCTION(1, "DSI_TE") + ), + MTK_PIN( + 44, "GPIO44", + MTK_EINT_FUNCTION(0, 44), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO44"), + MTK_FUNCTION(1, "LCM_RST") + ), + MTK_PIN( + 45, "GPIO45", + MTK_EINT_FUNCTION(0, 45), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO45"), + MTK_FUNCTION(1, "SCL6"), + MTK_FUNCTION(2, "SCP_SCL0"), + MTK_FUNCTION(3, "SCP_SCL1"), + MTK_FUNCTION(4, "SCL_6306") + ), + MTK_PIN( + 46, "GPIO46", + MTK_EINT_FUNCTION(0, 46), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO46"), + MTK_FUNCTION(1, "SDA6"), + MTK_FUNCTION(2, "SCP_SDA0"), + MTK_FUNCTION(3, "SCP_SDA1"), + MTK_FUNCTION(4, "SDA_6306") + ), + MTK_PIN( + 47, "GPIO47", + MTK_EINT_FUNCTION(0, 47), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO47"), + MTK_FUNCTION(1, "SPI1_A_MI"), + MTK_FUNCTION(2, "SCP_SPI1_A_MI"), + MTK_FUNCTION(3, "KPCOL2"), + MTK_FUNCTION(4, "MD_URXD0"), + MTK_FUNCTION(5, "CONN_UART0_RXD"), + MTK_FUNCTION(6, "SSPM_URXD_AO"), + MTK_FUNCTION(7, "DBG_MON_B32") + ), + MTK_PIN( + 48, "GPIO48", + MTK_EINT_FUNCTION(0, 48), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO48"), + MTK_FUNCTION(1, "SPI1_A_CSB"), + MTK_FUNCTION(2, "SCP_SPI1_A_CS"), + MTK_FUNCTION(3, "KPROW2"), + MTK_FUNCTION(4, "MD_UTXD0"), + MTK_FUNCTION(5, "CONN_UART0_TXD"), + MTK_FUNCTION(6, "SSPM_UTXD_AO"), + MTK_FUNCTION(7, "DBG_MON_B31") + ), + MTK_PIN( + 49, "GPIO49", + MTK_EINT_FUNCTION(0, 49), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO49"), + MTK_FUNCTION(1, "SPI1_A_MO"), + MTK_FUNCTION(2, "SCP_SPI1_A_MO"), + MTK_FUNCTION(3, "UCTS0"), + MTK_FUNCTION(4, "MD_URXD1"), + MTK_FUNCTION(5, "PWM_1"), + MTK_FUNCTION(6, "TP_URXD2_AO"), + MTK_FUNCTION(7, "DBG_MON_B30") + ), + MTK_PIN( + 50, "GPIO50", + MTK_EINT_FUNCTION(0, 50), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO50"), + MTK_FUNCTION(1, "SPI1_A_CLK"), + MTK_FUNCTION(2, "SCP_SPI1_A_CK"), + MTK_FUNCTION(3, "URTS0"), + MTK_FUNCTION(4, "MD_UTXD1"), + MTK_FUNCTION(5, "WIFI_TXD"), + MTK_FUNCTION(6, "TP_UTXD2_AO"), + MTK_FUNCTION(7, "DBG_MON_B29") + ), + MTK_PIN( + 51, "GPIO51", + MTK_EINT_FUNCTION(0, 51), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO51"), + MTK_FUNCTION(1, "SCL0") + ), + MTK_PIN( + 52, "GPIO52", + MTK_EINT_FUNCTION(0, 52), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO52"), + MTK_FUNCTION(1, "SDA0") + ), + MTK_PIN( + 53, "GPIO53", + MTK_EINT_FUNCTION(0, 53), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO53"), + MTK_FUNCTION(1, "URXD0"), + MTK_FUNCTION(2, "UTXD0"), + MTK_FUNCTION(3, "MD_URXD0"), + MTK_FUNCTION(4, "MD_URXD1"), + MTK_FUNCTION(5, "SSPM_URXD_AO"), + MTK_FUNCTION(7, "CONN_UART0_RXD") + ), + MTK_PIN( + 54, "GPIO54", + MTK_EINT_FUNCTION(0, 54), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO54"), + MTK_FUNCTION(1, "UTXD0"), + MTK_FUNCTION(2, "URXD0"), + MTK_FUNCTION(3, "MD_UTXD0"), + MTK_FUNCTION(4, "MD_UTXD1"), + MTK_FUNCTION(5, "SSPM_UTXD_AO"), + MTK_FUNCTION(6, "WIFI_TXD"), + MTK_FUNCTION(7, "CONN_UART0_TXD") + ), + MTK_PIN( + 55, "GPIO55", + MTK_EINT_FUNCTION(0, 55), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO55"), + MTK_FUNCTION(1, "SCL3"), + MTK_FUNCTION(2, "SCP_SCL0"), + MTK_FUNCTION(3, "SCP_SCL1"), + MTK_FUNCTION(4, "SCL_6306") + ), + MTK_PIN( + 56, "GPIO56", + MTK_EINT_FUNCTION(0, 56), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO56"), + MTK_FUNCTION(1, "SDA3"), + MTK_FUNCTION(2, "SCP_SDA0"), + MTK_FUNCTION(3, "SCP_SDA1"), + MTK_FUNCTION(4, "SDA_6306") + ), + MTK_PIN( + 57, "GPIO57", + MTK_EINT_FUNCTION(0, 57), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO57"), + MTK_FUNCTION(1, "KPROW1"), + MTK_FUNCTION(2, "PWM_1"), + MTK_FUNCTION(3, "DVFSRC_EXT_REQ"), + MTK_FUNCTION(4, "CLKM1"), + MTK_FUNCTION(5, "IDDIG"), + MTK_FUNCTION(6, "CONN_TCXOENA_REQ"), + MTK_FUNCTION(7, "MBISTREADEN_TRIGGER") + ), + MTK_PIN( + 58, "GPIO58", + MTK_EINT_FUNCTION(0, 58), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO58"), + MTK_FUNCTION(1, "KPROW0"), + MTK_FUNCTION(7, "DBG_MON_B28") + ), + MTK_PIN( + 59, "GPIO59", + MTK_EINT_FUNCTION(0, 59), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO59"), + MTK_FUNCTION(1, "KPCOL0"), + MTK_FUNCTION(7, "DBG_MON_B27") + ), + MTK_PIN( + 60, "GPIO60", + MTK_EINT_FUNCTION(0, 60), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO60"), + MTK_FUNCTION(1, "KPCOL1"), + MTK_FUNCTION(2, "PWM_2"), + MTK_FUNCTION(3, "UCTS1"), + MTK_FUNCTION(4, "CLKM2"), + MTK_FUNCTION(5, "USB_DRVVBUS"), + MTK_FUNCTION(7, "MBISTWRITEEN_TRIGGER") + ), + MTK_PIN( + 61, "GPIO61", + MTK_EINT_FUNCTION(0, 61), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO61"), + MTK_FUNCTION(1, "SCL1"), + MTK_FUNCTION(2, "SCP_SCL0"), + MTK_FUNCTION(3, "SCP_SCL1") + ), + MTK_PIN( + 62, "GPIO62", + MTK_EINT_FUNCTION(0, 62), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO62"), + MTK_FUNCTION(1, "SDA1"), + MTK_FUNCTION(2, "SCP_SDA0"), + MTK_FUNCTION(3, "SCP_SDA1") + ), + MTK_PIN( + 63, "GPIO63", + MTK_EINT_FUNCTION(0, 63), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO63"), + MTK_FUNCTION(1, "SPI2_MI"), + MTK_FUNCTION(2, "SCP_SPI2_MI"), + MTK_FUNCTION(3, "KPCOL2"), + MTK_FUNCTION(4, "MRG_DI"), + MTK_FUNCTION(5, "MD_URXD0"), + MTK_FUNCTION(6, "CONN_UART0_RXD"), + MTK_FUNCTION(7, "DBG_MON_B26") + ), + MTK_PIN( + 64, "GPIO64", + MTK_EINT_FUNCTION(0, 64), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO64"), + MTK_FUNCTION(1, "SPI2_CSB"), + MTK_FUNCTION(2, "SCP_SPI2_CS"), + MTK_FUNCTION(3, "KPROW2"), + MTK_FUNCTION(4, "MRG_SYNC"), + MTK_FUNCTION(5, "MD_UTXD0"), + MTK_FUNCTION(6, "CONN_UART0_TXD"), + MTK_FUNCTION(7, "DBG_MON_B25") + ), + MTK_PIN( + 65, "GPIO65", + MTK_EINT_FUNCTION(0, 65), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO65"), + MTK_FUNCTION(1, "SPI2_MO"), + MTK_FUNCTION(2, "SCP_SPI2_MO"), + MTK_FUNCTION(3, "SCP_SDA1"), + MTK_FUNCTION(4, "MRG_DO"), + MTK_FUNCTION(5, "MD_URXD1"), + MTK_FUNCTION(6, "PWM_3") + ), + MTK_PIN( + 66, "GPIO66", + MTK_EINT_FUNCTION(0, 66), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO66"), + MTK_FUNCTION(1, "SPI2_CLK"), + MTK_FUNCTION(2, "SCP_SPI2_CK"), + MTK_FUNCTION(3, "SCP_SCL1"), + MTK_FUNCTION(4, "MRG_CLK"), + MTK_FUNCTION(5, "MD_UTXD1"), + MTK_FUNCTION(6, "WIFI_TXD") + ), + MTK_PIN( + 67, "GPIO67", + MTK_EINT_FUNCTION(0, 67), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO67"), + MTK_FUNCTION(1, "I2S3_LRCK"), + MTK_FUNCTION(2, "I2S1_LRCK"), + MTK_FUNCTION(3, "URXD1"), + MTK_FUNCTION(4, "PCM0_SYNC"), + MTK_FUNCTION(5, "I2S5_LRCK"), + MTK_FUNCTION(6, "ANT_SEL9"), + MTK_FUNCTION(7, "DBG_MON_B10") + ), + MTK_PIN( + 68, "GPIO68", + MTK_EINT_FUNCTION(0, 68), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO68"), + MTK_FUNCTION(1, "I2S3_DO"), + MTK_FUNCTION(2, "I2S1_DO"), + MTK_FUNCTION(3, "UTXD1"), + MTK_FUNCTION(4, "PCM0_DO"), + MTK_FUNCTION(5, "I2S5_DO"), + MTK_FUNCTION(6, "ANT_SEL10"), + MTK_FUNCTION(7, "DBG_MON_B9") + ), + MTK_PIN( + 69, "GPIO69", + MTK_EINT_FUNCTION(0, 69), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO69"), + MTK_FUNCTION(1, "I2S3_MCK"), + MTK_FUNCTION(2, "I2S1_MCK"), + MTK_FUNCTION(3, "URTS1"), + MTK_FUNCTION(4, "AGPS_SYNC"), + MTK_FUNCTION(5, "I2S5_MCK"), + MTK_FUNCTION(6, "DVFSRC_EXT_REQ"), + MTK_FUNCTION(7, "DBG_MON_B8") + ), + MTK_PIN( + 70, "GPIO70", + MTK_EINT_FUNCTION(0, 70), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO70"), + MTK_FUNCTION(1, "I2S0_DI"), + MTK_FUNCTION(2, "I2S2_DI"), + MTK_FUNCTION(3, "KPCOL2"), + MTK_FUNCTION(4, "PCM0_DI"), + MTK_FUNCTION(5, "I2S2_DI2"), + MTK_FUNCTION(6, "ANT_SEL11"), + MTK_FUNCTION(7, "DBG_MON_B7") + ), + MTK_PIN( + 71, "GPIO71", + MTK_EINT_FUNCTION(0, 71), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO71"), + MTK_FUNCTION(1, "I2S3_BCK"), + MTK_FUNCTION(2, "I2S1_BCK"), + MTK_FUNCTION(3, "KPROW2"), + MTK_FUNCTION(4, "PCM0_CLK"), + MTK_FUNCTION(5, "I2S5_BCK"), + MTK_FUNCTION(6, "ANT_SEL12"), + MTK_FUNCTION(7, "DBG_MON_B6") + ), + MTK_PIN( + 72, "GPIO72", + MTK_EINT_FUNCTION(0, 72), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO72"), + MTK_FUNCTION(1, "BPI_BUS19_OLAT0"), + MTK_FUNCTION(2, "CONN_BPI_BUS19_OLAT0") + ), + MTK_PIN( + 73, "GPIO73", + MTK_EINT_FUNCTION(0, 73), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO73"), + MTK_FUNCTION(1, "BPI_BUS18_PA_VM1"), + MTK_FUNCTION(2, "CONN_MIPI5_SCLK"), + MTK_FUNCTION(3, "MIPI5_SCLK") + ), + MTK_PIN( + 74, "GPIO74", + MTK_EINT_FUNCTION(0, 74), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO74"), + MTK_FUNCTION(1, "BPI_BUS17_PA_VM0"), + MTK_FUNCTION(2, "CONN_MIPI5_SDATA"), + MTK_FUNCTION(3, "MIPI5_SDATA") + ), + MTK_PIN( + 75, "GPIO75", + MTK_EINT_FUNCTION(0, 75), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO75"), + MTK_FUNCTION(1, "BPI_BUS20_OLAT1"), + MTK_FUNCTION(2, "CONN_BPI_BUS20_OLAT1"), + MTK_FUNCTION(3, "RFIC0_BSI_D2") + ), + MTK_PIN( + 76, "GPIO76", + MTK_EINT_FUNCTION(0, 76), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO76"), + MTK_FUNCTION(1, "RFIC0_BSI_D1") + ), + MTK_PIN( + 77, "GPIO77", + MTK_EINT_FUNCTION(0, 77), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO77"), + MTK_FUNCTION(1, "RFIC0_BSI_D0") + ), + MTK_PIN( + 78, "GPIO78", + MTK_EINT_FUNCTION(0, 78), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO78"), + MTK_FUNCTION(1, "BPI_BUS7"), + MTK_FUNCTION(7, "DBG_MON_B24") + ), + MTK_PIN( + 79, "GPIO79", + MTK_EINT_FUNCTION(0, 79), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO79"), + MTK_FUNCTION(1, "BPI_BUS6"), + MTK_FUNCTION(7, "DBG_MON_B23") + ), + MTK_PIN( + 80, "GPIO80", + MTK_EINT_FUNCTION(0, 80), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO80"), + MTK_FUNCTION(1, "BPI_BUS8"), + MTK_FUNCTION(7, "DBG_MON_B22") + ), + MTK_PIN( + 81, "GPIO81", + MTK_EINT_FUNCTION(0, 81), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO81"), + MTK_FUNCTION(1, "BPI_BUS9"), + MTK_FUNCTION(7, "DBG_MON_B21") + ), + MTK_PIN( + 82, "GPIO82", + MTK_EINT_FUNCTION(0, 82), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO82"), + MTK_FUNCTION(1, "BPI_BUS10"), + MTK_FUNCTION(7, "DBG_MON_B20") + ), + MTK_PIN( + 83, "GPIO83", + MTK_EINT_FUNCTION(0, 83), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO83"), + MTK_FUNCTION(1, "BPI_BUS11"), + MTK_FUNCTION(7, "DBG_MON_B19") + ), + MTK_PIN( + 84, "GPIO84", + MTK_EINT_FUNCTION(0, 84), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO84"), + MTK_FUNCTION(1, "BPI_BUS12"), + MTK_FUNCTION(2, "CONN_BPI_BUS12") + ), + MTK_PIN( + 85, "GPIO85", + MTK_EINT_FUNCTION(0, 85), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO85"), + MTK_FUNCTION(1, "BPI_BUS13"), + MTK_FUNCTION(2, "CONN_BPI_BUS13") + ), + MTK_PIN( + 86, "GPIO86", + MTK_EINT_FUNCTION(0, 86), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO86"), + MTK_FUNCTION(1, "BPI_BUS14"), + MTK_FUNCTION(2, "CONN_BPI_BUS14") + ), + MTK_PIN( + 87, "GPIO87", + MTK_EINT_FUNCTION(0, 87), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO87"), + MTK_FUNCTION(1, "BPI_BUS15"), + MTK_FUNCTION(2, "CONN_BPI_BUS15") + ), + MTK_PIN( + 88, "GPIO88", + MTK_EINT_FUNCTION(0, 88), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO88"), + MTK_FUNCTION(1, "BPI_BUS16"), + MTK_FUNCTION(2, "CONN_BPI_BUS16") + ), + MTK_PIN( + 89, "GPIO89", + MTK_EINT_FUNCTION(0, 89), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO89"), + MTK_FUNCTION(1, "BPI_BUS5"), + MTK_FUNCTION(7, "DBG_MON_B18") + ), + MTK_PIN( + 90, "GPIO90", + MTK_EINT_FUNCTION(0, 90), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO90"), + MTK_FUNCTION(1, "BPI_BUS4"), + MTK_FUNCTION(7, "DBG_MON_B17") + ), + MTK_PIN( + 91, "GPIO91", + MTK_EINT_FUNCTION(0, 91), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO91"), + MTK_FUNCTION(1, "BPI_BUS3") + ), + MTK_PIN( + 92, "GPIO92", + MTK_EINT_FUNCTION(0, 92), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO92"), + MTK_FUNCTION(1, "BPI_BUS2"), + MTK_FUNCTION(7, "DBG_MON_B16") + ), + MTK_PIN( + 93, "GPIO93", + MTK_EINT_FUNCTION(0, 93), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO93"), + MTK_FUNCTION(1, "BPI_BUS1") + ), + MTK_PIN( + 94, "GPIO94", + MTK_EINT_FUNCTION(0, 94), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO94"), + MTK_FUNCTION(1, "BPI_BUS0"), + MTK_FUNCTION(7, "DBG_MON_B15") + ), + MTK_PIN( + 95, "GPIO95", + MTK_EINT_FUNCTION(0, 95), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO95"), + MTK_FUNCTION(1, "MIPI0_SDATA") + ), + MTK_PIN( + 96, "GPIO96", + MTK_EINT_FUNCTION(0, 96), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO96"), + MTK_FUNCTION(1, "MIPI0_SCLK") + ), + MTK_PIN( + 97, "GPIO97", + MTK_EINT_FUNCTION(0, 97), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO97"), + MTK_FUNCTION(1, "MIPI1_SDATA") + ), + MTK_PIN( + 98, "GPIO98", + MTK_EINT_FUNCTION(0, 98), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO98"), + MTK_FUNCTION(1, "MIPI1_SCLK") + ), + MTK_PIN( + 99, "GPIO99", + MTK_EINT_FUNCTION(0, 99), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO99"), + MTK_FUNCTION(1, "MIPI2_SCLK"), + MTK_FUNCTION(7, "DBG_MON_B14") + ), + MTK_PIN( + 100, "GPIO100", + MTK_EINT_FUNCTION(0, 100), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO100"), + MTK_FUNCTION(1, "MIPI2_SDATA"), + MTK_FUNCTION(7, "DBG_MON_B13") + ), + MTK_PIN( + 101, "GPIO101", + MTK_EINT_FUNCTION(0, 101), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO101"), + MTK_FUNCTION(1, "MIPI3_SCLK"), + MTK_FUNCTION(7, "DBG_MON_B12") + ), + MTK_PIN( + 102, "GPIO102", + MTK_EINT_FUNCTION(0, 102), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO102"), + MTK_FUNCTION(1, "MIPI3_SDATA"), + MTK_FUNCTION(7, "DBG_MON_B11") + ), + MTK_PIN( + 103, "GPIO103", + MTK_EINT_FUNCTION(0, 103), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO103"), + MTK_FUNCTION(1, "MIPI4_SCLK"), + MTK_FUNCTION(2, "CONN_MIPI4_SCLK") + ), + MTK_PIN( + 104, "GPIO104", + MTK_EINT_FUNCTION(0, 104), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO104"), + MTK_FUNCTION(1, "MIPI4_SDATA"), + MTK_FUNCTION(2, "CONN_MIPI4_SDATA") + ), + MTK_PIN( + 105, "GPIO105", + MTK_EINT_FUNCTION(0, 105), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO105"), + MTK_FUNCTION(1, "BPI_BUS22_OLAT3"), + MTK_FUNCTION(2, "CONN_BPI_BUS22_OLAT3") + ), + MTK_PIN( + 106, "GPIO106", + MTK_EINT_FUNCTION(0, 106), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO106"), + MTK_FUNCTION(1, "BPI_BUS21_OLAT2"), + MTK_FUNCTION(2, "CONN_BPI_BUS21_OLAT2") + ), + MTK_PIN( + 107, "GPIO107", + MTK_EINT_FUNCTION(0, 107), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO107"), + MTK_FUNCTION(1, "BPI_BUS24_ANT1"), + MTK_FUNCTION(2, "CONN_BPI_BUS24_ANT1") + ), + MTK_PIN( + 108, "GPIO108", + MTK_EINT_FUNCTION(0, 108), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO108"), + MTK_FUNCTION(1, "BPI_BUS25_ANT2"), + MTK_FUNCTION(2, "CONN_BPI_BUS25_ANT2") + ), + MTK_PIN( + 109, "GPIO109", + MTK_EINT_FUNCTION(0, 109), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO109"), + MTK_FUNCTION(1, "BPI_BUS23_ANT0"), + MTK_FUNCTION(2, "CONN_BPI_BUS23_ANT0") + ), + MTK_PIN( + 110, "GPIO110", + MTK_EINT_FUNCTION(0, 110), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO110"), + MTK_FUNCTION(1, "SCL4") + ), + MTK_PIN( + 111, "GPIO111", + MTK_EINT_FUNCTION(0, 111), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO111"), + MTK_FUNCTION(1, "SDA4") + ), + MTK_PIN( + 112, "GPIO112", + MTK_EINT_FUNCTION(0, 112), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO112"), + MTK_FUNCTION(1, "SCL2") + ), + MTK_PIN( + 113, "GPIO113", + MTK_EINT_FUNCTION(0, 113), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO113"), + MTK_FUNCTION(1, "SDA2") + ), + MTK_PIN( + 114, "GPIO114", + MTK_EINT_FUNCTION(0, 114), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO114"), + MTK_FUNCTION(1, "CLKM0"), + MTK_FUNCTION(2, "SPI3_MI"), + MTK_FUNCTION(7, "DBG_MON_B5") + ), + MTK_PIN( + 115, "GPIO115", + MTK_EINT_FUNCTION(0, 115), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO115"), + MTK_FUNCTION(1, "CLKM1"), + MTK_FUNCTION(2, "SPI3_CSB"), + MTK_FUNCTION(7, "DBG_MON_B4") + ), + MTK_PIN( + 116, "GPIO116", + MTK_EINT_FUNCTION(0, 116), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO116"), + MTK_FUNCTION(1, "CMMCLK0"), + MTK_FUNCTION(7, "DBG_MON_B3") + ), + MTK_PIN( + 117, "GPIO117", + MTK_EINT_FUNCTION(0, 117), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO117"), + MTK_FUNCTION(1, "CMMCLK1"), + MTK_FUNCTION(2, "DVFSRC_EXT_REQ"), + MTK_FUNCTION(7, "DBG_MON_B2") + ), + MTK_PIN( + 118, "GPIO118", + MTK_EINT_FUNCTION(0, 118), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO118"), + MTK_FUNCTION(1, "CLKM2"), + MTK_FUNCTION(2, "SPI3_MO"), + MTK_FUNCTION(7, "DBG_MON_B1") + ), + MTK_PIN( + 119, "GPIO119", + MTK_EINT_FUNCTION(0, 119), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO119"), + MTK_FUNCTION(1, "CLKM3"), + MTK_FUNCTION(2, "SPI3_CLK"), + MTK_FUNCTION(7, "DBG_MON_B0") + ), + MTK_PIN( + 120, "GPIO120", + MTK_EINT_FUNCTION(0, 120), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO120"), + MTK_FUNCTION(1, "CMMCLK2"), + MTK_FUNCTION(2, "CLKM2"), + MTK_FUNCTION(6, "ANT_SEL12"), + MTK_FUNCTION(7, "TP_UCTS2_AO") + ), + MTK_PIN( + 121, "GPIO121", + MTK_EINT_FUNCTION(0, 121), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO121"), + MTK_FUNCTION(1, "CMMCLK3"), + MTK_FUNCTION(2, "CLKM3"), + MTK_FUNCTION(3, "DVFSRC_EXT_REQ"), + MTK_FUNCTION(6, "ANT_SEL11"), + MTK_FUNCTION(7, "TP_URTS2_AO") + ), + MTK_PIN( + 122, "GPIO122", + MTK_EINT_FUNCTION(0, 122), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO122"), + MTK_FUNCTION(1, "CMVREF1"), + MTK_FUNCTION(2, "PCM0_SYNC"), + MTK_FUNCTION(3, "SRCLKENAI1"), + MTK_FUNCTION(4, "AGPS_SYNC"), + MTK_FUNCTION(5, "PWM_1"), + MTK_FUNCTION(6, "ANT_SEL9"), + MTK_FUNCTION(7, "TP_UCTS1_AO") + ), + MTK_PIN( + 123, "GPIO123", + MTK_EINT_FUNCTION(0, 123), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO123"), + MTK_FUNCTION(2, "PCM0_DI"), + MTK_FUNCTION(3, "ADSP_JTAG_TRSTN"), + MTK_FUNCTION(4, "VPU_UDI_NTRST"), + MTK_FUNCTION(5, "SPM_JTAG_TRSTN"), + MTK_FUNCTION(6, "SSPM_JTAG_TRSTN") + ), + MTK_PIN( + 124, "GPIO124", + MTK_EINT_FUNCTION(0, 124), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO124"), + MTK_FUNCTION(1, "CMVREF2"), + MTK_FUNCTION(2, "PCM0_CLK"), + MTK_FUNCTION(3, "MD_INT0"), + MTK_FUNCTION(4, "EXT_FRAME_SYNC"), + MTK_FUNCTION(5, "PWM_2"), + MTK_FUNCTION(6, "ANT_SEL10"), + MTK_FUNCTION(7, "TP_URTS1_AO") + ), + MTK_PIN( + 125, "GPIO125", + MTK_EINT_FUNCTION(0, 125), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO125"), + MTK_FUNCTION(1, "CMVREF3"), + MTK_FUNCTION(2, "PCM0_DO"), + MTK_FUNCTION(3, "ADSP_JTAG_TMS"), + MTK_FUNCTION(4, "VPU_UDI_TMS"), + MTK_FUNCTION(5, "SPM_JTAG_TMS"), + MTK_FUNCTION(6, "SSPM_JTAG_TMS") + ), + MTK_PIN( + 126, "GPIO126", + MTK_EINT_FUNCTION(0, 126), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO126"), + MTK_FUNCTION(1, "CMVREF4"), + MTK_FUNCTION(2, "CMFLASH0"), + MTK_FUNCTION(6, "CONN_MCU_AICE_TMSC") + ), + MTK_PIN( + 127, "GPIO127", + MTK_EINT_FUNCTION(0, 127), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO127"), + MTK_FUNCTION(1, "CMVREF0"), + MTK_FUNCTION(2, "CMFLASH1"), + MTK_FUNCTION(6, "CONN_MCU_AICE_TCKC") + ), + MTK_PIN( + 128, "GPIO128", + MTK_EINT_FUNCTION(0, 128), + DRV_GRP0, + MTK_FUNCTION(0, "GPIO128"), + MTK_FUNCTION(1, "MD1_SIM1_SIO"), + MTK_FUNCTION(2, "MD1_SIM2_SIO"), + MTK_FUNCTION(3, "CCU_JTAG_TRST"), + MTK_FUNCTION(4, "CONN_DSP_JINTP"), + MTK_FUNCTION(5, "SCP_JTAG_TRSTN"), + MTK_FUNCTION(6, "LVTS_FOUT"), + MTK_FUNCTION(7, "DBG_MON_A3") + ), + MTK_PIN( + 129, "GPIO129", + MTK_EINT_FUNCTION(0, 129), + DRV_GRP0, + MTK_FUNCTION(0, "GPIO129"), + MTK_FUNCTION(1, "MD1_SIM1_SRST"), + MTK_FUNCTION(2, "MD1_SIM2_SRST"), + MTK_FUNCTION(3, "CCU_JTAG_TCK"), + MTK_FUNCTION(4, "CONN_DSP_JCK"), + MTK_FUNCTION(5, "SCP_JTAG_TCK"), + MTK_FUNCTION(6, "LVTS_SDO"), + MTK_FUNCTION(7, "DBG_MON_A4") + ), + MTK_PIN( + 130, "GPIO130", + MTK_EINT_FUNCTION(0, 130), + DRV_GRP0, + MTK_FUNCTION(0, "GPIO130"), + MTK_FUNCTION(1, "MD1_SIM1_SCLK"), + MTK_FUNCTION(2, "MD1_SIM2_SCLK"), + MTK_FUNCTION(6, "LVTS_26M"), + MTK_FUNCTION(7, "DBG_MON_A5") + ), + MTK_PIN( + 131, "GPIO131", + MTK_EINT_FUNCTION(0, 131), + DRV_GRP0, + MTK_FUNCTION(0, "GPIO131"), + MTK_FUNCTION(1, "MD1_SIM2_SCLK"), + MTK_FUNCTION(2, "MD1_SIM1_SCLK"), + MTK_FUNCTION(3, "CCU_JTAG_TDI"), + MTK_FUNCTION(4, "CONN_DSP_JDI"), + MTK_FUNCTION(5, "SCP_JTAG_TDI"), + MTK_FUNCTION(6, "LVTS_SCK"), + MTK_FUNCTION(7, "DBG_MON_A0") + ), + MTK_PIN( + 132, "GPIO132", + MTK_EINT_FUNCTION(0, 132), + DRV_GRP0, + MTK_FUNCTION(0, "GPIO132"), + MTK_FUNCTION(1, "MD1_SIM2_SRST"), + MTK_FUNCTION(2, "MD1_SIM1_SRST"), + MTK_FUNCTION(3, "CCU_JTAG_TMS"), + MTK_FUNCTION(4, "CONN_DSP_JMS"), + MTK_FUNCTION(5, "SCP_JTAG_TMS"), + MTK_FUNCTION(6, "LVTS_SDI"), + MTK_FUNCTION(7, "DBG_MON_A1") + ), + MTK_PIN( + 133, "GPIO133", + MTK_EINT_FUNCTION(0, 133), + DRV_GRP0, + MTK_FUNCTION(0, "GPIO133"), + MTK_FUNCTION(1, "MD1_SIM2_SIO"), + MTK_FUNCTION(2, "MD1_SIM1_SIO"), + MTK_FUNCTION(3, "CCU_JTAG_TDO"), + MTK_FUNCTION(4, "CONN_DSP_JDO"), + MTK_FUNCTION(5, "SCP_JTAG_TDO"), + MTK_FUNCTION(6, "LVTS_SCF"), + MTK_FUNCTION(7, "DBG_MON_A2") + ), + MTK_PIN( + 134, "GPIO134", + MTK_EINT_FUNCTION(0, 134), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO134"), + MTK_FUNCTION(1, "MSDC1_CLK"), + MTK_FUNCTION(2, "PCM1_CLK"), + MTK_FUNCTION(3, "SPI5_B_MI"), + MTK_FUNCTION(4, "UDI_TCK"), + MTK_FUNCTION(5, "CONN_DSP_JCK"), + MTK_FUNCTION(6, "IPU_JTAG_TCK"), + MTK_FUNCTION(7, "JTCK_SEL3") + ), + MTK_PIN( + 135, "GPIO135", + MTK_EINT_FUNCTION(0, 135), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO135"), + MTK_FUNCTION(1, "MSDC1_CMD"), + MTK_FUNCTION(2, "PCM1_SYNC"), + MTK_FUNCTION(3, "SPI5_B_CSB"), + MTK_FUNCTION(4, "UDI_TMS"), + MTK_FUNCTION(5, "CONN_DSP_JMS"), + MTK_FUNCTION(6, "IPU_JTAG_TMS"), + MTK_FUNCTION(7, "JTMS_SEL3") + ), + MTK_PIN( + 136, "GPIO136", + MTK_EINT_FUNCTION(0, 136), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO136"), + MTK_FUNCTION(1, "MSDC1_DAT3"), + MTK_FUNCTION(2, "PCM1_DI"), + MTK_FUNCTION(3, "SPI5_B_MO"), + MTK_FUNCTION(4, "CONN_TCXOENA_REQ"), + MTK_FUNCTION(5, "CONN_DSP_JINTP"), + MTK_FUNCTION(6, "CONN_MCU_AICE_TMSC") + ), + MTK_PIN( + 137, "GPIO137", + MTK_EINT_FUNCTION(0, 137), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO137"), + MTK_FUNCTION(1, "MSDC1_DAT0"), + MTK_FUNCTION(2, "PCM1_DO0"), + MTK_FUNCTION(3, "SPI5_B_CLK"), + MTK_FUNCTION(4, "UDI_TDI"), + MTK_FUNCTION(5, "CONN_DSP_JDI"), + MTK_FUNCTION(6, "IPU_JTAG_TDI"), + MTK_FUNCTION(7, "JTDI_SEL3") + ), + MTK_PIN( + 138, "GPIO138", + MTK_EINT_FUNCTION(0, 138), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO138"), + MTK_FUNCTION(1, "MSDC1_DAT2"), + MTK_FUNCTION(2, "PCM1_DO2"), + MTK_FUNCTION(3, "ANT_SEL11"), + MTK_FUNCTION(4, "UDI_NTRST"), + MTK_FUNCTION(5, "CONN_MCU_AICE_TCKC"), + MTK_FUNCTION(6, "IPU_JTAG_TRST"), + MTK_FUNCTION(7, "JTRSTN_SEL3") + ), + MTK_PIN( + 139, "GPIO139", + MTK_EINT_FUNCTION(0, 139), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO139"), + MTK_FUNCTION(1, "MSDC1_DAT1"), + MTK_FUNCTION(2, "PCM1_DO1"), + MTK_FUNCTION(3, "ANT_SEL12"), + MTK_FUNCTION(4, "UDI_TDO"), + MTK_FUNCTION(5, "CONN_DSP_JDO"), + MTK_FUNCTION(6, "IPU_JTAG_TDO"), + MTK_FUNCTION(7, "JTDO_SEL3") + ), + MTK_PIN( + 140, "GPIO140", + MTK_EINT_FUNCTION(0, 140), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO140"), + MTK_FUNCTION(1, "MD_INT1_C2K_UIM0_HOT_PLUG"), + MTK_FUNCTION(2, "MD_INT2_C2K_UIM1_HOT_PLUG"), + MTK_FUNCTION(3, "ADSP_URXD0"), + MTK_FUNCTION(4, "SCL_6306"), + MTK_FUNCTION(5, "PTA_RXD"), + MTK_FUNCTION(6, "SSPM_URXD_AO") + ), + MTK_PIN( + 141, "GPIO141", + MTK_EINT_FUNCTION(0, 141), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO141"), + MTK_FUNCTION(1, "MD_INT2_C2K_UIM1_HOT_PLUG"), + MTK_FUNCTION(2, "MD_INT1_C2K_UIM0_HOT_PLUG"), + MTK_FUNCTION(3, "ADSP_UTXD0"), + MTK_FUNCTION(4, "SDA_6306"), + MTK_FUNCTION(5, "PTA_TXD"), + MTK_FUNCTION(6, "SSPM_UTXD_AO") + ), + MTK_PIN( + 142, "GPIO142", + MTK_EINT_FUNCTION(0, 142), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO142"), + MTK_FUNCTION(1, "SCP_VREQ_VAO"), + MTK_FUNCTION(2, "DVFSRC_EXT_REQ") + ), + MTK_PIN( + 143, "GPIO143", + MTK_EINT_FUNCTION(0, 143), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO143"), + MTK_FUNCTION(1, "AUD_DAT_MOSI2"), + MTK_FUNCTION(7, "DBG_MON_A9") + ), + MTK_PIN( + 144, "GPIO144", + MTK_EINT_FUNCTION(0, 144), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO144"), + MTK_FUNCTION(1, "AUD_NLE_MOSI1"), + MTK_FUNCTION(2, "AUD_CLK_MISO"), + MTK_FUNCTION(3, "I2S2_MCK"), + MTK_FUNCTION(5, "UDI_TCK"), + MTK_FUNCTION(6, "UFS_UNIPRO_SDA"), + MTK_FUNCTION(7, "DBG_MON_A10") + ), + MTK_PIN( + 145, "GPIO145", + MTK_EINT_FUNCTION(0, 145), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO145"), + MTK_FUNCTION(1, "AUD_NLE_MOSI0"), + MTK_FUNCTION(2, "AUD_SYNC_MISO"), + MTK_FUNCTION(3, "I2S2_BCK"), + MTK_FUNCTION(5, "UDI_TMS"), + MTK_FUNCTION(7, "DBG_MON_A11") + ), + MTK_PIN( + 146, "GPIO146", + MTK_EINT_FUNCTION(0, 146), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO146"), + MTK_FUNCTION(1, "AUD_DAT_MISO2"), + MTK_FUNCTION(3, "I2S2_DI2"), + MTK_FUNCTION(5, "UDI_TDO"), + MTK_FUNCTION(7, "DBG_MON_A14") + ), + MTK_PIN( + 147, "GPIO147", + MTK_EINT_FUNCTION(0, 147), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO147"), + MTK_FUNCTION(1, "ANT_SEL0"), + MTK_FUNCTION(2, "PWM_3") + ), + MTK_PIN( + 148, "GPIO148", + MTK_EINT_FUNCTION(0, 148), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO148"), + MTK_FUNCTION(1, "ANT_SEL1"), + MTK_FUNCTION(2, "SPI0_B_MI"), + MTK_FUNCTION(3, "SSPM_URXD_AO"), + MTK_FUNCTION(5, "TP_UCTS2_AO"), + MTK_FUNCTION(6, "CLKM0") + ), + MTK_PIN( + 149, "GPIO149", + MTK_EINT_FUNCTION(0, 149), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO149"), + MTK_FUNCTION(1, "ANT_SEL2"), + MTK_FUNCTION(2, "SPI0_B_CSB"), + MTK_FUNCTION(3, "SSPM_UTXD_AO"), + MTK_FUNCTION(5, "TP_URTS2_AO"), + MTK_FUNCTION(6, "CONN_TCXOENA_REQ") + ), + MTK_PIN( + 150, "GPIO150", + MTK_EINT_FUNCTION(0, 150), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO150"), + MTK_FUNCTION(1, "ANT_SEL3"), + MTK_FUNCTION(2, "SPI0_B_MO"), + MTK_FUNCTION(3, "UCTS1"), + MTK_FUNCTION(5, "TP_UCTS1_AO"), + MTK_FUNCTION(6, "IDDIG"), + MTK_FUNCTION(7, "SCL9") + ), + MTK_PIN( + 151, "GPIO151", + MTK_EINT_FUNCTION(0, 151), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO151"), + MTK_FUNCTION(1, "ANT_SEL4"), + MTK_FUNCTION(2, "SPI0_B_CLK"), + MTK_FUNCTION(3, "URTS1"), + MTK_FUNCTION(5, "TP_URTS1_AO"), + MTK_FUNCTION(6, "USB_DRVVBUS"), + MTK_FUNCTION(7, "SDA9") + ), + MTK_PIN( + 152, "GPIO152", + MTK_EINT_FUNCTION(0, 152), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO152"), + MTK_FUNCTION(1, "ANT_SEL5"), + MTK_FUNCTION(2, "SPI1_B_MI"), + MTK_FUNCTION(3, "CLKM3"), + MTK_FUNCTION(5, "TP_URXD1_AO"), + MTK_FUNCTION(6, "SCP_SPI1_B_MI"), + MTK_FUNCTION(7, "SCL8") + ), + MTK_PIN( + 153, "GPIO153", + MTK_EINT_FUNCTION(0, 153), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO153"), + MTK_FUNCTION(1, "ANT_SEL6"), + MTK_FUNCTION(2, "SPI1_B_CSB"), + MTK_FUNCTION(3, "SRCLKENAI0"), + MTK_FUNCTION(4, "PWM_0"), + MTK_FUNCTION(5, "TP_UTXD1_AO"), + MTK_FUNCTION(6, "SCP_SPI1_B_CS"), + MTK_FUNCTION(7, "SDA8") + ), + MTK_PIN( + 154, "GPIO154", + MTK_EINT_FUNCTION(0, 154), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO154"), + MTK_FUNCTION(1, "ANT_SEL7"), + MTK_FUNCTION(2, "SPI1_B_MO"), + MTK_FUNCTION(3, "SRCLKENAI1"), + MTK_FUNCTION(5, "TP_URXD2_AO"), + MTK_FUNCTION(6, "SCP_SPI1_B_MO") + ), + MTK_PIN( + 155, "GPIO155", + MTK_EINT_FUNCTION(0, 155), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO155"), + MTK_FUNCTION(1, "ANT_SEL8"), + MTK_FUNCTION(2, "SPI1_B_CLK"), + MTK_FUNCTION(3, "MD_INT0"), + MTK_FUNCTION(5, "TP_UTXD2_AO"), + MTK_FUNCTION(6, "SCP_SPI1_B_CK"), + MTK_FUNCTION(7, "DBG_MON_A15") + ), + MTK_PIN( + 156, "GPIO156", + MTK_EINT_FUNCTION(0, 156), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO156"), + MTK_FUNCTION(1, "CONN_TOP_CLK"), + MTK_FUNCTION(2, "AUXIF_CLK0"), + MTK_FUNCTION(7, "DBG_MON_A16") + ), + MTK_PIN( + 157, "GPIO157", + MTK_EINT_FUNCTION(0, 157), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO157"), + MTK_FUNCTION(1, "CONN_TOP_DATA"), + MTK_FUNCTION(2, "AUXIF_ST0"), + MTK_FUNCTION(7, "DBG_MON_A17") + ), + MTK_PIN( + 158, "GPIO158", + MTK_EINT_FUNCTION(0, 158), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO158"), + MTK_FUNCTION(1, "CONN_HRST_B"), + MTK_FUNCTION(7, "DBG_MON_A18") + ), + MTK_PIN( + 159, "GPIO159", + MTK_EINT_FUNCTION(0, 159), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO159"), + MTK_FUNCTION(1, "CONN_WB_PTA"), + MTK_FUNCTION(7, "DBG_MON_A19") + ), + MTK_PIN( + 160, "GPIO160", + MTK_EINT_FUNCTION(0, 160), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO160"), + MTK_FUNCTION(1, "CONN_BT_CLK"), + MTK_FUNCTION(2, "AUXIF_CLK1"), + MTK_FUNCTION(7, "DBG_MON_A20") + ), + MTK_PIN( + 161, "GPIO161", + MTK_EINT_FUNCTION(0, 161), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO161"), + MTK_FUNCTION(1, "CONN_BT_DATA"), + MTK_FUNCTION(2, "AUXIF_ST1"), + MTK_FUNCTION(7, "DBG_MON_A21") + ), + MTK_PIN( + 162, "GPIO162", + MTK_EINT_FUNCTION(0, 162), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO162"), + MTK_FUNCTION(1, "CONN_WF_CTRL0"), + MTK_FUNCTION(7, "DBG_MON_A22") + ), + MTK_PIN( + 163, "GPIO163", + MTK_EINT_FUNCTION(0, 163), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO163"), + MTK_FUNCTION(1, "CONN_WF_CTRL1"), + MTK_FUNCTION(2, "UFS_MPHY_SCL"), + MTK_FUNCTION(7, "DBG_MON_A23") + ), + MTK_PIN( + 164, "GPIO164", + MTK_EINT_FUNCTION(0, 164), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO164"), + MTK_FUNCTION(1, "CONN_WF_CTRL2"), + MTK_FUNCTION(2, "UFS_MPHY_SDA"), + MTK_FUNCTION(7, "DBG_MON_A24") + ), + MTK_PIN( + 165, "GPIO165", + MTK_EINT_FUNCTION(0, 165), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO165"), + MTK_FUNCTION(1, "CONN_WF_CTRL3"), + MTK_FUNCTION(2, "UFS_UNIPRO_SDA"), + MTK_FUNCTION(7, "DBG_MON_A25") + ), + MTK_PIN( + 166, "GPIO166", + MTK_EINT_FUNCTION(0, 166), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO166"), + MTK_FUNCTION(1, "CONN_WF_CTRL4"), + MTK_FUNCTION(2, "UFS_UNIPRO_SCL"), + MTK_FUNCTION(7, "DBG_MON_A26") + ), + MTK_PIN( + 167, "GPIO167", + MTK_EINT_FUNCTION(0, 167), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO167"), + MTK_FUNCTION(1, "MSDC0_CMD") + ), + MTK_PIN( + 168, "GPIO168", + MTK_EINT_FUNCTION(0, 168), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO168"), + MTK_FUNCTION(1, "MSDC0_DAT0") + ), + MTK_PIN( + 169, "GPIO169", + MTK_EINT_FUNCTION(0, 169), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO169"), + MTK_FUNCTION(1, "MSDC0_DAT2") + ), + MTK_PIN( + 170, "GPIO170", + MTK_EINT_FUNCTION(0, 170), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO170"), + MTK_FUNCTION(1, "MSDC0_DAT4") + ), + MTK_PIN( + 171, "GPIO171", + MTK_EINT_FUNCTION(0, 171), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO171"), + MTK_FUNCTION(1, "MSDC0_DAT6") + ), + MTK_PIN( + 172, "GPIO172", + MTK_EINT_FUNCTION(0, 172), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO172"), + MTK_FUNCTION(1, "MSDC0_DAT1") + ), + MTK_PIN( + 173, "GPIO173", + MTK_EINT_FUNCTION(0, 173), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO173"), + MTK_FUNCTION(1, "MSDC0_DAT5") + ), + MTK_PIN( + 174, "GPIO174", + MTK_EINT_FUNCTION(0, 174), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO174"), + MTK_FUNCTION(1, "MSDC0_DAT7") + ), + MTK_PIN( + 175, "GPIO175", + MTK_EINT_FUNCTION(0, 175), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO175"), + MTK_FUNCTION(1, "MSDC0_DSL"), + MTK_FUNCTION(2, "ANT_SEL9") + ), + MTK_PIN( + 176, "GPIO176", + MTK_EINT_FUNCTION(0, 176), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO176"), + MTK_FUNCTION(1, "MSDC0_CLK"), + MTK_FUNCTION(2, "ANT_SEL10") + ), + MTK_PIN( + 177, "GPIO177", + MTK_EINT_FUNCTION(0, 177), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO177"), + MTK_FUNCTION(1, "MSDC0_DAT3") + ), + MTK_PIN( + 178, "GPIO178", + MTK_EINT_FUNCTION(0, 178), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO178"), + MTK_FUNCTION(1, "MSDC0_RSTB") + ), + MTK_PIN( + 179, "GPIO179", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO179"), + MTK_FUNCTION(1, "RFIC0_BSI_EN") + ), + MTK_PIN( + 180, "GPIO180", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO180"), + MTK_FUNCTION(1, "RFIC0_BSI_CK") + ), + MTK_PIN( + 181, "GPIO181", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO181"), + MTK_FUNCTION(1, "SRCLKENA0") + ), + MTK_PIN( + 182, "GPIO182", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO182"), + MTK_FUNCTION(1, "SRCLKENA1") + ), + MTK_PIN( + 183, "GPIO183", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO183"), + MTK_FUNCTION(1, "WATCHDOG") + ), + MTK_PIN( + 184, "GPIO184", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO184"), + MTK_FUNCTION(1, "PWRAP_SPI0_MI"), + MTK_FUNCTION(2, "PWRAP_SPI0_MO") + ), + MTK_PIN( + 185, "GPIO185", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO185"), + MTK_FUNCTION(1, "PWRAP_SPI0_CSN") + ), + MTK_PIN( + 186, "GPIO186", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO186"), + MTK_FUNCTION(1, "PWRAP_SPI0_MO"), + MTK_FUNCTION(2, "PWRAP_SPI0_MI") + ), + MTK_PIN( + 187, "GPIO187", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO187"), + MTK_FUNCTION(1, "PWRAP_SPI0_CK") + ), + MTK_PIN( + 188, "GPIO188", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO188"), + MTK_FUNCTION(1, "RTC32K_CK") + ), + MTK_PIN( + 189, "GPIO189", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO189"), + MTK_FUNCTION(1, "AUD_CLK_MOSI"), + MTK_FUNCTION(3, "I2S1_MCK"), + MTK_FUNCTION(6, "UFS_UNIPRO_SCL") + ), + MTK_PIN( + 190, "GPIO190", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO190"), + MTK_FUNCTION(1, "AUD_SYNC_MOSI"), + MTK_FUNCTION(3, "I2S1_BCK"), + MTK_FUNCTION(7, "DBG_MON_A6") + ), + MTK_PIN( + 191, "GPIO191", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO191"), + MTK_FUNCTION(1, "AUD_DAT_MOSI0"), + MTK_FUNCTION(3, "I2S1_LRCK"), + MTK_FUNCTION(7, "DBG_MON_A7") + ), + MTK_PIN( + 192, "GPIO192", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO192"), + MTK_FUNCTION(1, "AUD_DAT_MOSI1"), + MTK_FUNCTION(3, "I2S1_DO"), + MTK_FUNCTION(6, "UFS_MPHY_SDA"), + MTK_FUNCTION(7, "DBG_MON_A8") + ), + MTK_PIN( + 193, "GPIO193", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO193"), + MTK_FUNCTION(1, "AUD_DAT_MISO0"), + MTK_FUNCTION(2, "VOW_DAT_MISO"), + MTK_FUNCTION(3, "I2S2_LRCK"), + MTK_FUNCTION(5, "UDI_TDI"), + MTK_FUNCTION(7, "DBG_MON_A12") + ), + MTK_PIN( + 194, "GPIO194", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO194"), + MTK_FUNCTION(1, "AUD_DAT_MISO1"), + MTK_FUNCTION(2, "VOW_CLK_MISO"), + MTK_FUNCTION(3, "I2S2_DI"), + MTK_FUNCTION(5, "UDI_NTRST"), + MTK_FUNCTION(6, "UFS_MPHY_SCL"), + MTK_FUNCTION(7, "DBG_MON_A13") + ), + MTK_PIN( + 195, "GPIO195", + MTK_EINT_FUNCTION(0, 179), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO195"), + MTK_FUNCTION(3, "ADSP_JTAG_TCK"), + MTK_FUNCTION(4, "VPU_UDI_TCK"), + MTK_FUNCTION(5, "SPM_JTAG_TCK"), + MTK_FUNCTION(6, "SSPM_JTAG_TCK") + ), + MTK_PIN( + 196, "GPIO196", + MTK_EINT_FUNCTION(0, 180), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO196"), + MTK_FUNCTION(1, "CMMCLK4"), + MTK_FUNCTION(3, "ADSP_JTAG_TDI"), + MTK_FUNCTION(4, "VPU_UDI_TDI"), + MTK_FUNCTION(5, "SPM_JTAG_TDI"), + MTK_FUNCTION(6, "SSPM_JTAG_TDI") + ), + MTK_PIN( + 197, "GPIO197", + MTK_EINT_FUNCTION(0, 181), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO197"), + MTK_FUNCTION(3, "ADSP_JTAG_TDO"), + MTK_FUNCTION(4, "VPU_UDI_TDO"), + MTK_FUNCTION(5, "SPM_JTAG_TDO"), + MTK_FUNCTION(6, "SSPM_JTAG_TDO") + ), + MTK_PIN( + 198, "GPIO198", + MTK_EINT_FUNCTION(0, 182), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO198"), + MTK_FUNCTION(1, "SCL7") + ), + MTK_PIN( + 199, "GPIO199", + MTK_EINT_FUNCTION(0, 183), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO199"), + MTK_FUNCTION(1, "SDA7") + ), + MTK_PIN( + 200, "GPIO200", + MTK_EINT_FUNCTION(0, 184), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO200"), + MTK_FUNCTION(1, "URXD1"), + MTK_FUNCTION(2, "ADSP_URXD0"), + MTK_FUNCTION(3, "TP_URXD1_AO"), + MTK_FUNCTION(4, "SSPM_URXD_AO"), + MTK_FUNCTION(5, "TP_URXD2_AO"), + MTK_FUNCTION(6, "MBISTREADEN_TRIGGER") + ), + MTK_PIN( + 201, "GPIO201", + MTK_EINT_FUNCTION(0, 185), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO201"), + MTK_FUNCTION(1, "UTXD1"), + MTK_FUNCTION(2, "ADSP_UTXD0"), + MTK_FUNCTION(3, "TP_UTXD1_AO"), + MTK_FUNCTION(4, "SSPM_UTXD_AO"), + MTK_FUNCTION(5, "TP_UTXD2_AO"), + MTK_FUNCTION(6, "MBISTWRITEEN_TRIGGER") + ), + MTK_PIN( + 202, "GPIO202", + MTK_EINT_FUNCTION(0, 186), + DRV_GRP4, + MTK_FUNCTION(0, "GPIO202"), + MTK_FUNCTION(1, "PWM_3"), + MTK_FUNCTION(2, "CLKM3") + ), + MTK_PIN( + 203, "GPIO203", + MTK_EINT_FUNCTION(0, 187), + DRV_GRP4, + MTK_FUNCTION(0, NULL) + ), + MTK_PIN( + 204, "GPIO204", + MTK_EINT_FUNCTION(0, 188), + DRV_GRP4, + MTK_FUNCTION(0, NULL) + ), + MTK_PIN( + 205, "GPIO205", + MTK_EINT_FUNCTION(0, 189), + DRV_GRP4, + MTK_FUNCTION(0, NULL) + ), + MTK_PIN( + 206, "GPIO206", + MTK_EINT_FUNCTION(0, 190), + DRV_GRP4, + MTK_FUNCTION(0, NULL) + ), + MTK_PIN( + 207, "GPIO207", + MTK_EINT_FUNCTION(0, 191), + DRV_GRP4, + MTK_FUNCTION(0, NULL) + ), + MTK_PIN( + 208, "GPIO208", + MTK_EINT_FUNCTION(0, 193), + DRV_GRP4, + MTK_FUNCTION(0, NULL) + ), + MTK_PIN( + 209, "GPIO209", + MTK_EINT_FUNCTION(0, 194), + DRV_GRP4, + MTK_FUNCTION(0, NULL) + ), +}; + +#endif /* __PINCTRL-MTK-MT6779_H */ -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek