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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A4B1EC433EF for ; Sun, 29 May 2022 11:33:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=I9OFO14HGXcIWNGWt8Q3PPBX8tCrC6EV/dPuTiivKw8=; b=aR3UvhAydM7dFi xrXPwy65mr123D4o+UxZYjanrxOdyuoxCh/qwFqpXLh/DaE3w2KO8x3zn8P25Ke/EGNReZsz4xY9t bK/j2Tr6Bl4DGQw3ZBSZYZivJjiT2eCfz2R+oFF+sVUdMus4pXHmTepuXvLnops7po2gkpQkJuGTn 0rLVlnjKv0HQ6jSs2/0jRWxQkUeIkJkxUugh2kdPhITxAhLsrUvZDRffwMLfQyTRjoUJbIts7fFcP snzYFRp5mprGazhCXeRrD86pSAHjp8oOdwtP5wYzCxWfUcm3VW8FgmhhhQgZBTpA18hsb4AwVGH0M 5FC0XwGf4pn465wWfnqw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvHAo-003nEH-Oa; Sun, 29 May 2022 11:33:30 +0000 Received: from vps.xff.cz ([195.181.215.36]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvHAa-003nBF-Ve; Sun, 29 May 2022 11:33:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1653823989; bh=Cgq1AFt4FcomK7VfDd+niFdKcnwlvlnz6kb7RolLMKc=; h=Date:From:To:Cc:Subject:X-My-GPG-KeyId:References:From; b=WvGPVP0cflfH6iivIiKB9b50A4Zh3VfAf88ELy/WjE1lSH1EZxBVaRnVJZnSjUkVA Z9Vs/fqo4Sx5kzOR3ZV+oEeqtJkxF4sdzMxguqC9uj5UVq1jjYUWtWCrXfo9l4BWVD SGkJEO4Z0ML7WxvInXQFDvAGYeAMtSi+muvfONrw= Date: Sun, 29 May 2022 13:33:09 +0200 From: =?utf-8?Q?Ond=C5=99ej?= Jirman To: Tom Fitzhenry Cc: Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Samuel Holland , Martijn Braam Subject: Re: [PATCH 2/2] arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro Message-ID: <20220529113309.imsy7j3cnl4ihc52@core> Mail-Followup-To: =?utf-8?Q?Ond=C5=99ej?= Jirman , Tom Fitzhenry , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Samuel Holland , Martijn Braam X-My-GPG-KeyId: EBFBDDE11FB918D44D1F56C1F9F0A873BE9777ED References: <20220529031705.278631-1-tom@tom-fitzhenry.me.uk> <20220529031705.278631-3-tom@tom-fitzhenry.me.uk> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220529031705.278631-3-tom@tom-fitzhenry.me.uk> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220529_043318_046523_29AC2317 X-CRM114-Status: GOOD ( 23.78 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgVG9tLAoKT24gU3VuLCBNYXkgMjksIDIwMjIgYXQgMDE6MTc6MDVQTSArMTAwMCwgVG9tIEZp dHpoZW5yeSB3cm90ZToKPiBUaGlzIGlzIGEgYmFzaWMgRFQgdGhhdCBpbmNsdWRlcyBvbmx5IGZl YXR1cmVzIHRoYXQgYXJlIGFscmVhZHkKPiBzdXBwb3J0ZWQgYnkgbWFpbmxpbmUgZHJpdmVycy4K PiAKPiBUZXN0ZWQgdG8gd29yazogYm9vdGluZyBmcm9tIGVNTUMsIFdpRmksIGNoYXJnaW5nLgo+ IAo+IEZ1dHVyZSBwYXRjaGVzIHdpbGwgZmxlc2ggb3V0IHRoZSBEVC4gU29tZSBjb21wb25lbnRz LCBlLmcuIHRoZSBwYW5lbCwKPiBhcmUgYXdhaXRpbmcgZHJpdmVyIG1haW5saW5pbmcuCj4gCj4g VGhpcyBpcyBkZXJpdmVkIGZyb20gYSBjb21iaW5hdGlvbiBvZiBodHRwczovL2dpdGxhYi5jb20v cGluZTY0LW9yZy9saW51eAo+IGFuZCBodHRwczovL21lZ291cy5jb20vZ2l0L2xpbnV4LgoKdGhp cyBwYXRjaCBoYXMgYSBidW5jaCBvZiBpc3N1ZXMgdGhhdCB3ZXJlIGFscmVhZHkgZml4ZWQgZHVy aW5nIGRpc2N1c3Npb25zCndpdGggTWFydGlqbiBhcyBwYXJ0IG9mIGhpcyBlZmZvcnQgdG8gcHJl cGFyZSBhbiBpbml0aWFsIGRldmljZSB0cmVlIGZvcgpQaW5lcGhvbmVQcm8uIChhbHNvIG5vdGVk IGJlbG93IGZvciB5b3VyIHJlZmVyZW5jZSkKCkkgc3VnZ2VzdCB0byB3YWl0IGZvciB0aGUgb3Jp Z2luYWwgYXV0aG9yJ3Mgc3VibWlzc2lvbi4KCmtpbmQgcmVnYXJkcywKCW8uCgo+IGh0dHBzOi8v d2lraS5waW5lNjQub3JnL3dpa2kvUGluZVBob25lX1Bybwo+IAo+IENvLWRldmVsb3BlZC1ieTog T25kcmVqIEppcm1hbiA8bWVnb3VzQG1lZ291cy5jb20+Cj4gQ28tZGV2ZWxvcGVkLWJ5OiBNYXJ0 aWpuIEJyYWFtIDxtYXJ0aWpuQGJyaXhpdC5ubD4KPiBTaWduZWQtb2ZmLWJ5OiBUb20gRml0emhl bnJ5IDx0b21AdG9tLWZpdHpoZW5yeS5tZS51az4KPiAtLS0KPiAgYXJjaC9hcm02NC9ib290L2R0 cy9yb2NrY2hpcC9NYWtlZmlsZSAgICAgICAgIHwgICAxICsKPiAgLi4uL2R0cy9yb2NrY2hpcC9y azMzOTktcGluZXBob25lLXByby5kdHMgICAgIHwgOTM5ICsrKysrKysrKysrKysrKysrKwo+ICAy IGZpbGVzIGNoYW5nZWQsIDk0MCBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBh cmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzM5OS1waW5lcGhvbmUtcHJvLmR0cwo+IAo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL01ha2VmaWxlIGIvYXJj aC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9NYWtlZmlsZQo+IGluZGV4IDRhZTlmMzU0MzRiOC4u YzAwZTc5MjJkOTc0IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAv TWFrZWZpbGUKPiArKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL01ha2VmaWxlCj4g QEAgLTQxLDYgKzQxLDcgQEAgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1u YW5vcGktbmVvNC5kdGIKPiAgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1u YW5vcGktcjRzLmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LW9y YW5nZXBpLmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LXBpbmVi b29rLXByby5kdGIKPiArZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1waW5l cGhvbmUtcHJvLmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LXB1 bWEtaGFpa291LmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LXJv Yy1wYy5kdGIKPiAgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1yb2MtcGMt bWV6emFuaW5lLmR0Ygo+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlw L3JrMzM5OS1waW5lcGhvbmUtcHJvLmR0cyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAv cmszMzk5LXBpbmVwaG9uZS1wcm8uZHRzCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwMDAwMDAuLmIxYTQ4NmRiMWRmZQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9hcmNoL2Fy bTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzM5OS1waW5lcGhvbmUtcHJvLmR0cwo+IEBAIC0wLDAg KzEsOTM5IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlU KQo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjAgTWFydGlqbiBCcmFhbSA8bWFydGlqbkBi cml4aXQubmw+Cj4gKyAqIENvcHlyaWdodCAoYykgMjAyMSBLYW1pbCBUcnpjacWEc2tpIDxheXVm YW5AYXl1ZmFuLmV1Pgo+ICsgKi8KPiArCj4gKy8vIFBpbmVQaG9uZSBQcm8gZGF0YXNoZWV0OiBo dHRwczovL2ZpbGVzLnBpbmU2NC5vcmcvZG9jL1BpbmVQaG9uZVByby9QaW5lcGhvbmVQcm8tU2No ZW1hdGljLVYxLjAtMjAyMTExMjcucGRmCj4gKwo+ICsvZHRzLXYxLzsKPiArI2luY2x1ZGUgPGR0 LWJpbmRpbmdzL2lucHV0L2dwaW8ta2V5cy5oPgo+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW5w dXQvbGludXgtZXZlbnQtY29kZXMuaD4KPiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3VzYi9wZC5o Pgo+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvbGVkcy9jb21tb24uaD4KPiArI2luY2x1ZGUgInJr MzM5OS5kdHNpIgo+ICsjaW5jbHVkZSAicmszMzk5LW9wcC5kdHNpIgo+ICsKPiArLyB7Cj4gKwlt b2RlbCA9ICJQaW5lNjQgUGluZVBob25lUHJvIjsKPiArCWNvbXBhdGlibGUgPSAicGluZTY0LHBp bmVwaG9uZS1wcm8iLCAicm9ja2NoaXAscmszMzk5IjsKPiArCj4gKwljaG9zZW4gewo+ICsJCWJv b3RhcmdzID0gImVhcmx5Y29uPXVhcnQ4MjUwLG1taW8zMiwweGZmMWEwMDAwIjsKPiArCQlzdGRv dXQtcGF0aCA9ICJzZXJpYWwyOjExNTIwMG44IjsKPiArCX07Cj4gKwo+ICsJLy8gUGVyICJSSyAz Mzk5IFNBUkFEQyIsIHBhZ2UgOC4KPiArCWFkYy1rZXlzIHsKPiArCQljb21wYXRpYmxlID0gImFk Yy1rZXlzIjsKPiArCQlpby1jaGFubmVscyA9IDwmc2FyYWRjIDE+Owo+ICsJCWlvLWNoYW5uZWwt bmFtZXMgPSAiYnV0dG9ucyI7Cj4gKwkJa2V5dXAtdGhyZXNob2xkLW1pY3Jvdm9sdCA9IDwxNjAw MDAwPjsKPiArCQlwb2xsLWludGVydmFsID0gPDEwMD47Cj4gKwo+ICsJCWJ1dHRvbi11cCB7Cj4g KwkJCWxhYmVsID0gIlZvbHVtZSBVcCI7Cj4gKwkJCWxpbnV4LGNvZGUgPSA8S0VZX1ZPTFVNRVVQ PjsKPiArCQkJcHJlc3MtdGhyZXNob2xkLW1pY3Jvdm9sdCA9IDwxMDAwMDA+Owo+ICsJCX07Cj4g Kwo+ICsJCWJ1dHRvbi1kb3duIHsKPiArCQkJbGFiZWwgPSAiVm9sdW1lIERvd24iOwo+ICsJCQls aW51eCxjb2RlID0gPEtFWV9WT0xVTUVET1dOPjsKPiArCQkJcHJlc3MtdGhyZXNob2xkLW1pY3Jv dm9sdCA9IDwzMDAwMDA+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCWNsdXN0ZXIxX29wcF9wcHA6 IG9wcC10YWJsZTFiIHsKPiArCQljb21wYXRpYmxlID0gIm9wZXJhdGluZy1wb2ludHMtdjIiOwo+ ICsJCW9wcC1zaGFyZWQ7Cj4gKwo+ICsJCW9wcDAwIHsKPiArCQkJb3BwLWh6ID0gL2JpdHMvIDY0 IDw0MDgwMDAwMDA+Owo+ICsJCQlvcHAtbWljcm92b2x0ID0gPDgwMDAwMD47Cj4gKwkJCWNsb2Nr LWxhdGVuY3ktbnMgPSA8NDAwMDA+Owo+ICsJCX07Cj4gKwkJb3BwMDEgewo+ICsJCQlvcHAtaHog PSAvYml0cy8gNjQgPDYwMDAwMDAwMD47Cj4gKwkJCW9wcC1taWNyb3ZvbHQgPSA8ODAwMDAwPjsK PiArCQl9Owo+ICsJCW9wcDAyIHsKPiArCQkJb3BwLWh6ID0gL2JpdHMvIDY0IDw4MTYwMDAwMDA+ Owo+ICsJCQlvcHAtbWljcm92b2x0ID0gPDgyNTAwMD47Cj4gKwkJfTsKPiArCQlvcHAwMyB7Cj4g KwkJCW9wcC1oeiA9IC9iaXRzLyA2NCA8MTAwODAwMDAwMD47Cj4gKwkJCW9wcC1taWNyb3ZvbHQg PSA8ODc1MDAwPjsKPiArCQl9Owo+ICsJCW9wcDA0IHsKPiArCQkJb3BwLWh6ID0gL2JpdHMvIDY0 IDwxMjAwMDAwMDAwPjsKPiArCQkJb3BwLW1pY3Jvdm9sdCA9IDw5NTAwMDA+Owo+ICsJCX07Cj4g KwkJb3BwMDUgewo+ICsJCQlvcHAtaHogPSAvYml0cy8gNjQgPDE0MTYwMDAwMDA+Owo+ICsJCQlv cHAtbWljcm92b2x0ID0gPDEwMjUwMDA+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCS8vIFBlciAi QkFDS0xJR0hUIiwgcGFnZSAxNi4KPiArCWJhY2tsaWdodDogYmFja2xpZ2h0IHsKPiArCQljb21w YXRpYmxlID0gInB3bS1iYWNrbGlnaHQiOwo+ICsJCXB3bXMgPSA8JnB3bTAgMCAxMDAwMDAwIDA+ Owo+ICsJCXB3bS1kZWxheS11cyA9IDwxMDAwMD47Cj4gKwl9Owo+ICsKPiArCS8vIFBlciAiUksz Mzk5IEdQSU8iLCBwYWdlIDExLgo+ICsJbGVkcyB7Cj4gKwkJY29tcGF0aWJsZSA9ICJncGlvLWxl ZHMiOwo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7Cj4gKwkJcGluY3RybC0wID0gPCZy ZWRfbGVkX3BpbiAmZ3JlZW5fbGVkX3BpbiAmYmx1ZV9sZWRfcGluPjsKPiArCj4gKwkJbGVkLXN0 YW5kYnkgewo+ICsJCQljb2xvciA9IDxMRURfQ09MT1JfSURfUkVEPjsKPiArCQkJZGVmYXVsdC1z dGF0ZSA9ICJvZmYiOwo+ICsJCQlmdW5jdGlvbiA9IExFRF9GVU5DVElPTl9TVEFOREJZOwo+ICsJ CQlncGlvcyA9IDwmZ3BpbzQgUktfUEQyIEdQSU9fQUNUSVZFX0hJR0g+Owo+ICsJCQlsYWJlbCA9 ICJyZWQ6c3RhbmRieSI7Cj4gKwkJCXBhbmljLWluZGljYXRvcjsKPiArCQkJcmV0YWluLXN0YXRl LXN1c3BlbmRlZDsKPiArCQl9Owo+ICsKPiArCQlsZWQtcHdyIHsKPiArCQkJY29sb3IgPSA8TEVE X0NPTE9SX0lEX0dSRUVOPjsKPiArCQkJZGVmYXVsdC1zdGF0ZSA9ICJvbiI7Cj4gKwkJCWZ1bmN0 aW9uID0gTEVEX0ZVTkNUSU9OX1BPV0VSOwo+ICsJCQlncGlvcyA9IDwmZ3BpbzQgUktfUEQ1IEdQ SU9fQUNUSVZFX0hJR0g+Owo+ICsJCQlsYWJlbCA9ICJncmVlbjpkaXNrLWFjdGl2aXR5IjsKPiAr CQl9Owo+ICsKPiArCQlibHVlLWNoYXJnaW5nIHsKPiArCQkJY29sb3IgPSA8TEVEX0NPTE9SX0lE X0JMVUU+Owo+ICsJCQlkZWZhdWx0LXN0YXRlID0gIm9mZiI7Cj4gKwkJCWZ1bmN0aW9uID0gTEVE X0ZVTkNUSU9OX0NIQVJHSU5HOwo+ICsJCQlncGlvcyA9IDwmZ3BpbzQgUktfUEQ2IEdQSU9fQUNU SVZFX0hJR0g+Owo+ICsJCQlsYWJlbCA9ICJibHVlOmNoYXJnaW5nIjsKPiArCQl9Owo+ICsJfTsK Cl5eIHRoZXNlIGFyZSBnZW5lcmFsIGluZGljYXRvciBMRURzLCB0aGV5IGRvbid0IGhhdmUgYSBm dW5jdGlvbiBtYXJrZWQgb24gdGhlCmNoYXNpcyBvZiB0aGUgcGhvbmUuCgo+ICsJZ3Bpby1rZXkt cG93ZXIgewo+ICsJCWNvbXBhdGlibGUgPSAiZ3Bpby1rZXlzIjsKPiArCQlwaW5jdHJsLW5hbWVz ID0gImRlZmF1bHQiOwo+ICsJCXBpbmN0cmwtMCA9IDwmcHdyYnRuX3Bpbj47Cj4gKwo+ICsJCXBv d2VyIHsKPiArCQkJZGVib3VuY2UtaW50ZXJ2YWwgPSA8MjA+Owo+ICsJCQkvLyBQZXIgIlBNVSBD b250cm9sZXIiLCBwYWdlIDQuCj4gKwkJCWdwaW9zID0gPCZncGlvMCBSS19QQTUgR1BJT19BQ1RJ VkVfTE9XPjsKPiArCQkJbGFiZWwgPSAiUG93ZXIiOwo+ICsJCQlsaW51eCxjb2RlID0gPEtFWV9Q T1dFUj47Cj4gKwkJCXdha2V1cC1zb3VyY2U7Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJc2Rpb19w d3JzZXE6IHNkaW8tcHdyc2VxIHsKPiArCQljb21wYXRpYmxlID0gIm1tYy1wd3JzZXEtc2ltcGxl IjsKPiArCQljbG9ja3MgPSA8JnJrODE4IDE+Owo+ICsJCWNsb2NrLW5hbWVzID0gImV4dF9jbG9j ayI7Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8Jndp ZmlfZW5hYmxlX2g+Owo+ICsJCXBvc3QtcG93ZXItb24tZGVsYXktbXMgPSA8MTAwPjsKPiArCQlw b3dlci1vZmYtZGVsYXktdXMgPSA8NTAwMDAwPjsKPiArCj4gKwkJLyogV0xfUkVHX09OIG9uIG1v ZHVsZSAqLwo+ICsJCXJlc2V0LWdwaW9zID0gPCZncGlvMCBSS19QQjIgR1BJT19BQ1RJVkVfTE9X PjsKPiArCX07Cj4gKwo+ICsJdmlicmF0b3Igewo+ICsJCWNvbXBhdGlibGUgPSAiZ3Bpby12aWJy YXRvciI7Cj4gKwkJLy8gUGVyICJHUElPIiwgcGFnZSAxMS4KPiArCQllbmFibGUtZ3Bpb3MgPSA8 JmdwaW8zIFJLX1BCMSBHUElPX0FDVElWRV9ISUdIPjsKPiArCQkvLyBQZXIgIk1vdG9yIiwgcGFn ZSAxNy4KPiArCQl2Y2Mtc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKPiArCX07Cj4gKwo+ICsJLyog UG93ZXIgdHJlZSAqLwo+ICsJLyogUm9vdCBwb3dlciBzb3VyY2UgKi8KPiArCXZjY19zeXNpbjog dmNjLXN5c2luIHsKPiArCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7Cj4gKwkJcmVn dWxhdG9yLW5hbWUgPSAidmNjX3N5c2luIjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJ CXJlZ3VsYXRvci1ib290LW9uOwo+ICsJfTsKPiArCj4gKwl2Y2M1djBfc3lzOiB2Y2M1djAtaG9z dC1yZWd1bGF0b3Igewo+ICsJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKPiArCQly ZWd1bGF0b3ItbmFtZSA9ICJ2Y2M1djBfc3lzIjsKPiArCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9s dCA9IDw1MDAwMDAwPjsKPiArCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsK PiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCXZp bi1zdXBwbHkgPSA8JnZjY19zeXNpbj47Cj4gKwo+ICsJCXJlZ3VsYXRvci1zdGF0ZS1tZW0gewo+ ICsJCQlyZWd1bGF0b3Itb24taW4tc3VzcGVuZDsKPiArCQl9Owo+ICsJfTsKPiArCj4gKwl2Y2M1 djBfdHlwZWM6IHZjYzV2MC10eXBlYy1yZWd1bGF0b3Igewo+ICsJCWNvbXBhdGlibGUgPSAicmVn dWxhdG9yLWZpeGVkIjsKPiArCQlncGlvID0gPCZncGlvMCBSS19QQTYgR1BJT19BQ1RJVkVfSElH SD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JnZj YzV2MF90eXBlY19lbj47Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NTAwMDAwMD47 Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47Cj4gKwkJcmVndWxhdG9y LW5hbWUgPSAidmNjNXYwX3R5cGVjIjsKPiArCQl2aW4tc3VwcGx5ID0gPCZ2Y2M1djBfc3lzPjsK PiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsKPiAr CQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJcmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7Cj4g KwkJfTsKPiArCX07CgpeXl4gdGhpcyBpcyBub3QgYSByZWd1bGF0b3IgYW5kIGRvZXNuJ3Qgc3dp dGNoIG9uIFZCVVMgc3VwcGx5CmZvciB0eXBlLWMgcG9ydC4gVGhhdCdzIGRvbmUgYnkgdGhlIG90 Z19zd2l0Y2gKCj4gKwkvKiBNYWluIDMuM3Ygc3VwcGx5ICovCj4gKwl2Y2MzdjNfc3lzOiB3aWZp X2JhdDogdmNjM3YzLXN5cyB7Cj4gKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOwo+ ICsJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19zeXMiOwo+ICsJCXJlZ3VsYXRvci1hbHdheXMt b247Cj4gKwkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQg PSA8MzMwMDAwMD47Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzMwMDAwMD47Cj4g KwkJdmluLXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCj4gKwkJcmVndWxhdG9yLXN0YXRlLW1l bSB7Cj4gKwkJCXJlZ3VsYXRvci1vbi1pbi1zdXNwZW5kOwo+ICsJCX07Cj4gKwl9Owo+ICsKPiAr CXZjYzF2OF9jb2RlYzogdmNjMXY4LWNvZGVjLXJlZ3VsYXRvciB7Cj4gKwkJY29tcGF0aWJsZSA9 ICJyZWd1bGF0b3ItZml4ZWQiOwo+ICsJCWVuYWJsZS1hY3RpdmUtaGlnaDsKPiArCQlncGlvID0g PCZncGlvMyBSS19QQTQgR1BJT19BQ1RJVkVfSElHSD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJk ZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JnZjYzF2OF9jb2RlY19lbj47Cj4gKwkJcmVndWxh dG9yLW5hbWUgPSAidmNjMXY4X2NvZGVjIjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJ CXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDE4MDAw MDA+Owo+ICsJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDE4MDAwMDA+Owo+ICsJCXZpbi1z dXBwbHkgPSA8JnZjYzN2M19zeXM+Owo+ICsJfTsKPiArCj4gKwkvKiBNSVBJIERTSSBwYW5lbCAx Ljh2IHN1cHBseSAqLwo+ICsJdmNjMXY4X2xjZDogdmNjMXY4LWxjZCB7Cj4gKwkJY29tcGF0aWJs ZSA9ICJyZWd1bGF0b3ItZml4ZWQiOwo+ICsJCWVuYWJsZS1hY3RpdmUtaGlnaDsKPiArCQlyZWd1 bGF0b3ItbmFtZSA9ICJ2Y2MxdjhfbGNkIjsKPiArCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9 IDwxODAwMDAwPjsKPiArCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiAr CQl2aW4tc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKPiArCQlncGlvID0gPCZncGlvMyBSS19QQTUg R1BJT19BQ1RJVkVfSElHSD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlw aW5jdHJsLTAgPSA8JmRpc3BsYXlfcHdyZW4xPjsKPiArCX07Cj4gKwo+ICsJLyogTUlQSSBEU0kg cGFuZWwgMi44diBzdXBwbHkgKi8KPiArCXZjYzJ2OF9sY2Q6IHZjYzJ2OC1sY2Qgewo+ICsJCWNv bXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKPiArCQllbmFibGUtYWN0aXZlLWhpZ2g7Cj4g KwkJcmVndWxhdG9yLW5hbWUgPSAidmNjMnY4X2xjZCI7Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNy b3ZvbHQgPSA8MjgwMDAwMD47Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MjgwMDAw MD47Cj4gKwkJdmluLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47Cj4gKwkJZ3BpbyA9IDwmZ3BpbzMg UktfUEExIEdQSU9fQUNUSVZFX0hJR0g+Owo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7 Cj4gKwkJcGluY3RybC0wID0gPCZkaXNwbGF5X3B3cmVuPjsKPiArCX07Cj4gKwo+ICsJdmNjYTF2 OF9zMzogdmNjMXY4LXMzIHsKPiArCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7Cj4g KwkJcmVndWxhdG9yLW5hbWUgPSAidmNjYTF2OF9zMyI7Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNy b3ZvbHQgPSA8MTgwMDAwMD47Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAw MD47Cj4gKwkJdmluLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47Cj4gKwkJcmVndWxhdG9yLWFsd2F5 cy1vbjsKPiArCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCX07Cj4gK307Cj4gKwo+ICsmY3B1X2ww IHsKPiArCWNwdS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2wxIHsK PiArCWNwdS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2wyIHsKPiAr CWNwdS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2wzIHsKPiArCWNw dS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2IwIHsKPiArCWNwdS1z dXBwbHkgPSA8JnZkZF9jcHVfYj47Cj4gKwlvcGVyYXRpbmctcG9pbnRzLXYyID0gPCZjbHVzdGVy MV9vcHBfcHBwPjsKPiArfTsKPiArCj4gKyZjcHVfYjEgewo+ICsJY3B1LXN1cHBseSA9IDwmdmRk X2NwdV9iPjsKPiArCW9wZXJhdGluZy1wb2ludHMtdjIgPSA8JmNsdXN0ZXIxX29wcF9wcHA+Owo+ ICt9Owo+ICsKPiArJmVtbWNfcGh5IHsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4g KyZncHUgewo+ICsJbWFsaS1zdXBwbHkgPSA8JnZkZF9ncHU+Owo+ICsJc3RhdHVzID0gIm9rYXki Owo+ICt9Owo+ICsKPiArJmkyYzAgewo+ICsJLy8gUGVyICJTQ0wgY2xvY2sgZnJlcXVlbmN5Iiwg cGFnZSAzMCwgUks4MTggZGF0YXNoZWV0Lgo+ICsJY2xvY2stZnJlcXVlbmN5ID0gPDQwMDAwMD47 Cj4gKwlpMmMtc2NsLXJpc2luZy10aW1lLW5zID0gPDE2OD47Cj4gKwlpMmMtc2NsLWZhbGxpbmct dGltZS1ucyA9IDw0PjsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArCj4gKwkvLyBQZXIgIlBNSUMg Uks4MTgtMyIsIHBhZ2UgMTMuCj4gKwlyazgxODogcG1pY0AxYyB7Cj4gKwkJY29tcGF0aWJsZSA9 ICJyb2NrY2hpcCxyazgxOCI7Cj4gKwkJcmVnID0gPDB4MWM+Owo+ICsJCWludGVycnVwdC1wYXJl bnQgPSA8JmdwaW8xPjsKPiArCQlpbnRlcnJ1cHRzID0gPFJLX1BDNSBJUlFfVFlQRV9MRVZFTF9M T1c+Owo+ICsJCSNjbG9jay1jZWxscyA9IDwxPjsKPiArCQljbG9jay1vdXRwdXQtbmFtZXMgPSAi eGluMzJrIiwgInJrODA4LWNsa291dDIiOwo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7 Cj4gKwkJcGluY3RybC0wID0gPCZwbWljX2ludF9sPjsKPiArCQlyb2NrY2hpcCxzeXN0ZW0tcG93 ZXItY29udHJvbGxlcjsKPiArCQl3YWtldXAtc291cmNlOwo+ICsJCWV4dGNvbiA9IDwmZnVzYjA+ OwoKcms4MTggZG9lc24ndCB1c2UgZXh0Y29uIGludGVyZmFjZQoKPiArCQl2Y2MxLXN1cHBseSA9 IDwmdmNjX3N5c2luPjsKPiArCQl2Y2MyLXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCQl2Y2Mz LXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCQl2Y2M0LXN1cHBseSA9IDwmdmNjX3N5c2luPjsK PiArCQl2Y2M2LXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCQl2Y2M3LXN1cHBseSA9IDwmdmNj M3YzX3N5cz47Cj4gKwkJdmNjOC1zdXBwbHkgPSA8JnZjY19zeXNpbj47Cj4gKwkJdmNjOS1zdXBw bHkgPSA8JnZjYzN2M19zeXM+Owo+ICsKPiArCQlyZWd1bGF0b3JzIHsKPiArCQkJdmRkX2NwdV9s OiBEQ0RDX1JFRzEgewo+ICsJCQkJcmVndWxhdG9yLW5hbWUgPSAidmRkX2NwdV9sIjsKPiArCQkJ CXJlZ3VsYXRvci1hbHdheXMtb247Cj4gKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJl Z3VsYXRvci1taW4tbWljcm92b2x0ID0gPDc1MDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1p Y3Jvdm9sdCA9IDwxMzUwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1yYW1wLWRlbGF5ID0gPDYwMDE+ Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1z dXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZkZF9jZW50ZXI6IERDRENfUkVH MiB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2ZGRfY2VudGVyIjsKPiArCQkJCXJlZ3VsYXRv ci1hbHdheXMtb247Cj4gKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJlZ3VsYXRvci1t aW4tbWljcm92b2x0ID0gPDgwMDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9 IDwxMzUwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1yYW1wLWRlbGF5ID0gPDYwMDE+Owo+ICsJCQkJ cmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5kOwo+ ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCS8vIEREUgo+ICsJCQl2Y2NfZGRyOiBEQ0RDX1JF RzMgewo+ICsJCQkJcmVndWxhdG9yLW5hbWUgPSAidmNjX2RkciI7Cj4gKwkJCQlyZWd1bGF0b3It YWx3YXlzLW9uOwo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3Itc3Rh dGUtbWVtIHsKPiArCQkJCQkvLyBQb3dlciBSQU0gd2hpbGUgc3VzcGVuZGVkLgo+ICsJCQkJCXJl Z3VsYXRvci1vbi1pbi1zdXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjY18x djg6IHZjY193bDogRENEQ19SRUc0IHsKPiArCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY18xdjgi Owo+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ ICsJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTgwMDAwMD47Cj4gKwkJCQlyZWd1bGF0 b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0g ewo+ICsJCQkJCXJlZ3VsYXRvci1vbi1pbi1zdXNwZW5kOwo+ICsJCQkJCXJlZ3VsYXRvci1zdXNw ZW5kLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwo+ICsJCQkv LyBBdWRpbyBjb2RlYy4KPiArCQkJdmNjYTN2MF9jb2RlYzogTERPX1JFRzEgewo+ICsJCQkJcmVn dWxhdG9yLW5hbWUgPSAidmNjYTN2MF9jb2RlYyI7Cj4gKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9u Owo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9s dCA9IDwzMDAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMwMDAwMDA+ Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1z dXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCS8vIFRvdWNoIHNjcmVlbi4KPiAr CQkJdmNjM3YwX3RvdWNoOiBMRE9fUkVHMiB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2Mz djBfdG91Y2giOwo+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1i b290LW9uOwo+ICsJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MzAwMDAwMD47Cj4gKwkJ CQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMDAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1z dGF0ZS1tZW0gewo+ICsJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKPiArCQkJCX07Cj4g KwkJCX07Cj4gKwo+ICsJCQl2Y2NhMXY4X2NvZGVjOiBMRE9fUkVHMyB7Cj4gKwkJCQlyZWd1bGF0 b3ItbmFtZSA9ICJ2Y2NhMXY4X2NvZGVjIjsKPiArCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Cj4g KwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0g PDE4MDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAwMD47Cj4g KwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3Bl bmQ7Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJdmNjX3Bvd2VyX29uOiBMRE9fUkVHNCB7 Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2NfcG93ZXJfb24iOwo+ICsJCQkJcmVndWxhdG9y LWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCQkJcmVndWxhdG9yLW1p bi1taWNyb3ZvbHQgPSA8MzMwMDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9 IDwzMzAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0gewo+ICsJCQkJCXJlZ3VsYXRv ci1vbi1pbi1zdXNwZW5kOwo+ICsJCQkJCXJlZ3VsYXRvci1zdXNwZW5kLW1pY3Jvdm9sdCA9IDwz MzAwMDAwPjsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwo+ICsJCQl2Y2NfM3YwOiBMRE9fUkVHNSB7 Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2NfM3YwIjsKPiArCQkJCXJlZ3VsYXRvci1hbHdh eXMtb247Cj4gKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJlZ3VsYXRvci1taW4tbWlj cm92b2x0ID0gPDMwMDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzAw MDAwMD47Cj4gKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJCQlyZWd1bGF0b3Itb24t aW4tc3VzcGVuZDsKPiArCQkJCQlyZWd1bGF0b3Itc3VzcGVuZC1taWNyb3ZvbHQgPSA8MzAwMDAw MD47Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJdmNjXzF2NTogTERPX1JFRzYgewo+ICsJ CQkJcmVndWxhdG9yLW5hbWUgPSAidmNjXzF2NSI7Cj4gKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9u Owo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9s dCA9IDwxNTAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDE1MDAwMDA+ Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1 c3BlbmQ7Cj4gKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92b2x0ID0gPDE1MDAwMDA+Owo+ ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjYzF2OF9kdnA6IExET19SRUc3IHsKPiArCQkJ CXJlZ3VsYXRvci1uYW1lID0gInZjYzF2OF9kdnAiOwo+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1v bjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCQkJcmVndWxhdG9yLW1pbi1taWNyb3Zv bHQgPSA8MTgwMDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAw PjsKPiArCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0gewo+ICsJCQkJCXJlZ3VsYXRvci1vZmYtaW4t c3VzcGVuZDsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwo+ICsJCQl2Y2MzdjNfczM6IExET19SRUc4 IHsKPiArCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19zMyI7Cj4gKwkJCQlyZWd1bGF0b3It YWx3YXlzLW9uOwo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWlu LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0g PDMzMDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9y LW9mZi1pbi1zdXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjY2lvX3NkOiBM RE9fUkVHOSB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2Npb19zZCI7Cj4gKwkJCQlyZWd1 bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWlj cm92b2x0ID0gPDMzMDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJ cmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7Cj4gKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92 b2x0ID0gPDMzMDAwMDA+Owo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjYzN2M19zMDog U1dJVENIX1JFRyB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2MzdjNfczAiOwo+ICsJCQkJ cmVndWxhdG9yLWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCQkJcmVn dWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7Cj4gKwkJ CQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJYm9vc3Rfb3RnOiBEQ0RDX0JPT1NUIHsKPiArCQkJCXJl Z3VsYXRvci1uYW1lID0gImJvb3N0X290ZyI7Cj4gKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9 IDw1MDAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDUwMDAwMDA+Owo+ ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3Bl bmQ7Cj4gKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92b2x0ID0gPDUwMDAwMDA+Owo+ICsJ CQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCW90Z19zd2l0Y2g6IE9UR19TV0lUQ0ggewo+ICsJCQkJ cmVndWxhdG9yLW5hbWUgPSAib3RnX3N3aXRjaCI7Cj4gKwkJCX07Cj4gKwkJfTsKPiArCX07Cj4g Kwo+ICsJdmRkX2NwdV9iOiByZWd1bGF0b3JANDAgewo+ICsJCWNvbXBhdGlibGUgPSAic2lsZXJn eSxzeXI4MjciOwo+ICsJCXJlZyA9IDwweDQwPjsKPiArCQlmY3Msc3VzcGVuZC12b2x0YWdlLXNl bGVjdG9yID0gPDE+Owo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7Cj4gKwkJcGluY3Ry bC0wID0gPCZ2c2VsMV9waW4+Owo+ICsJCXJlZ3VsYXRvci1uYW1lID0gInZkZF9jcHVfYiI7Cj4g KwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NzEyNTAwPjsKPiArCQlyZWd1bGF0b3ItbWF4 LW1pY3Jvdm9sdCA9IDwxNTAwMDAwPjsKPiArCQlyZWd1bGF0b3ItcmFtcC1kZWxheSA9IDwxMDAw PjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsK PiArCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5k Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCXZkZF9ncHU6IHJlZ3VsYXRvckA0MSB7Cj4gKwkJY29t cGF0aWJsZSA9ICJzaWxlcmd5LHN5cjgyOCI7Cj4gKwkJcmVnID0gPDB4NDE+Owo+ICsJCWZjcyxz dXNwZW5kLXZvbHRhZ2Utc2VsZWN0b3IgPSA8MT47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZh dWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JnZzZWwyX3Bpbj47Cj4gKwkJcmVndWxhdG9yLW5hbWUg PSAidmRkX2dwdSI7Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NzEyNTAwPjsKPiAr CQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxNTAwMDAwPjsKPiArCQlyZWd1bGF0b3ItcmFt cC1kZWxheSA9IDwxMDAwPjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRv ci1ib290LW9uOwo+ICsKPiArCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJcmVndWxhdG9y LW9mZi1pbi1zdXNwZW5kOwo+ICsJCX07Cj4gKwl9Owo+ICt9Owo+ICsKPiArJmkyYzEgewo+ICsJ aTJjLXNjbC1yaXNpbmctdGltZS1ucyA9IDwzMDA+Owo+ICsJaTJjLXNjbC1mYWxsaW5nLXRpbWUt bnMgPSA8MTU+Owo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICt9Owo+ICsKPiArJmkyYzMgewo+ICsJ aTJjLXNjbC1yaXNpbmctdGltZS1ucyA9IDw0NTA+Owo+ICsJaTJjLXNjbC1mYWxsaW5nLXRpbWUt bnMgPSA8MTU+Owo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICsKPiArCS8vIFBlciAiQW1iaWVudCBM aWdodCIsIHBhZ2UgMTcuCj4gKwlsaWdodC1zZW5zb3JANDggewo+ICsJCWNvbXBhdGlibGUgPSAi c2Vuc29ydGVrLHN0azMzMTEiOwo+ICsJCXJlZyA9IDwweDQ4PjsKPiArCQlpbnRlcnJ1cHQtcGFy ZW50ID0gPCZncGlvND47Cj4gKwkJaW50ZXJydXB0cyA9IDxSS19QRDMgSVJRX1RZUEVfRURHRV9G QUxMSU5HPjsKPiArCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+ICsJCXBpbmN0cmwtMCA9 IDwmc3RrMzMxMV9pbnQ+Owo+ICsJCXZkZC1zdXBwbHkgPSA8JnZjY18zdjA+Owo+ICsJCWxlZGEt c3VwcGx5ID0gPCZ2Y2NfM3YwPjsKPiArCX07Cj4gK307Cj4gKwo+ICsmaTJjNCB7Cj4gKwlpMmMt c2NsLXJpc2luZy10aW1lLW5zID0gPDYwMD47Cj4gKwlpMmMtc2NsLWZhbGxpbmctdGltZS1ucyA9 IDwyMD47Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gKwo+ICsJLy8gUGVyICJUWVBFLUMiLCBwYWdl IDIzLgo+ICsJZnVzYjA6IHR5cGVjLXBvcnRjQDIyIHsKPiArCQljb21wYXRpYmxlID0gImZjcyxm dXNiMzAyIjsKPiArCQlyZWcgPSA8MHgyMj47Cj4gKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ3Bp bzE+Owo+ICsJCWludGVycnVwdHMgPSA8UktfUEEyIElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gKwkJ cGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JmZ1c2IwX2ludD47 Cj4gKwkJdmJ1cy1zdXBwbHkgPSA8JnZjYzV2MF90eXBlYz47Cj4gKwo+ICsJCWNvbm5lY3RvciB7 Cj4gKwkJCWNvbXBhdGlibGUgPSAidXNiLWMtY29ubmVjdG9yIjsKPiArCQkJZGF0YS1yb2xlID0g ImR1YWwiOwo+ICsJCQlsYWJlbCA9ICJVU0ItQyI7Cj4gKwkJCW9wLXNpbmstbWljcm93YXR0ID0g PDEwMDAwMDA+Owo+ICsJCQlwb3dlci1yb2xlID0gImR1YWwiOwo+ICsJCQlzaW5rLXBkb3MgPQo+ ICsJCQkJPFBET19GSVhFRCg1MDAwLCAyNTAwLCBQRE9fRklYRURfVVNCX0NPTU0pPjsKPiArCQkJ c291cmNlLXBkb3MgPQo+ICsJCQkJPFBET19GSVhFRCg1MDAwLCAxNDAwLCBQRE9fRklYRURfVVNC X0NPTU0pPjsKPiArCQkJdHJ5LXBvd2VyLXJvbGUgPSAic2luayI7Cj4gKwo+ICsJCQlleHRjb24t Y2FibGVzID0gPDEgMiA1IDYgOSAxMCAxMiA0ND47Cj4gKwkJCXR5cGVjLWFsdG1vZGVzID0gPDB4 ZmYwMSAxIDB4MDAxYzBjMDAgMT47CgpeXl4gdGhlc2UgYXJlIG5vdCBtYWlubGluZSBiaW5kaW5n cwoKTWFpbmxpbmUgdXNlcyBtb2RlLXN3aXRjaCAvIG9yaWVudGF0aW9uLXN3aXRjaCAvIHVzYi1y b2xlLXN3aXRjaCBwcm9wZXJ0aWVzIGFuZAphbHRtb2RlcyBub2RlLiBTcGVjaWZpZWQgVkRPICgw eDAwMWMwYzAwKSBpcyBhbHNvIGluY29ycmVjdC4gQW5kIEkgZG9uJ3QgdGhpbmsKdGhlIHBob25l IGNhbiBwcm92aWRlIDEuNEEgYXQgNVYgKHRoYXQgd291bGQgYmUgN1cpCgpWQ0M1VjBfU1lTIGNh biBwcm92aWRlIGF0IG1vc3QgMkEgYW5kIGl0J3Mgc2hhcmVkIGJldHdlZW4gbW9kZW0sIHBvd2Vy IGFtcCBmb3IKdGhlIHNwZWFrZXIsIGFuZCB0eXBlLWMgVkNPTk4gd2hpY2ggYWxzbyBoYXMgc29t ZSBwb3dlciByZXF1aXJlbWVudHMgKDFXKS4KCgo+ICsJCQlwb3J0cyB7Cj4gKwkJCQkjYWRkcmVz cy1jZWxscyA9IDwxPjsKPiArCQkJCSNzaXplLWNlbGxzID0gPDA+Owo+ICsKPiArCQkJCXBvcnRA MCB7Cj4gKwkJCQkJcmVnID0gPDA+Owo+ICsKPiArCQkJCQl1c2JjX2hzOiBlbmRwb2ludCB7Cj4g KwkJCQkJCXJlbW90ZS1lbmRwb2ludCA9Cj4gKwkJCQkJCQk8JnUycGh5MF90eXBlY19ocz47Cj4g KwkJCQkJfTsKPiArCQkJCX07Cj4gKwo+ICsJCQkJcG9ydEAxIHsKPiArCQkJCQlyZWcgPSA8MT47 Cj4gKwo+ICsJCQkJCXVzYmNfc3M6IGVuZHBvaW50IHsKPiArCQkJCQkJcmVtb3RlLWVuZHBvaW50 ID0KPiArCQkJCQkJCTwmdGNwaHkwX3R5cGVjX3NzPjsKPiArCQkJCQl9Owo+ICsJCQkJfTsKPiAr Cj4gKwkJCQlwb3J0QDIgewo+ICsJCQkJCXJlZyA9IDwyPjsKPiArCj4gKwkJCQkJdXNiY19kcDog ZW5kcG9pbnQgewo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPQo+ICsJCQkJCQkJPCZ0Y3BoeTBf dHlwZWNfZHA+Owo+ICsJCQkJCX07Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsJCX07Cj4gKwl9Owo+ ICsKPiArCS8vIFBlciAiR3lybyIsIHBhZ2UgMTcuCj4gKwlhY2NlbGVyb21ldGVyQDY4IHsKPiAr CQljb21wYXRpYmxlID0gImludmVuc2Vuc2UsbXB1NjUwMCI7Cj4gKwkJcmVnID0gPDB4Njg+Owo+ ICsJCWludGVycnVwdC1wYXJlbnQgPSA8JmdwaW8xPjsKPiArCQlpbnRlcnJ1cHRzID0gPFJLX1BD NiBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsJCXZkZC1zdXBwbHkgPSA8JnZjY18xdjg+Owo+ICsJ CXZkZGlvLXN1cHBseSA9IDwmdmNjXzF2OD47Cj4gKwo+ICsJCW1vdW50LW1hdHJpeCA9Cj4gKwkJ CSIxIiwgIjAiLCAiMCIsCj4gKwkJCSIwIiwgIi0xIiwgIjAiLAo+ICsJCQkiMCIsICIwIiwgIjEi Owo+ICsJfTsKPiArfTsKPiArCj4gKyZpb19kb21haW5zIHsKPiArCXN0YXR1cyA9ICJva2F5IjsK PiArCj4gKwlidDY1Ni1zdXBwbHkgPSA8JnZjYzF2OF9kdnA+Owo+ICsJYXVkaW8tc3VwcGx5ID0g PCZ2Y2NhMXY4X2NvZGVjPjsKPiArCXNkbW1jLXN1cHBseSA9IDwmdmNjaW9fc2Q+Owo+ICsJZ3Bp bzE4MzAtc3VwcGx5ID0gPCZ2Y2NfM3YwPjsKPiArfTsKPiArCj4gKyZwbXVfaW9fZG9tYWlucyB7 Cj4gKwlwbXUxODMwLXN1cHBseSA9IDwmdmNjXzF2OD47Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4g K307Cj4gKwo+ICsmcGluY3RybCB7Cj4gKwlidCB7Cj4gKwkJYnRfZW5hYmxlX2g6IGJ0LWVuYWJs ZS1oIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwwIFJLX1BCMSBSS19GVU5DX0dQSU8gJnBjZmdf cHVsbF9ub25lPjsKPiArCQl9Owo+ICsKPiArCQlidF9ob3N0X3dha2VfbDogYnQtaG9zdC13YWtl LWwgewo+ICsJCQlyb2NrY2hpcCxwaW5zID0gPDAgUktfUEE0IFJLX0ZVTkNfR1BJTyAmcGNmZ19w dWxsX2Rvd24+Owo+ICsJCX07Cj4gKwo+ICsJCWJ0X3dha2VfbDogYnQtd2FrZS1sIHsKPiArCQkJ cm9ja2NoaXAscGlucyA9IDwyIFJLX1BEMiBSS19GVU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsK PiArCQl9Owo+ICsJfTsKPiArCj4gKwlidXR0b25zIHsKPiArCQlwd3JidG5fcGluOiBwd3JidG4t cGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwwIFJLX1BBNSBSS19GVU5DX0dQSU8gJnBjZmdf cHVsbF91cD47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJZnVzYjMwMnggewo+ICsJCWZ1c2IwX2lu dDogZnVzYjAtaW50IHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwxIFJLX1BBMiBSS19GVU5DX0dQ SU8gJnBjZmdfcHVsbF91cD47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJbGVkcyB7Cj4gKwkJcmVk X2xlZF9waW46IHJlZC1sZWQtcGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDw0IFJLX1BEMiBS S19GVU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsKPiArCQl9Owo+ICsKPiArCQlncmVlbl9sZWRf cGluOiBncmVlbi1sZWQtcGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDw0IFJLX1BENSBSS19G VU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsKPiArCQl9Owo+ICsKPiArCQlibHVlX2xlZF9waW46 IGJsdWUtbGVkLXBpbiB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8NCBSS19QRDYgUktfRlVOQ19H UElPICZwY2ZnX3B1bGxfbm9uZT47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJcG1pYyB7Cj4gKwkJ cG1pY19pbnRfbDogcG1pYy1pbnQtbCB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8MSBSS19QQzUg UktfRlVOQ19HUElPICZwY2ZnX3B1bGxfdXA+Owo+ICsJCX07Cj4gKwo+ICsJCXZzZWwxX3Bpbjog dnNlbDEtcGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwxIFJLX1BDMSBSS19GVU5DX0dQSU8g JnBjZmdfcHVsbF9kb3duPjsKPiArCQl9Owo+ICsKPiArCQl2c2VsMl9waW46IHZzZWwyLXBpbiB7 Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8MSBSS19QQjYgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxf ZG93bj47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJc2RjYXJkIHsKPiArCQlzZG1tYzBfcHdyX2g6 IHNkbW1jMC1wd3ItaCB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8MCBSS19QQTEgUktfRlVOQ19H UElPICZwY2ZnX3B1bGxfbm9uZT47Cj4gKwkJfTsKPiArCj4gKwl9Owo+ICsKPiArCXNkaW8tcHdy c2VxIHsKPiArCQl3aWZpX2VuYWJsZV9oOiB3aWZpLWVuYWJsZS1oIHsKPiArCQkJcm9ja2NoaXAs cGlucyA9IDwwIFJLX1BCMiBSS19GVU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsKPiArCQl9Owo+ ICsJfTsKPiArCj4gKwl1c2ItdHlwZWMgewo+ICsJCXZjYzV2MF90eXBlY19lbjogdmNjNXYwX3R5 cGVjX2VuIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwwIFJLX1BBNiBSS19GVU5DX0dQSU8gJnBj ZmdfcHVsbF91cD47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJZHNpIHsKPiArCQlkaXNwbGF5X3Jz dF9sOiBkaXNwbGF5LXJzdC1sIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDw0IFJLX1BEMSBSS19G VU5DX0dQSU8gJnBjZmdfcHVsbF9kb3duPjsKPiArCQl9Owo+ICsKPiArCQlkaXNwbGF5X3B3cmVu OiBkaXNwbGF5LXB3cmVuIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwzIFJLX1BBMSBSS19GVU5D X0dQSU8gJnBjZmdfcHVsbF9kb3duPjsKPiArCQl9Owo+ICsKPiArCQlkaXNwbGF5X3B3cmVuMTog ZGlzcGxheS1wd3JlbjEgewo+ICsJCQlyb2NrY2hpcCxwaW5zID0gPDMgUktfUEE1IFJLX0ZVTkNf R1BJTyAmcGNmZ19wdWxsX2Rvd24+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCXN0azMzMTEgewo+ ICsJCXN0azMzMTFfaW50OiBzdGszMzExLWludCB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8NCBS S19QRDMgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfdXA+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiAr CXNvdW5kIHsKPiArCQl2Y2MxdjhfY29kZWNfZW46IHZjYzF2OC1jb2RlYy1lbiB7Cj4gKwkJCXJv Y2tjaGlwLHBpbnMgPSA8MyBSS19QQTQgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfZG93bj47Cj4g KwkJfTsKPiArCX07Cj4gK307Cj4gKwo+ICsmcHdtMCB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4g K307Cj4gKwo+ICsmcHdtMSB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmcHdt MiB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsvLyBQZXIgIlNBUkFEQyIsIHBh Z2UgOC4KPiArJnNhcmFkYyB7Cj4gKwl2cmVmLXN1cHBseSA9IDwmdmNjYTF2OF9zMz47Cj4gKwlz dGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmc2RpbzAgewo+ICsJYnVzLXdpZHRoID0gPDQ+ Owo+ICsJY2FwLXNkLWhpZ2hzcGVlZDsKPiArCWNhcC1zZGlvLWlycTsKPiArCWRpc2FibGUtd3A7 Cj4gKwlrZWVwLXBvd2VyLWluLXN1c3BlbmQ7Cj4gKwltbWMtcHdyc2VxID0gPCZzZGlvX3B3cnNl cT47Cj4gKwlub24tcmVtb3ZhYmxlOwo+ICsJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiAr CXBpbmN0cmwtMCA9IDwmc2RpbzBfYnVzNCAmc2RpbzBfY21kICZzZGlvMF9jbGs+Owo+ICsJc2Qt dWhzLXNkcjEwNDsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4gKy8vIFBlciAiU0RN TUMgQ29udHJvbGVyIiwgcGFnZSA2Lgo+ICsmc2RtbWMgewo+ICsJYnVzLXdpZHRoID0gPDQ+Owo+ ICsJY2FwLXNkLWhpZ2hzcGVlZDsKPiArCWNkLWdwaW9zID0gPCZncGlvMCBSS19QQTcgR1BJT19B Q1RJVkVfTE9XPjsKPiArCWRpc2FibGUtd3A7Cj4gKwltYXgtZnJlcXVlbmN5ID0gPDE1MDAwMDAw MD47Cj4gKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+ICsJcGluY3RybC0wID0gPCZzZG1t Y19jbGsgJnNkbW1jX2NtZCAmc2RtbWNfY2QgJnNkbW1jX2J1czQ+Owo+ICsJdm1tYy1zdXBwbHkg PSA8JnZjYzN2M19zeXM+Owo+ICsJdnFtbWMtc3VwcGx5ID0gPCZ2Y2Npb19zZD47Cj4gKwlzdGF0 dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmc2RoY2kgewo+ICsJYnVzLXdpZHRoID0gPDg+Owo+ ICsJbW1jLWhzMjAwLTFfOHY7Cj4gKwlub24tcmVtb3ZhYmxlOwo+ICsJc3RhdHVzID0gIm9rYXki Owo+ICt9Owo+ICsKPiArJnRjcGh5MCB7Cj4gKwlleHRjb24gPSA8JmZ1c2IwPjsKPiArCXN0YXR1 cyA9ICJva2F5IjsKPiArfTsKCl5eXiB0aGlzIGRvZXMgbm90IHdvcmsuIGZ1c2IwIGRvZXNuJ3Qg cHJvdmlkZSBhbnkgZXh0Y29uIGludGVyZmFjZQppdCBvbmx5IGNvbnN1bWVzIG9uZSwganVzdCBs aWtlIHRjcGh5MAoKPiArJnRjcGh5MF9kcCB7Cj4gKwlwb3J0IHsKPiArCQl0Y3BoeTBfdHlwZWNf ZHA6IGVuZHBvaW50IHsKPiArCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZ1c2JjX2RwPjsKPiArCQl9 Owo+ICsJfTsKPiArfTsKPiArCj4gKyZ0Y3BoeTBfdXNiMyB7Cj4gKwlwb3J0IHsKPiArCQl0Y3Bo eTBfdHlwZWNfc3M6IGVuZHBvaW50IHsKPiArCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZ1c2JjX3Nz PjsKPiArCQl9Owo+ICsJfTsKPiArfTsKPiArCj4gKy8vIEVuYWJsZSB0aGVybWFsIHNlbnNvcnMu Cj4gKyZ0c2FkYyB7Cj4gKwkvKiB0c2h1dCBtb2RlIDA6Q1JVIDE6R1BJTyAqLwo+ICsJcm9ja2No aXAsaHctdHNodXQtbW9kZSA9IDwxPjsKPiArCS8qIHRzaHV0IHBvbGFyaXR5IDA6TE9XIDE6SElH SCAqLwo+ICsJcm9ja2NoaXAsaHctdHNodXQtcG9sYXJpdHkgPSA8MT47Cj4gKwlzdGF0dXMgPSAi b2theSI7Cj4gK307Cj4gKwo+ICsmdTJwaHkwIHsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArCj4g Kwl1MnBoeTBfb3RnOiBvdGctcG9ydCB7Cj4gKwkJc3RhdHVzID0gIm9rYXkiOwo+ICsJfTsKPiAr Cj4gKwl1MnBoeTBfaG9zdDogaG9zdC1wb3J0IHsKPiArCQlzdGF0dXMgPSAib2theSI7Cj4gKwkJ cGh5LXN1cHBseSA9IDwmdmNjNXYwX3N5cz47Cj4gKwl9Owo+ICsKPiArCXBvcnQgewo+ICsJCXUy cGh5MF90eXBlY19oczogZW5kcG9pbnQgewo+ICsJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnVzYmNf aHM+Owo+ICsJCX07Cj4gKwl9Owo+ICt9Owo+ICsKPiArJnUycGh5MSB7Cj4gKwlzdGF0dXMgPSAi b2theSI7Cj4gKwo+ICsJdTJwaHkxX290Zzogb3RnLXBvcnQgewo+ICsJCXN0YXR1cyA9ICJva2F5 IjsKPiArCX07Cj4gKwo+ICsJdTJwaHkxX2hvc3Q6IGhvc3QtcG9ydCB7Cj4gKwkJc3RhdHVzID0g Im9rYXkiOwo+ICsJCXBoeS1zdXBwbHkgPSA8JnZjYzV2MF9zeXM+Owo+ICsJfTsKPiArfTsKPiAr Cj4gKyZ1YXJ0MCB7Cj4gKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+ICsJcGluY3RybC0w ID0gPCZ1YXJ0MF94ZmVyICZ1YXJ0MF9jdHMgJnVhcnQwX3J0cz47Cj4gKwl1YXJ0LWhhcy1ydHNj dHM7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gKwo+ICsJLy8gUGVyICJXSUZJL0JUIE1PRFVMRSIs IHBhZ2UgMTkuCj4gKwlibHVldG9vdGggewo+ICsJCWNvbXBhdGlibGUgPSAiYnJjbSxiY200MzQ1 YzUiOwo+ICsJCWNsb2NrcyA9IDwmcms4MTggMT47Cj4gKwkJY2xvY2stbmFtZXMgPSAibHBvIjsK PiArCQlkZXZpY2Utd2FrZXVwLWdwaW9zID0gPCZncGlvMiBSS19QRDIgR1BJT19BQ1RJVkVfSElH SD47Cj4gKwkJaG9zdC13YWtldXAtZ3Bpb3MgPSA8JmdwaW8wIFJLX1BBNCBHUElPX0FDVElWRV9I SUdIPjsKPiArCQltYXgtc3BlZWQgPSA8MTUwMDAwMD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJk ZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JmJ0X2hvc3Rfd2FrZV9sICZidF93YWtlX2wgJmJ0 X2VuYWJsZV9oPjsKPiArCQlzaHV0ZG93bi1ncGlvcyA9IDwmZ3BpbzAgUktfUEIxIEdQSU9fQUNU SVZFX0hJR0g+Owo+ICsJCXZiYXQtc3VwcGx5ID0gPCZ3aWZpX2JhdD47Cj4gKwkJdmRkaW8tc3Vw cGx5ID0gPCZ2Y2Nfd2w+Owo+ICsJfTsKPiArfTsKPiArCj4gKyZ1YXJ0MiB7Cj4gKwlzdGF0dXMg PSAib2theSI7Cj4gK307Cj4gKwo+ICsmdXNiX2hvc3QwX2VoY2kgewo+ICsJc3RhdHVzID0gIm9r YXkiOwo+ICt9Owo+ICsKPiArJnVzYl9ob3N0MF9vaGNpIHsKPiArCXN0YXR1cyA9ICJva2F5IjsK PiArfTsKPiArCj4gKyZ1c2JfaG9zdDFfZWhjaSB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307 Cj4gKwo+ICsmdXNiX2hvc3QxX29oY2kgewo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICt9Owo+ICsK PiArJnVzYmRyZDNfMCB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmdXNiZHJk X2R3YzNfMCB7Cj4gKwlkcl9tb2RlID0gInBlcmlwaGVyYWwiOwo+ICsJc3RhdHVzID0gIm9rYXki Owo+ICt9Owo+ICsKPiArJnZvcGIgewo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICt9Owo+ICsKPiAr JnZvcGJfbW11IHsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4gKyZ2b3BsIHsKPiAr CXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4gKyZ2b3BsX21tdSB7Cj4gKwlzdGF0dXMgPSAi b2theSI7Cj4gK307Cj4gLS0gCj4gMi4zNi4wCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgt cm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg== 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 02C02C433F5 for ; Sun, 29 May 2022 11:34:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iaYq6HwyRG8E490e3lEyX/g00iqSps0cr77f+AOqPOQ=; b=lR1sOIBvpPtr7Q aayqbvyB96Sv3kegNsEWGniP9wqRX1f4VZnjzQDU1sI5AUPIXicXgMW3P1rQXflj65hw7MEq798Ms ZndX6QR2DxBXrec8bCs4tA/rf3IArYzAZTXrOK/KzRpTsoj4gSGGbj3IDBOthYORNe0r+l969PGYu K0t6gN30qoQbhCkeMgy5iY9aOBSkbsJcDhRBMDCcAUWHuIqTdexLG/Ai73Vk23rJEGWTTluqIMNfk Y0F/mTvFD6zDiuxwtF/GynEAbUF+wD5a6AOWR64qA20v4To6Pccqu3XuO9vhFy0OH9nWYwpWxLJLu x0iRbD06vL+Y45FtZZiw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvHAg-003nDQ-RC; Sun, 29 May 2022 11:33:22 +0000 Received: from vps.xff.cz ([195.181.215.36]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvHAa-003nBF-Ve; Sun, 29 May 2022 11:33:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1653823989; bh=Cgq1AFt4FcomK7VfDd+niFdKcnwlvlnz6kb7RolLMKc=; h=Date:From:To:Cc:Subject:X-My-GPG-KeyId:References:From; b=WvGPVP0cflfH6iivIiKB9b50A4Zh3VfAf88ELy/WjE1lSH1EZxBVaRnVJZnSjUkVA Z9Vs/fqo4Sx5kzOR3ZV+oEeqtJkxF4sdzMxguqC9uj5UVq1jjYUWtWCrXfo9l4BWVD SGkJEO4Z0ML7WxvInXQFDvAGYeAMtSi+muvfONrw= Date: Sun, 29 May 2022 13:33:09 +0200 From: =?utf-8?Q?Ond=C5=99ej?= Jirman To: Tom Fitzhenry Cc: Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Samuel Holland , Martijn Braam Subject: Re: [PATCH 2/2] arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro Message-ID: <20220529113309.imsy7j3cnl4ihc52@core> Mail-Followup-To: =?utf-8?Q?Ond=C5=99ej?= Jirman , Tom Fitzhenry , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Samuel Holland , Martijn Braam X-My-GPG-KeyId: EBFBDDE11FB918D44D1F56C1F9F0A873BE9777ED References: <20220529031705.278631-1-tom@tom-fitzhenry.me.uk> <20220529031705.278631-3-tom@tom-fitzhenry.me.uk> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220529031705.278631-3-tom@tom-fitzhenry.me.uk> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220529_043318_046523_29AC2317 X-CRM114-Status: GOOD ( 23.78 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgVG9tLAoKT24gU3VuLCBNYXkgMjksIDIwMjIgYXQgMDE6MTc6MDVQTSArMTAwMCwgVG9tIEZp dHpoZW5yeSB3cm90ZToKPiBUaGlzIGlzIGEgYmFzaWMgRFQgdGhhdCBpbmNsdWRlcyBvbmx5IGZl YXR1cmVzIHRoYXQgYXJlIGFscmVhZHkKPiBzdXBwb3J0ZWQgYnkgbWFpbmxpbmUgZHJpdmVycy4K PiAKPiBUZXN0ZWQgdG8gd29yazogYm9vdGluZyBmcm9tIGVNTUMsIFdpRmksIGNoYXJnaW5nLgo+ IAo+IEZ1dHVyZSBwYXRjaGVzIHdpbGwgZmxlc2ggb3V0IHRoZSBEVC4gU29tZSBjb21wb25lbnRz LCBlLmcuIHRoZSBwYW5lbCwKPiBhcmUgYXdhaXRpbmcgZHJpdmVyIG1haW5saW5pbmcuCj4gCj4g VGhpcyBpcyBkZXJpdmVkIGZyb20gYSBjb21iaW5hdGlvbiBvZiBodHRwczovL2dpdGxhYi5jb20v cGluZTY0LW9yZy9saW51eAo+IGFuZCBodHRwczovL21lZ291cy5jb20vZ2l0L2xpbnV4LgoKdGhp cyBwYXRjaCBoYXMgYSBidW5jaCBvZiBpc3N1ZXMgdGhhdCB3ZXJlIGFscmVhZHkgZml4ZWQgZHVy aW5nIGRpc2N1c3Npb25zCndpdGggTWFydGlqbiBhcyBwYXJ0IG9mIGhpcyBlZmZvcnQgdG8gcHJl cGFyZSBhbiBpbml0aWFsIGRldmljZSB0cmVlIGZvcgpQaW5lcGhvbmVQcm8uIChhbHNvIG5vdGVk IGJlbG93IGZvciB5b3VyIHJlZmVyZW5jZSkKCkkgc3VnZ2VzdCB0byB3YWl0IGZvciB0aGUgb3Jp Z2luYWwgYXV0aG9yJ3Mgc3VibWlzc2lvbi4KCmtpbmQgcmVnYXJkcywKCW8uCgo+IGh0dHBzOi8v d2lraS5waW5lNjQub3JnL3dpa2kvUGluZVBob25lX1Bybwo+IAo+IENvLWRldmVsb3BlZC1ieTog T25kcmVqIEppcm1hbiA8bWVnb3VzQG1lZ291cy5jb20+Cj4gQ28tZGV2ZWxvcGVkLWJ5OiBNYXJ0 aWpuIEJyYWFtIDxtYXJ0aWpuQGJyaXhpdC5ubD4KPiBTaWduZWQtb2ZmLWJ5OiBUb20gRml0emhl bnJ5IDx0b21AdG9tLWZpdHpoZW5yeS5tZS51az4KPiAtLS0KPiAgYXJjaC9hcm02NC9ib290L2R0 cy9yb2NrY2hpcC9NYWtlZmlsZSAgICAgICAgIHwgICAxICsKPiAgLi4uL2R0cy9yb2NrY2hpcC9y azMzOTktcGluZXBob25lLXByby5kdHMgICAgIHwgOTM5ICsrKysrKysrKysrKysrKysrKwo+ICAy IGZpbGVzIGNoYW5nZWQsIDk0MCBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBh cmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzM5OS1waW5lcGhvbmUtcHJvLmR0cwo+IAo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL01ha2VmaWxlIGIvYXJj aC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9NYWtlZmlsZQo+IGluZGV4IDRhZTlmMzU0MzRiOC4u YzAwZTc5MjJkOTc0IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAv TWFrZWZpbGUKPiArKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL01ha2VmaWxlCj4g QEAgLTQxLDYgKzQxLDcgQEAgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1u YW5vcGktbmVvNC5kdGIKPiAgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1u YW5vcGktcjRzLmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LW9y YW5nZXBpLmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LXBpbmVi b29rLXByby5kdGIKPiArZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1waW5l cGhvbmUtcHJvLmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LXB1 bWEtaGFpa291LmR0Ygo+ICBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszMzk5LXJv Yy1wYy5kdGIKPiAgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzM5OS1yb2MtcGMt bWV6emFuaW5lLmR0Ygo+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlw L3JrMzM5OS1waW5lcGhvbmUtcHJvLmR0cyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAv cmszMzk5LXBpbmVwaG9uZS1wcm8uZHRzCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwMDAwMDAuLmIxYTQ4NmRiMWRmZQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9hcmNoL2Fy bTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzM5OS1waW5lcGhvbmUtcHJvLmR0cwo+IEBAIC0wLDAg KzEsOTM5IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlU KQo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjAgTWFydGlqbiBCcmFhbSA8bWFydGlqbkBi cml4aXQubmw+Cj4gKyAqIENvcHlyaWdodCAoYykgMjAyMSBLYW1pbCBUcnpjacWEc2tpIDxheXVm YW5AYXl1ZmFuLmV1Pgo+ICsgKi8KPiArCj4gKy8vIFBpbmVQaG9uZSBQcm8gZGF0YXNoZWV0OiBo dHRwczovL2ZpbGVzLnBpbmU2NC5vcmcvZG9jL1BpbmVQaG9uZVByby9QaW5lcGhvbmVQcm8tU2No ZW1hdGljLVYxLjAtMjAyMTExMjcucGRmCj4gKwo+ICsvZHRzLXYxLzsKPiArI2luY2x1ZGUgPGR0 LWJpbmRpbmdzL2lucHV0L2dwaW8ta2V5cy5oPgo+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW5w dXQvbGludXgtZXZlbnQtY29kZXMuaD4KPiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3VzYi9wZC5o Pgo+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvbGVkcy9jb21tb24uaD4KPiArI2luY2x1ZGUgInJr MzM5OS5kdHNpIgo+ICsjaW5jbHVkZSAicmszMzk5LW9wcC5kdHNpIgo+ICsKPiArLyB7Cj4gKwlt b2RlbCA9ICJQaW5lNjQgUGluZVBob25lUHJvIjsKPiArCWNvbXBhdGlibGUgPSAicGluZTY0LHBp bmVwaG9uZS1wcm8iLCAicm9ja2NoaXAscmszMzk5IjsKPiArCj4gKwljaG9zZW4gewo+ICsJCWJv b3RhcmdzID0gImVhcmx5Y29uPXVhcnQ4MjUwLG1taW8zMiwweGZmMWEwMDAwIjsKPiArCQlzdGRv dXQtcGF0aCA9ICJzZXJpYWwyOjExNTIwMG44IjsKPiArCX07Cj4gKwo+ICsJLy8gUGVyICJSSyAz Mzk5IFNBUkFEQyIsIHBhZ2UgOC4KPiArCWFkYy1rZXlzIHsKPiArCQljb21wYXRpYmxlID0gImFk Yy1rZXlzIjsKPiArCQlpby1jaGFubmVscyA9IDwmc2FyYWRjIDE+Owo+ICsJCWlvLWNoYW5uZWwt bmFtZXMgPSAiYnV0dG9ucyI7Cj4gKwkJa2V5dXAtdGhyZXNob2xkLW1pY3Jvdm9sdCA9IDwxNjAw MDAwPjsKPiArCQlwb2xsLWludGVydmFsID0gPDEwMD47Cj4gKwo+ICsJCWJ1dHRvbi11cCB7Cj4g KwkJCWxhYmVsID0gIlZvbHVtZSBVcCI7Cj4gKwkJCWxpbnV4LGNvZGUgPSA8S0VZX1ZPTFVNRVVQ PjsKPiArCQkJcHJlc3MtdGhyZXNob2xkLW1pY3Jvdm9sdCA9IDwxMDAwMDA+Owo+ICsJCX07Cj4g Kwo+ICsJCWJ1dHRvbi1kb3duIHsKPiArCQkJbGFiZWwgPSAiVm9sdW1lIERvd24iOwo+ICsJCQls aW51eCxjb2RlID0gPEtFWV9WT0xVTUVET1dOPjsKPiArCQkJcHJlc3MtdGhyZXNob2xkLW1pY3Jv dm9sdCA9IDwzMDAwMDA+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCWNsdXN0ZXIxX29wcF9wcHA6 IG9wcC10YWJsZTFiIHsKPiArCQljb21wYXRpYmxlID0gIm9wZXJhdGluZy1wb2ludHMtdjIiOwo+ ICsJCW9wcC1zaGFyZWQ7Cj4gKwo+ICsJCW9wcDAwIHsKPiArCQkJb3BwLWh6ID0gL2JpdHMvIDY0 IDw0MDgwMDAwMDA+Owo+ICsJCQlvcHAtbWljcm92b2x0ID0gPDgwMDAwMD47Cj4gKwkJCWNsb2Nr LWxhdGVuY3ktbnMgPSA8NDAwMDA+Owo+ICsJCX07Cj4gKwkJb3BwMDEgewo+ICsJCQlvcHAtaHog PSAvYml0cy8gNjQgPDYwMDAwMDAwMD47Cj4gKwkJCW9wcC1taWNyb3ZvbHQgPSA8ODAwMDAwPjsK PiArCQl9Owo+ICsJCW9wcDAyIHsKPiArCQkJb3BwLWh6ID0gL2JpdHMvIDY0IDw4MTYwMDAwMDA+ Owo+ICsJCQlvcHAtbWljcm92b2x0ID0gPDgyNTAwMD47Cj4gKwkJfTsKPiArCQlvcHAwMyB7Cj4g KwkJCW9wcC1oeiA9IC9iaXRzLyA2NCA8MTAwODAwMDAwMD47Cj4gKwkJCW9wcC1taWNyb3ZvbHQg PSA8ODc1MDAwPjsKPiArCQl9Owo+ICsJCW9wcDA0IHsKPiArCQkJb3BwLWh6ID0gL2JpdHMvIDY0 IDwxMjAwMDAwMDAwPjsKPiArCQkJb3BwLW1pY3Jvdm9sdCA9IDw5NTAwMDA+Owo+ICsJCX07Cj4g KwkJb3BwMDUgewo+ICsJCQlvcHAtaHogPSAvYml0cy8gNjQgPDE0MTYwMDAwMDA+Owo+ICsJCQlv cHAtbWljcm92b2x0ID0gPDEwMjUwMDA+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCS8vIFBlciAi QkFDS0xJR0hUIiwgcGFnZSAxNi4KPiArCWJhY2tsaWdodDogYmFja2xpZ2h0IHsKPiArCQljb21w YXRpYmxlID0gInB3bS1iYWNrbGlnaHQiOwo+ICsJCXB3bXMgPSA8JnB3bTAgMCAxMDAwMDAwIDA+ Owo+ICsJCXB3bS1kZWxheS11cyA9IDwxMDAwMD47Cj4gKwl9Owo+ICsKPiArCS8vIFBlciAiUksz Mzk5IEdQSU8iLCBwYWdlIDExLgo+ICsJbGVkcyB7Cj4gKwkJY29tcGF0aWJsZSA9ICJncGlvLWxl ZHMiOwo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7Cj4gKwkJcGluY3RybC0wID0gPCZy ZWRfbGVkX3BpbiAmZ3JlZW5fbGVkX3BpbiAmYmx1ZV9sZWRfcGluPjsKPiArCj4gKwkJbGVkLXN0 YW5kYnkgewo+ICsJCQljb2xvciA9IDxMRURfQ09MT1JfSURfUkVEPjsKPiArCQkJZGVmYXVsdC1z dGF0ZSA9ICJvZmYiOwo+ICsJCQlmdW5jdGlvbiA9IExFRF9GVU5DVElPTl9TVEFOREJZOwo+ICsJ CQlncGlvcyA9IDwmZ3BpbzQgUktfUEQyIEdQSU9fQUNUSVZFX0hJR0g+Owo+ICsJCQlsYWJlbCA9 ICJyZWQ6c3RhbmRieSI7Cj4gKwkJCXBhbmljLWluZGljYXRvcjsKPiArCQkJcmV0YWluLXN0YXRl LXN1c3BlbmRlZDsKPiArCQl9Owo+ICsKPiArCQlsZWQtcHdyIHsKPiArCQkJY29sb3IgPSA8TEVE X0NPTE9SX0lEX0dSRUVOPjsKPiArCQkJZGVmYXVsdC1zdGF0ZSA9ICJvbiI7Cj4gKwkJCWZ1bmN0 aW9uID0gTEVEX0ZVTkNUSU9OX1BPV0VSOwo+ICsJCQlncGlvcyA9IDwmZ3BpbzQgUktfUEQ1IEdQ SU9fQUNUSVZFX0hJR0g+Owo+ICsJCQlsYWJlbCA9ICJncmVlbjpkaXNrLWFjdGl2aXR5IjsKPiAr CQl9Owo+ICsKPiArCQlibHVlLWNoYXJnaW5nIHsKPiArCQkJY29sb3IgPSA8TEVEX0NPTE9SX0lE X0JMVUU+Owo+ICsJCQlkZWZhdWx0LXN0YXRlID0gIm9mZiI7Cj4gKwkJCWZ1bmN0aW9uID0gTEVE X0ZVTkNUSU9OX0NIQVJHSU5HOwo+ICsJCQlncGlvcyA9IDwmZ3BpbzQgUktfUEQ2IEdQSU9fQUNU SVZFX0hJR0g+Owo+ICsJCQlsYWJlbCA9ICJibHVlOmNoYXJnaW5nIjsKPiArCQl9Owo+ICsJfTsK Cl5eIHRoZXNlIGFyZSBnZW5lcmFsIGluZGljYXRvciBMRURzLCB0aGV5IGRvbid0IGhhdmUgYSBm dW5jdGlvbiBtYXJrZWQgb24gdGhlCmNoYXNpcyBvZiB0aGUgcGhvbmUuCgo+ICsJZ3Bpby1rZXkt cG93ZXIgewo+ICsJCWNvbXBhdGlibGUgPSAiZ3Bpby1rZXlzIjsKPiArCQlwaW5jdHJsLW5hbWVz ID0gImRlZmF1bHQiOwo+ICsJCXBpbmN0cmwtMCA9IDwmcHdyYnRuX3Bpbj47Cj4gKwo+ICsJCXBv d2VyIHsKPiArCQkJZGVib3VuY2UtaW50ZXJ2YWwgPSA8MjA+Owo+ICsJCQkvLyBQZXIgIlBNVSBD b250cm9sZXIiLCBwYWdlIDQuCj4gKwkJCWdwaW9zID0gPCZncGlvMCBSS19QQTUgR1BJT19BQ1RJ VkVfTE9XPjsKPiArCQkJbGFiZWwgPSAiUG93ZXIiOwo+ICsJCQlsaW51eCxjb2RlID0gPEtFWV9Q T1dFUj47Cj4gKwkJCXdha2V1cC1zb3VyY2U7Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJc2Rpb19w d3JzZXE6IHNkaW8tcHdyc2VxIHsKPiArCQljb21wYXRpYmxlID0gIm1tYy1wd3JzZXEtc2ltcGxl IjsKPiArCQljbG9ja3MgPSA8JnJrODE4IDE+Owo+ICsJCWNsb2NrLW5hbWVzID0gImV4dF9jbG9j ayI7Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8Jndp ZmlfZW5hYmxlX2g+Owo+ICsJCXBvc3QtcG93ZXItb24tZGVsYXktbXMgPSA8MTAwPjsKPiArCQlw b3dlci1vZmYtZGVsYXktdXMgPSA8NTAwMDAwPjsKPiArCj4gKwkJLyogV0xfUkVHX09OIG9uIG1v ZHVsZSAqLwo+ICsJCXJlc2V0LWdwaW9zID0gPCZncGlvMCBSS19QQjIgR1BJT19BQ1RJVkVfTE9X PjsKPiArCX07Cj4gKwo+ICsJdmlicmF0b3Igewo+ICsJCWNvbXBhdGlibGUgPSAiZ3Bpby12aWJy YXRvciI7Cj4gKwkJLy8gUGVyICJHUElPIiwgcGFnZSAxMS4KPiArCQllbmFibGUtZ3Bpb3MgPSA8 JmdwaW8zIFJLX1BCMSBHUElPX0FDVElWRV9ISUdIPjsKPiArCQkvLyBQZXIgIk1vdG9yIiwgcGFn ZSAxNy4KPiArCQl2Y2Mtc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKPiArCX07Cj4gKwo+ICsJLyog UG93ZXIgdHJlZSAqLwo+ICsJLyogUm9vdCBwb3dlciBzb3VyY2UgKi8KPiArCXZjY19zeXNpbjog dmNjLXN5c2luIHsKPiArCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7Cj4gKwkJcmVn dWxhdG9yLW5hbWUgPSAidmNjX3N5c2luIjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJ CXJlZ3VsYXRvci1ib290LW9uOwo+ICsJfTsKPiArCj4gKwl2Y2M1djBfc3lzOiB2Y2M1djAtaG9z dC1yZWd1bGF0b3Igewo+ICsJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKPiArCQly ZWd1bGF0b3ItbmFtZSA9ICJ2Y2M1djBfc3lzIjsKPiArCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9s dCA9IDw1MDAwMDAwPjsKPiArCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsK PiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCXZp bi1zdXBwbHkgPSA8JnZjY19zeXNpbj47Cj4gKwo+ICsJCXJlZ3VsYXRvci1zdGF0ZS1tZW0gewo+ ICsJCQlyZWd1bGF0b3Itb24taW4tc3VzcGVuZDsKPiArCQl9Owo+ICsJfTsKPiArCj4gKwl2Y2M1 djBfdHlwZWM6IHZjYzV2MC10eXBlYy1yZWd1bGF0b3Igewo+ICsJCWNvbXBhdGlibGUgPSAicmVn dWxhdG9yLWZpeGVkIjsKPiArCQlncGlvID0gPCZncGlvMCBSS19QQTYgR1BJT19BQ1RJVkVfSElH SD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JnZj YzV2MF90eXBlY19lbj47Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NTAwMDAwMD47 Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47Cj4gKwkJcmVndWxhdG9y LW5hbWUgPSAidmNjNXYwX3R5cGVjIjsKPiArCQl2aW4tc3VwcGx5ID0gPCZ2Y2M1djBfc3lzPjsK PiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsKPiAr CQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJcmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7Cj4g KwkJfTsKPiArCX07CgpeXl4gdGhpcyBpcyBub3QgYSByZWd1bGF0b3IgYW5kIGRvZXNuJ3Qgc3dp dGNoIG9uIFZCVVMgc3VwcGx5CmZvciB0eXBlLWMgcG9ydC4gVGhhdCdzIGRvbmUgYnkgdGhlIG90 Z19zd2l0Y2gKCj4gKwkvKiBNYWluIDMuM3Ygc3VwcGx5ICovCj4gKwl2Y2MzdjNfc3lzOiB3aWZp X2JhdDogdmNjM3YzLXN5cyB7Cj4gKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOwo+ ICsJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19zeXMiOwo+ICsJCXJlZ3VsYXRvci1hbHdheXMt b247Cj4gKwkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQg PSA8MzMwMDAwMD47Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzMwMDAwMD47Cj4g KwkJdmluLXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCj4gKwkJcmVndWxhdG9yLXN0YXRlLW1l bSB7Cj4gKwkJCXJlZ3VsYXRvci1vbi1pbi1zdXNwZW5kOwo+ICsJCX07Cj4gKwl9Owo+ICsKPiAr CXZjYzF2OF9jb2RlYzogdmNjMXY4LWNvZGVjLXJlZ3VsYXRvciB7Cj4gKwkJY29tcGF0aWJsZSA9 ICJyZWd1bGF0b3ItZml4ZWQiOwo+ICsJCWVuYWJsZS1hY3RpdmUtaGlnaDsKPiArCQlncGlvID0g PCZncGlvMyBSS19QQTQgR1BJT19BQ1RJVkVfSElHSD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJk ZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JnZjYzF2OF9jb2RlY19lbj47Cj4gKwkJcmVndWxh dG9yLW5hbWUgPSAidmNjMXY4X2NvZGVjIjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJ CXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDE4MDAw MDA+Owo+ICsJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDE4MDAwMDA+Owo+ICsJCXZpbi1z dXBwbHkgPSA8JnZjYzN2M19zeXM+Owo+ICsJfTsKPiArCj4gKwkvKiBNSVBJIERTSSBwYW5lbCAx Ljh2IHN1cHBseSAqLwo+ICsJdmNjMXY4X2xjZDogdmNjMXY4LWxjZCB7Cj4gKwkJY29tcGF0aWJs ZSA9ICJyZWd1bGF0b3ItZml4ZWQiOwo+ICsJCWVuYWJsZS1hY3RpdmUtaGlnaDsKPiArCQlyZWd1 bGF0b3ItbmFtZSA9ICJ2Y2MxdjhfbGNkIjsKPiArCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9 IDwxODAwMDAwPjsKPiArCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiAr CQl2aW4tc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKPiArCQlncGlvID0gPCZncGlvMyBSS19QQTUg R1BJT19BQ1RJVkVfSElHSD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlw aW5jdHJsLTAgPSA8JmRpc3BsYXlfcHdyZW4xPjsKPiArCX07Cj4gKwo+ICsJLyogTUlQSSBEU0kg cGFuZWwgMi44diBzdXBwbHkgKi8KPiArCXZjYzJ2OF9sY2Q6IHZjYzJ2OC1sY2Qgewo+ICsJCWNv bXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKPiArCQllbmFibGUtYWN0aXZlLWhpZ2g7Cj4g KwkJcmVndWxhdG9yLW5hbWUgPSAidmNjMnY4X2xjZCI7Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNy b3ZvbHQgPSA8MjgwMDAwMD47Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MjgwMDAw MD47Cj4gKwkJdmluLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47Cj4gKwkJZ3BpbyA9IDwmZ3BpbzMg UktfUEExIEdQSU9fQUNUSVZFX0hJR0g+Owo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7 Cj4gKwkJcGluY3RybC0wID0gPCZkaXNwbGF5X3B3cmVuPjsKPiArCX07Cj4gKwo+ICsJdmNjYTF2 OF9zMzogdmNjMXY4LXMzIHsKPiArCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7Cj4g KwkJcmVndWxhdG9yLW5hbWUgPSAidmNjYTF2OF9zMyI7Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNy b3ZvbHQgPSA8MTgwMDAwMD47Cj4gKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAw MD47Cj4gKwkJdmluLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47Cj4gKwkJcmVndWxhdG9yLWFsd2F5 cy1vbjsKPiArCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCX07Cj4gK307Cj4gKwo+ICsmY3B1X2ww IHsKPiArCWNwdS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2wxIHsK PiArCWNwdS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2wyIHsKPiAr CWNwdS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2wzIHsKPiArCWNw dS1zdXBwbHkgPSA8JnZkZF9jcHVfbD47Cj4gK307Cj4gKwo+ICsmY3B1X2IwIHsKPiArCWNwdS1z dXBwbHkgPSA8JnZkZF9jcHVfYj47Cj4gKwlvcGVyYXRpbmctcG9pbnRzLXYyID0gPCZjbHVzdGVy MV9vcHBfcHBwPjsKPiArfTsKPiArCj4gKyZjcHVfYjEgewo+ICsJY3B1LXN1cHBseSA9IDwmdmRk X2NwdV9iPjsKPiArCW9wZXJhdGluZy1wb2ludHMtdjIgPSA8JmNsdXN0ZXIxX29wcF9wcHA+Owo+ ICt9Owo+ICsKPiArJmVtbWNfcGh5IHsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4g KyZncHUgewo+ICsJbWFsaS1zdXBwbHkgPSA8JnZkZF9ncHU+Owo+ICsJc3RhdHVzID0gIm9rYXki Owo+ICt9Owo+ICsKPiArJmkyYzAgewo+ICsJLy8gUGVyICJTQ0wgY2xvY2sgZnJlcXVlbmN5Iiwg cGFnZSAzMCwgUks4MTggZGF0YXNoZWV0Lgo+ICsJY2xvY2stZnJlcXVlbmN5ID0gPDQwMDAwMD47 Cj4gKwlpMmMtc2NsLXJpc2luZy10aW1lLW5zID0gPDE2OD47Cj4gKwlpMmMtc2NsLWZhbGxpbmct dGltZS1ucyA9IDw0PjsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArCj4gKwkvLyBQZXIgIlBNSUMg Uks4MTgtMyIsIHBhZ2UgMTMuCj4gKwlyazgxODogcG1pY0AxYyB7Cj4gKwkJY29tcGF0aWJsZSA9 ICJyb2NrY2hpcCxyazgxOCI7Cj4gKwkJcmVnID0gPDB4MWM+Owo+ICsJCWludGVycnVwdC1wYXJl bnQgPSA8JmdwaW8xPjsKPiArCQlpbnRlcnJ1cHRzID0gPFJLX1BDNSBJUlFfVFlQRV9MRVZFTF9M T1c+Owo+ICsJCSNjbG9jay1jZWxscyA9IDwxPjsKPiArCQljbG9jay1vdXRwdXQtbmFtZXMgPSAi eGluMzJrIiwgInJrODA4LWNsa291dDIiOwo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7 Cj4gKwkJcGluY3RybC0wID0gPCZwbWljX2ludF9sPjsKPiArCQlyb2NrY2hpcCxzeXN0ZW0tcG93 ZXItY29udHJvbGxlcjsKPiArCQl3YWtldXAtc291cmNlOwo+ICsJCWV4dGNvbiA9IDwmZnVzYjA+ OwoKcms4MTggZG9lc24ndCB1c2UgZXh0Y29uIGludGVyZmFjZQoKPiArCQl2Y2MxLXN1cHBseSA9 IDwmdmNjX3N5c2luPjsKPiArCQl2Y2MyLXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCQl2Y2Mz LXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCQl2Y2M0LXN1cHBseSA9IDwmdmNjX3N5c2luPjsK PiArCQl2Y2M2LXN1cHBseSA9IDwmdmNjX3N5c2luPjsKPiArCQl2Y2M3LXN1cHBseSA9IDwmdmNj M3YzX3N5cz47Cj4gKwkJdmNjOC1zdXBwbHkgPSA8JnZjY19zeXNpbj47Cj4gKwkJdmNjOS1zdXBw bHkgPSA8JnZjYzN2M19zeXM+Owo+ICsKPiArCQlyZWd1bGF0b3JzIHsKPiArCQkJdmRkX2NwdV9s OiBEQ0RDX1JFRzEgewo+ICsJCQkJcmVndWxhdG9yLW5hbWUgPSAidmRkX2NwdV9sIjsKPiArCQkJ CXJlZ3VsYXRvci1hbHdheXMtb247Cj4gKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJl Z3VsYXRvci1taW4tbWljcm92b2x0ID0gPDc1MDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1p Y3Jvdm9sdCA9IDwxMzUwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1yYW1wLWRlbGF5ID0gPDYwMDE+ Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1z dXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZkZF9jZW50ZXI6IERDRENfUkVH MiB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2ZGRfY2VudGVyIjsKPiArCQkJCXJlZ3VsYXRv ci1hbHdheXMtb247Cj4gKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJlZ3VsYXRvci1t aW4tbWljcm92b2x0ID0gPDgwMDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9 IDwxMzUwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1yYW1wLWRlbGF5ID0gPDYwMDE+Owo+ICsJCQkJ cmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5kOwo+ ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCS8vIEREUgo+ICsJCQl2Y2NfZGRyOiBEQ0RDX1JF RzMgewo+ICsJCQkJcmVndWxhdG9yLW5hbWUgPSAidmNjX2RkciI7Cj4gKwkJCQlyZWd1bGF0b3It YWx3YXlzLW9uOwo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3Itc3Rh dGUtbWVtIHsKPiArCQkJCQkvLyBQb3dlciBSQU0gd2hpbGUgc3VzcGVuZGVkLgo+ICsJCQkJCXJl Z3VsYXRvci1vbi1pbi1zdXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjY18x djg6IHZjY193bDogRENEQ19SRUc0IHsKPiArCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY18xdjgi Owo+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ ICsJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTgwMDAwMD47Cj4gKwkJCQlyZWd1bGF0 b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0g ewo+ICsJCQkJCXJlZ3VsYXRvci1vbi1pbi1zdXNwZW5kOwo+ICsJCQkJCXJlZ3VsYXRvci1zdXNw ZW5kLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwo+ICsJCQkv LyBBdWRpbyBjb2RlYy4KPiArCQkJdmNjYTN2MF9jb2RlYzogTERPX1JFRzEgewo+ICsJCQkJcmVn dWxhdG9yLW5hbWUgPSAidmNjYTN2MF9jb2RlYyI7Cj4gKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9u Owo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9s dCA9IDwzMDAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMwMDAwMDA+ Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1z dXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCS8vIFRvdWNoIHNjcmVlbi4KPiAr CQkJdmNjM3YwX3RvdWNoOiBMRE9fUkVHMiB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2Mz djBfdG91Y2giOwo+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1i b290LW9uOwo+ICsJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MzAwMDAwMD47Cj4gKwkJ CQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMDAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1z dGF0ZS1tZW0gewo+ICsJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKPiArCQkJCX07Cj4g KwkJCX07Cj4gKwo+ICsJCQl2Y2NhMXY4X2NvZGVjOiBMRE9fUkVHMyB7Cj4gKwkJCQlyZWd1bGF0 b3ItbmFtZSA9ICJ2Y2NhMXY4X2NvZGVjIjsKPiArCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Cj4g KwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0g PDE4MDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAwMD47Cj4g KwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3Bl bmQ7Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJdmNjX3Bvd2VyX29uOiBMRE9fUkVHNCB7 Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2NfcG93ZXJfb24iOwo+ICsJCQkJcmVndWxhdG9y LWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCQkJcmVndWxhdG9yLW1p bi1taWNyb3ZvbHQgPSA8MzMwMDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9 IDwzMzAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0gewo+ICsJCQkJCXJlZ3VsYXRv ci1vbi1pbi1zdXNwZW5kOwo+ICsJCQkJCXJlZ3VsYXRvci1zdXNwZW5kLW1pY3Jvdm9sdCA9IDwz MzAwMDAwPjsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwo+ICsJCQl2Y2NfM3YwOiBMRE9fUkVHNSB7 Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2NfM3YwIjsKPiArCQkJCXJlZ3VsYXRvci1hbHdh eXMtb247Cj4gKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKPiArCQkJCXJlZ3VsYXRvci1taW4tbWlj cm92b2x0ID0gPDMwMDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzAw MDAwMD47Cj4gKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJCQlyZWd1bGF0b3Itb24t aW4tc3VzcGVuZDsKPiArCQkJCQlyZWd1bGF0b3Itc3VzcGVuZC1taWNyb3ZvbHQgPSA8MzAwMDAw MD47Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJdmNjXzF2NTogTERPX1JFRzYgewo+ICsJ CQkJcmVndWxhdG9yLW5hbWUgPSAidmNjXzF2NSI7Cj4gKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9u Owo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9s dCA9IDwxNTAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDE1MDAwMDA+ Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1 c3BlbmQ7Cj4gKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92b2x0ID0gPDE1MDAwMDA+Owo+ ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjYzF2OF9kdnA6IExET19SRUc3IHsKPiArCQkJ CXJlZ3VsYXRvci1uYW1lID0gInZjYzF2OF9kdnAiOwo+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1v bjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCQkJcmVndWxhdG9yLW1pbi1taWNyb3Zv bHQgPSA8MTgwMDAwMD47Cj4gKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAw PjsKPiArCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0gewo+ICsJCQkJCXJlZ3VsYXRvci1vZmYtaW4t c3VzcGVuZDsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwo+ICsJCQl2Y2MzdjNfczM6IExET19SRUc4 IHsKPiArCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19zMyI7Cj4gKwkJCQlyZWd1bGF0b3It YWx3YXlzLW9uOwo+ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWlu LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0g PDMzMDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9y LW9mZi1pbi1zdXNwZW5kOwo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjY2lvX3NkOiBM RE9fUkVHOSB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2Npb19zZCI7Cj4gKwkJCQlyZWd1 bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWlj cm92b2x0ID0gPDMzMDAwMDA+Owo+ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJ cmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7Cj4gKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92 b2x0ID0gPDMzMDAwMDA+Owo+ICsJCQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCXZjYzN2M19zMDog U1dJVENIX1JFRyB7Cj4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2MzdjNfczAiOwo+ICsJCQkJ cmVndWxhdG9yLWFsd2F5cy1vbjsKPiArCQkJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsJCQkJcmVn dWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7Cj4gKwkJ CQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJYm9vc3Rfb3RnOiBEQ0RDX0JPT1NUIHsKPiArCQkJCXJl Z3VsYXRvci1uYW1lID0gImJvb3N0X290ZyI7Cj4gKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ ICsJCQkJcmVndWxhdG9yLWJvb3Qtb247Cj4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9 IDw1MDAwMDAwPjsKPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDUwMDAwMDA+Owo+ ICsJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7Cj4gKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3Bl bmQ7Cj4gKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92b2x0ID0gPDUwMDAwMDA+Owo+ICsJ CQkJfTsKPiArCQkJfTsKPiArCj4gKwkJCW90Z19zd2l0Y2g6IE9UR19TV0lUQ0ggewo+ICsJCQkJ cmVndWxhdG9yLW5hbWUgPSAib3RnX3N3aXRjaCI7Cj4gKwkJCX07Cj4gKwkJfTsKPiArCX07Cj4g Kwo+ICsJdmRkX2NwdV9iOiByZWd1bGF0b3JANDAgewo+ICsJCWNvbXBhdGlibGUgPSAic2lsZXJn eSxzeXI4MjciOwo+ICsJCXJlZyA9IDwweDQwPjsKPiArCQlmY3Msc3VzcGVuZC12b2x0YWdlLXNl bGVjdG9yID0gPDE+Owo+ICsJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7Cj4gKwkJcGluY3Ry bC0wID0gPCZ2c2VsMV9waW4+Owo+ICsJCXJlZ3VsYXRvci1uYW1lID0gInZkZF9jcHVfYiI7Cj4g KwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NzEyNTAwPjsKPiArCQlyZWd1bGF0b3ItbWF4 LW1pY3Jvdm9sdCA9IDwxNTAwMDAwPjsKPiArCQlyZWd1bGF0b3ItcmFtcC1kZWxheSA9IDwxMDAw PjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRvci1ib290LW9uOwo+ICsK PiArCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5k Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCXZkZF9ncHU6IHJlZ3VsYXRvckA0MSB7Cj4gKwkJY29t cGF0aWJsZSA9ICJzaWxlcmd5LHN5cjgyOCI7Cj4gKwkJcmVnID0gPDB4NDE+Owo+ICsJCWZjcyxz dXNwZW5kLXZvbHRhZ2Utc2VsZWN0b3IgPSA8MT47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJkZWZh dWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JnZzZWwyX3Bpbj47Cj4gKwkJcmVndWxhdG9yLW5hbWUg PSAidmRkX2dwdSI7Cj4gKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NzEyNTAwPjsKPiAr CQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxNTAwMDAwPjsKPiArCQlyZWd1bGF0b3ItcmFt cC1kZWxheSA9IDwxMDAwPjsKPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwo+ICsJCXJlZ3VsYXRv ci1ib290LW9uOwo+ICsKPiArCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKPiArCQkJcmVndWxhdG9y LW9mZi1pbi1zdXNwZW5kOwo+ICsJCX07Cj4gKwl9Owo+ICt9Owo+ICsKPiArJmkyYzEgewo+ICsJ aTJjLXNjbC1yaXNpbmctdGltZS1ucyA9IDwzMDA+Owo+ICsJaTJjLXNjbC1mYWxsaW5nLXRpbWUt bnMgPSA8MTU+Owo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICt9Owo+ICsKPiArJmkyYzMgewo+ICsJ aTJjLXNjbC1yaXNpbmctdGltZS1ucyA9IDw0NTA+Owo+ICsJaTJjLXNjbC1mYWxsaW5nLXRpbWUt bnMgPSA8MTU+Owo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICsKPiArCS8vIFBlciAiQW1iaWVudCBM aWdodCIsIHBhZ2UgMTcuCj4gKwlsaWdodC1zZW5zb3JANDggewo+ICsJCWNvbXBhdGlibGUgPSAi c2Vuc29ydGVrLHN0azMzMTEiOwo+ICsJCXJlZyA9IDwweDQ4PjsKPiArCQlpbnRlcnJ1cHQtcGFy ZW50ID0gPCZncGlvND47Cj4gKwkJaW50ZXJydXB0cyA9IDxSS19QRDMgSVJRX1RZUEVfRURHRV9G QUxMSU5HPjsKPiArCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+ICsJCXBpbmN0cmwtMCA9 IDwmc3RrMzMxMV9pbnQ+Owo+ICsJCXZkZC1zdXBwbHkgPSA8JnZjY18zdjA+Owo+ICsJCWxlZGEt c3VwcGx5ID0gPCZ2Y2NfM3YwPjsKPiArCX07Cj4gK307Cj4gKwo+ICsmaTJjNCB7Cj4gKwlpMmMt c2NsLXJpc2luZy10aW1lLW5zID0gPDYwMD47Cj4gKwlpMmMtc2NsLWZhbGxpbmctdGltZS1ucyA9 IDwyMD47Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gKwo+ICsJLy8gUGVyICJUWVBFLUMiLCBwYWdl IDIzLgo+ICsJZnVzYjA6IHR5cGVjLXBvcnRjQDIyIHsKPiArCQljb21wYXRpYmxlID0gImZjcyxm dXNiMzAyIjsKPiArCQlyZWcgPSA8MHgyMj47Cj4gKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ3Bp bzE+Owo+ICsJCWludGVycnVwdHMgPSA8UktfUEEyIElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gKwkJ cGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JmZ1c2IwX2ludD47 Cj4gKwkJdmJ1cy1zdXBwbHkgPSA8JnZjYzV2MF90eXBlYz47Cj4gKwo+ICsJCWNvbm5lY3RvciB7 Cj4gKwkJCWNvbXBhdGlibGUgPSAidXNiLWMtY29ubmVjdG9yIjsKPiArCQkJZGF0YS1yb2xlID0g ImR1YWwiOwo+ICsJCQlsYWJlbCA9ICJVU0ItQyI7Cj4gKwkJCW9wLXNpbmstbWljcm93YXR0ID0g PDEwMDAwMDA+Owo+ICsJCQlwb3dlci1yb2xlID0gImR1YWwiOwo+ICsJCQlzaW5rLXBkb3MgPQo+ ICsJCQkJPFBET19GSVhFRCg1MDAwLCAyNTAwLCBQRE9fRklYRURfVVNCX0NPTU0pPjsKPiArCQkJ c291cmNlLXBkb3MgPQo+ICsJCQkJPFBET19GSVhFRCg1MDAwLCAxNDAwLCBQRE9fRklYRURfVVNC X0NPTU0pPjsKPiArCQkJdHJ5LXBvd2VyLXJvbGUgPSAic2luayI7Cj4gKwo+ICsJCQlleHRjb24t Y2FibGVzID0gPDEgMiA1IDYgOSAxMCAxMiA0ND47Cj4gKwkJCXR5cGVjLWFsdG1vZGVzID0gPDB4 ZmYwMSAxIDB4MDAxYzBjMDAgMT47CgpeXl4gdGhlc2UgYXJlIG5vdCBtYWlubGluZSBiaW5kaW5n cwoKTWFpbmxpbmUgdXNlcyBtb2RlLXN3aXRjaCAvIG9yaWVudGF0aW9uLXN3aXRjaCAvIHVzYi1y b2xlLXN3aXRjaCBwcm9wZXJ0aWVzIGFuZAphbHRtb2RlcyBub2RlLiBTcGVjaWZpZWQgVkRPICgw eDAwMWMwYzAwKSBpcyBhbHNvIGluY29ycmVjdC4gQW5kIEkgZG9uJ3QgdGhpbmsKdGhlIHBob25l IGNhbiBwcm92aWRlIDEuNEEgYXQgNVYgKHRoYXQgd291bGQgYmUgN1cpCgpWQ0M1VjBfU1lTIGNh biBwcm92aWRlIGF0IG1vc3QgMkEgYW5kIGl0J3Mgc2hhcmVkIGJldHdlZW4gbW9kZW0sIHBvd2Vy IGFtcCBmb3IKdGhlIHNwZWFrZXIsIGFuZCB0eXBlLWMgVkNPTk4gd2hpY2ggYWxzbyBoYXMgc29t ZSBwb3dlciByZXF1aXJlbWVudHMgKDFXKS4KCgo+ICsJCQlwb3J0cyB7Cj4gKwkJCQkjYWRkcmVz cy1jZWxscyA9IDwxPjsKPiArCQkJCSNzaXplLWNlbGxzID0gPDA+Owo+ICsKPiArCQkJCXBvcnRA MCB7Cj4gKwkJCQkJcmVnID0gPDA+Owo+ICsKPiArCQkJCQl1c2JjX2hzOiBlbmRwb2ludCB7Cj4g KwkJCQkJCXJlbW90ZS1lbmRwb2ludCA9Cj4gKwkJCQkJCQk8JnUycGh5MF90eXBlY19ocz47Cj4g KwkJCQkJfTsKPiArCQkJCX07Cj4gKwo+ICsJCQkJcG9ydEAxIHsKPiArCQkJCQlyZWcgPSA8MT47 Cj4gKwo+ICsJCQkJCXVzYmNfc3M6IGVuZHBvaW50IHsKPiArCQkJCQkJcmVtb3RlLWVuZHBvaW50 ID0KPiArCQkJCQkJCTwmdGNwaHkwX3R5cGVjX3NzPjsKPiArCQkJCQl9Owo+ICsJCQkJfTsKPiAr Cj4gKwkJCQlwb3J0QDIgewo+ICsJCQkJCXJlZyA9IDwyPjsKPiArCj4gKwkJCQkJdXNiY19kcDog ZW5kcG9pbnQgewo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPQo+ICsJCQkJCQkJPCZ0Y3BoeTBf dHlwZWNfZHA+Owo+ICsJCQkJCX07Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsJCX07Cj4gKwl9Owo+ ICsKPiArCS8vIFBlciAiR3lybyIsIHBhZ2UgMTcuCj4gKwlhY2NlbGVyb21ldGVyQDY4IHsKPiAr CQljb21wYXRpYmxlID0gImludmVuc2Vuc2UsbXB1NjUwMCI7Cj4gKwkJcmVnID0gPDB4Njg+Owo+ ICsJCWludGVycnVwdC1wYXJlbnQgPSA8JmdwaW8xPjsKPiArCQlpbnRlcnJ1cHRzID0gPFJLX1BD NiBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsJCXZkZC1zdXBwbHkgPSA8JnZjY18xdjg+Owo+ICsJ CXZkZGlvLXN1cHBseSA9IDwmdmNjXzF2OD47Cj4gKwo+ICsJCW1vdW50LW1hdHJpeCA9Cj4gKwkJ CSIxIiwgIjAiLCAiMCIsCj4gKwkJCSIwIiwgIi0xIiwgIjAiLAo+ICsJCQkiMCIsICIwIiwgIjEi Owo+ICsJfTsKPiArfTsKPiArCj4gKyZpb19kb21haW5zIHsKPiArCXN0YXR1cyA9ICJva2F5IjsK PiArCj4gKwlidDY1Ni1zdXBwbHkgPSA8JnZjYzF2OF9kdnA+Owo+ICsJYXVkaW8tc3VwcGx5ID0g PCZ2Y2NhMXY4X2NvZGVjPjsKPiArCXNkbW1jLXN1cHBseSA9IDwmdmNjaW9fc2Q+Owo+ICsJZ3Bp bzE4MzAtc3VwcGx5ID0gPCZ2Y2NfM3YwPjsKPiArfTsKPiArCj4gKyZwbXVfaW9fZG9tYWlucyB7 Cj4gKwlwbXUxODMwLXN1cHBseSA9IDwmdmNjXzF2OD47Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4g K307Cj4gKwo+ICsmcGluY3RybCB7Cj4gKwlidCB7Cj4gKwkJYnRfZW5hYmxlX2g6IGJ0LWVuYWJs ZS1oIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwwIFJLX1BCMSBSS19GVU5DX0dQSU8gJnBjZmdf cHVsbF9ub25lPjsKPiArCQl9Owo+ICsKPiArCQlidF9ob3N0X3dha2VfbDogYnQtaG9zdC13YWtl LWwgewo+ICsJCQlyb2NrY2hpcCxwaW5zID0gPDAgUktfUEE0IFJLX0ZVTkNfR1BJTyAmcGNmZ19w dWxsX2Rvd24+Owo+ICsJCX07Cj4gKwo+ICsJCWJ0X3dha2VfbDogYnQtd2FrZS1sIHsKPiArCQkJ cm9ja2NoaXAscGlucyA9IDwyIFJLX1BEMiBSS19GVU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsK PiArCQl9Owo+ICsJfTsKPiArCj4gKwlidXR0b25zIHsKPiArCQlwd3JidG5fcGluOiBwd3JidG4t cGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwwIFJLX1BBNSBSS19GVU5DX0dQSU8gJnBjZmdf cHVsbF91cD47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJZnVzYjMwMnggewo+ICsJCWZ1c2IwX2lu dDogZnVzYjAtaW50IHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwxIFJLX1BBMiBSS19GVU5DX0dQ SU8gJnBjZmdfcHVsbF91cD47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJbGVkcyB7Cj4gKwkJcmVk X2xlZF9waW46IHJlZC1sZWQtcGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDw0IFJLX1BEMiBS S19GVU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsKPiArCQl9Owo+ICsKPiArCQlncmVlbl9sZWRf cGluOiBncmVlbi1sZWQtcGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDw0IFJLX1BENSBSS19G VU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsKPiArCQl9Owo+ICsKPiArCQlibHVlX2xlZF9waW46 IGJsdWUtbGVkLXBpbiB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8NCBSS19QRDYgUktfRlVOQ19H UElPICZwY2ZnX3B1bGxfbm9uZT47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJcG1pYyB7Cj4gKwkJ cG1pY19pbnRfbDogcG1pYy1pbnQtbCB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8MSBSS19QQzUg UktfRlVOQ19HUElPICZwY2ZnX3B1bGxfdXA+Owo+ICsJCX07Cj4gKwo+ICsJCXZzZWwxX3Bpbjog dnNlbDEtcGluIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwxIFJLX1BDMSBSS19GVU5DX0dQSU8g JnBjZmdfcHVsbF9kb3duPjsKPiArCQl9Owo+ICsKPiArCQl2c2VsMl9waW46IHZzZWwyLXBpbiB7 Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8MSBSS19QQjYgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxf ZG93bj47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJc2RjYXJkIHsKPiArCQlzZG1tYzBfcHdyX2g6 IHNkbW1jMC1wd3ItaCB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8MCBSS19QQTEgUktfRlVOQ19H UElPICZwY2ZnX3B1bGxfbm9uZT47Cj4gKwkJfTsKPiArCj4gKwl9Owo+ICsKPiArCXNkaW8tcHdy c2VxIHsKPiArCQl3aWZpX2VuYWJsZV9oOiB3aWZpLWVuYWJsZS1oIHsKPiArCQkJcm9ja2NoaXAs cGlucyA9IDwwIFJLX1BCMiBSS19GVU5DX0dQSU8gJnBjZmdfcHVsbF9ub25lPjsKPiArCQl9Owo+ ICsJfTsKPiArCj4gKwl1c2ItdHlwZWMgewo+ICsJCXZjYzV2MF90eXBlY19lbjogdmNjNXYwX3R5 cGVjX2VuIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwwIFJLX1BBNiBSS19GVU5DX0dQSU8gJnBj ZmdfcHVsbF91cD47Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJZHNpIHsKPiArCQlkaXNwbGF5X3Jz dF9sOiBkaXNwbGF5LXJzdC1sIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDw0IFJLX1BEMSBSS19G VU5DX0dQSU8gJnBjZmdfcHVsbF9kb3duPjsKPiArCQl9Owo+ICsKPiArCQlkaXNwbGF5X3B3cmVu OiBkaXNwbGF5LXB3cmVuIHsKPiArCQkJcm9ja2NoaXAscGlucyA9IDwzIFJLX1BBMSBSS19GVU5D X0dQSU8gJnBjZmdfcHVsbF9kb3duPjsKPiArCQl9Owo+ICsKPiArCQlkaXNwbGF5X3B3cmVuMTog ZGlzcGxheS1wd3JlbjEgewo+ICsJCQlyb2NrY2hpcCxwaW5zID0gPDMgUktfUEE1IFJLX0ZVTkNf R1BJTyAmcGNmZ19wdWxsX2Rvd24+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiArCXN0azMzMTEgewo+ ICsJCXN0azMzMTFfaW50OiBzdGszMzExLWludCB7Cj4gKwkJCXJvY2tjaGlwLHBpbnMgPSA8NCBS S19QRDMgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfdXA+Owo+ICsJCX07Cj4gKwl9Owo+ICsKPiAr CXNvdW5kIHsKPiArCQl2Y2MxdjhfY29kZWNfZW46IHZjYzF2OC1jb2RlYy1lbiB7Cj4gKwkJCXJv Y2tjaGlwLHBpbnMgPSA8MyBSS19QQTQgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfZG93bj47Cj4g KwkJfTsKPiArCX07Cj4gK307Cj4gKwo+ICsmcHdtMCB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4g K307Cj4gKwo+ICsmcHdtMSB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmcHdt MiB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsvLyBQZXIgIlNBUkFEQyIsIHBh Z2UgOC4KPiArJnNhcmFkYyB7Cj4gKwl2cmVmLXN1cHBseSA9IDwmdmNjYTF2OF9zMz47Cj4gKwlz dGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmc2RpbzAgewo+ICsJYnVzLXdpZHRoID0gPDQ+ Owo+ICsJY2FwLXNkLWhpZ2hzcGVlZDsKPiArCWNhcC1zZGlvLWlycTsKPiArCWRpc2FibGUtd3A7 Cj4gKwlrZWVwLXBvd2VyLWluLXN1c3BlbmQ7Cj4gKwltbWMtcHdyc2VxID0gPCZzZGlvX3B3cnNl cT47Cj4gKwlub24tcmVtb3ZhYmxlOwo+ICsJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiAr CXBpbmN0cmwtMCA9IDwmc2RpbzBfYnVzNCAmc2RpbzBfY21kICZzZGlvMF9jbGs+Owo+ICsJc2Qt dWhzLXNkcjEwNDsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4gKy8vIFBlciAiU0RN TUMgQ29udHJvbGVyIiwgcGFnZSA2Lgo+ICsmc2RtbWMgewo+ICsJYnVzLXdpZHRoID0gPDQ+Owo+ ICsJY2FwLXNkLWhpZ2hzcGVlZDsKPiArCWNkLWdwaW9zID0gPCZncGlvMCBSS19QQTcgR1BJT19B Q1RJVkVfTE9XPjsKPiArCWRpc2FibGUtd3A7Cj4gKwltYXgtZnJlcXVlbmN5ID0gPDE1MDAwMDAw MD47Cj4gKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+ICsJcGluY3RybC0wID0gPCZzZG1t Y19jbGsgJnNkbW1jX2NtZCAmc2RtbWNfY2QgJnNkbW1jX2J1czQ+Owo+ICsJdm1tYy1zdXBwbHkg PSA8JnZjYzN2M19zeXM+Owo+ICsJdnFtbWMtc3VwcGx5ID0gPCZ2Y2Npb19zZD47Cj4gKwlzdGF0 dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmc2RoY2kgewo+ICsJYnVzLXdpZHRoID0gPDg+Owo+ ICsJbW1jLWhzMjAwLTFfOHY7Cj4gKwlub24tcmVtb3ZhYmxlOwo+ICsJc3RhdHVzID0gIm9rYXki Owo+ICt9Owo+ICsKPiArJnRjcGh5MCB7Cj4gKwlleHRjb24gPSA8JmZ1c2IwPjsKPiArCXN0YXR1 cyA9ICJva2F5IjsKPiArfTsKCl5eXiB0aGlzIGRvZXMgbm90IHdvcmsuIGZ1c2IwIGRvZXNuJ3Qg cHJvdmlkZSBhbnkgZXh0Y29uIGludGVyZmFjZQppdCBvbmx5IGNvbnN1bWVzIG9uZSwganVzdCBs aWtlIHRjcGh5MAoKPiArJnRjcGh5MF9kcCB7Cj4gKwlwb3J0IHsKPiArCQl0Y3BoeTBfdHlwZWNf ZHA6IGVuZHBvaW50IHsKPiArCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZ1c2JjX2RwPjsKPiArCQl9 Owo+ICsJfTsKPiArfTsKPiArCj4gKyZ0Y3BoeTBfdXNiMyB7Cj4gKwlwb3J0IHsKPiArCQl0Y3Bo eTBfdHlwZWNfc3M6IGVuZHBvaW50IHsKPiArCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZ1c2JjX3Nz PjsKPiArCQl9Owo+ICsJfTsKPiArfTsKPiArCj4gKy8vIEVuYWJsZSB0aGVybWFsIHNlbnNvcnMu Cj4gKyZ0c2FkYyB7Cj4gKwkvKiB0c2h1dCBtb2RlIDA6Q1JVIDE6R1BJTyAqLwo+ICsJcm9ja2No aXAsaHctdHNodXQtbW9kZSA9IDwxPjsKPiArCS8qIHRzaHV0IHBvbGFyaXR5IDA6TE9XIDE6SElH SCAqLwo+ICsJcm9ja2NoaXAsaHctdHNodXQtcG9sYXJpdHkgPSA8MT47Cj4gKwlzdGF0dXMgPSAi b2theSI7Cj4gK307Cj4gKwo+ICsmdTJwaHkwIHsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArCj4g Kwl1MnBoeTBfb3RnOiBvdGctcG9ydCB7Cj4gKwkJc3RhdHVzID0gIm9rYXkiOwo+ICsJfTsKPiAr Cj4gKwl1MnBoeTBfaG9zdDogaG9zdC1wb3J0IHsKPiArCQlzdGF0dXMgPSAib2theSI7Cj4gKwkJ cGh5LXN1cHBseSA9IDwmdmNjNXYwX3N5cz47Cj4gKwl9Owo+ICsKPiArCXBvcnQgewo+ICsJCXUy cGh5MF90eXBlY19oczogZW5kcG9pbnQgewo+ICsJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnVzYmNf aHM+Owo+ICsJCX07Cj4gKwl9Owo+ICt9Owo+ICsKPiArJnUycGh5MSB7Cj4gKwlzdGF0dXMgPSAi b2theSI7Cj4gKwo+ICsJdTJwaHkxX290Zzogb3RnLXBvcnQgewo+ICsJCXN0YXR1cyA9ICJva2F5 IjsKPiArCX07Cj4gKwo+ICsJdTJwaHkxX2hvc3Q6IGhvc3QtcG9ydCB7Cj4gKwkJc3RhdHVzID0g Im9rYXkiOwo+ICsJCXBoeS1zdXBwbHkgPSA8JnZjYzV2MF9zeXM+Owo+ICsJfTsKPiArfTsKPiAr Cj4gKyZ1YXJ0MCB7Cj4gKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+ICsJcGluY3RybC0w ID0gPCZ1YXJ0MF94ZmVyICZ1YXJ0MF9jdHMgJnVhcnQwX3J0cz47Cj4gKwl1YXJ0LWhhcy1ydHNj dHM7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gKwo+ICsJLy8gUGVyICJXSUZJL0JUIE1PRFVMRSIs IHBhZ2UgMTkuCj4gKwlibHVldG9vdGggewo+ICsJCWNvbXBhdGlibGUgPSAiYnJjbSxiY200MzQ1 YzUiOwo+ICsJCWNsb2NrcyA9IDwmcms4MTggMT47Cj4gKwkJY2xvY2stbmFtZXMgPSAibHBvIjsK PiArCQlkZXZpY2Utd2FrZXVwLWdwaW9zID0gPCZncGlvMiBSS19QRDIgR1BJT19BQ1RJVkVfSElH SD47Cj4gKwkJaG9zdC13YWtldXAtZ3Bpb3MgPSA8JmdwaW8wIFJLX1BBNCBHUElPX0FDVElWRV9I SUdIPjsKPiArCQltYXgtc3BlZWQgPSA8MTUwMDAwMD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJk ZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JmJ0X2hvc3Rfd2FrZV9sICZidF93YWtlX2wgJmJ0 X2VuYWJsZV9oPjsKPiArCQlzaHV0ZG93bi1ncGlvcyA9IDwmZ3BpbzAgUktfUEIxIEdQSU9fQUNU SVZFX0hJR0g+Owo+ICsJCXZiYXQtc3VwcGx5ID0gPCZ3aWZpX2JhdD47Cj4gKwkJdmRkaW8tc3Vw cGx5ID0gPCZ2Y2Nfd2w+Owo+ICsJfTsKPiArfTsKPiArCj4gKyZ1YXJ0MiB7Cj4gKwlzdGF0dXMg PSAib2theSI7Cj4gK307Cj4gKwo+ICsmdXNiX2hvc3QwX2VoY2kgewo+ICsJc3RhdHVzID0gIm9r YXkiOwo+ICt9Owo+ICsKPiArJnVzYl9ob3N0MF9vaGNpIHsKPiArCXN0YXR1cyA9ICJva2F5IjsK PiArfTsKPiArCj4gKyZ1c2JfaG9zdDFfZWhjaSB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307 Cj4gKwo+ICsmdXNiX2hvc3QxX29oY2kgewo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICt9Owo+ICsK PiArJnVzYmRyZDNfMCB7Cj4gKwlzdGF0dXMgPSAib2theSI7Cj4gK307Cj4gKwo+ICsmdXNiZHJk X2R3YzNfMCB7Cj4gKwlkcl9tb2RlID0gInBlcmlwaGVyYWwiOwo+ICsJc3RhdHVzID0gIm9rYXki Owo+ICt9Owo+ICsKPiArJnZvcGIgewo+ICsJc3RhdHVzID0gIm9rYXkiOwo+ICt9Owo+ICsKPiAr JnZvcGJfbW11IHsKPiArCXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4gKyZ2b3BsIHsKPiAr CXN0YXR1cyA9ICJva2F5IjsKPiArfTsKPiArCj4gKyZ2b3BsX21tdSB7Cj4gKwlzdGF0dXMgPSAi b2theSI7Cj4gK307Cj4gLS0gCj4gMi4zNi4wCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84821C433F5 for ; Sun, 29 May 2022 11:40:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229741AbiE2Lkr (ORCPT ); Sun, 29 May 2022 07:40:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229702AbiE2Lkp (ORCPT ); Sun, 29 May 2022 07:40:45 -0400 X-Greylist: delayed 450 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Sun, 29 May 2022 04:40:42 PDT Received: from vps.xff.cz (vps.xff.cz [195.181.215.36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E802532EC; Sun, 29 May 2022 04:40:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1653823989; bh=Cgq1AFt4FcomK7VfDd+niFdKcnwlvlnz6kb7RolLMKc=; h=Date:From:To:Cc:Subject:X-My-GPG-KeyId:References:From; b=WvGPVP0cflfH6iivIiKB9b50A4Zh3VfAf88ELy/WjE1lSH1EZxBVaRnVJZnSjUkVA Z9Vs/fqo4Sx5kzOR3ZV+oEeqtJkxF4sdzMxguqC9uj5UVq1jjYUWtWCrXfo9l4BWVD SGkJEO4Z0ML7WxvInXQFDvAGYeAMtSi+muvfONrw= Date: Sun, 29 May 2022 13:33:09 +0200 From: =?utf-8?Q?Ond=C5=99ej?= Jirman To: Tom Fitzhenry Cc: Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Samuel Holland , Martijn Braam Subject: Re: [PATCH 2/2] arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro Message-ID: <20220529113309.imsy7j3cnl4ihc52@core> Mail-Followup-To: =?utf-8?Q?Ond=C5=99ej?= Jirman , Tom Fitzhenry , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Samuel Holland , Martijn Braam X-My-GPG-KeyId: EBFBDDE11FB918D44D1F56C1F9F0A873BE9777ED References: <20220529031705.278631-1-tom@tom-fitzhenry.me.uk> <20220529031705.278631-3-tom@tom-fitzhenry.me.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220529031705.278631-3-tom@tom-fitzhenry.me.uk> Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi Tom, On Sun, May 29, 2022 at 01:17:05PM +1000, Tom Fitzhenry wrote: > This is a basic DT that includes only features that are already > supported by mainline drivers. > > Tested to work: booting from eMMC, WiFi, charging. > > Future patches will flesh out the DT. Some components, e.g. the panel, > are awaiting driver mainlining. > > This is derived from a combination of https://gitlab.com/pine64-org/linux > and https://megous.com/git/linux. this patch has a bunch of issues that were already fixed during discussions with Martijn as part of his effort to prepare an initial device tree for PinephonePro. (also noted below for your reference) I suggest to wait for the original author's submission. kind regards, o. > https://wiki.pine64.org/wiki/PinePhone_Pro > > Co-developed-by: Ondrej Jirman > Co-developed-by: Martijn Braam > Signed-off-by: Tom Fitzhenry > --- > arch/arm64/boot/dts/rockchip/Makefile | 1 + > .../dts/rockchip/rk3399-pinephone-pro.dts | 939 ++++++++++++++++++ > 2 files changed, 940 insertions(+) > create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > index 4ae9f35434b8..c00e7922d974 100644 > --- a/arch/arm64/boot/dts/rockchip/Makefile > +++ b/arch/arm64/boot/dts/rockchip/Makefile > @@ -41,6 +41,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-r4s.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinephone-pro.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > new file mode 100644 > index 000000000000..b1a486db1dfe > --- /dev/null > +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > @@ -0,0 +1,939 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2020 Martijn Braam > + * Copyright (c) 2021 Kamil TrzciƄski > + */ > + > +// PinePhone Pro datasheet: https://files.pine64.org/doc/PinePhonePro/PinephonePro-Schematic-V1.0-20211127.pdf > + > +/dts-v1/; > +#include > +#include > +#include > +#include > +#include "rk3399.dtsi" > +#include "rk3399-opp.dtsi" > + > +/ { > + model = "Pine64 PinePhonePro"; > + compatible = "pine64,pinephone-pro", "rockchip,rk3399"; > + > + chosen { > + bootargs = "earlycon=uart8250,mmio32,0xff1a0000"; > + stdout-path = "serial2:115200n8"; > + }; > + > + // Per "RK 3399 SARADC", page 8. > + adc-keys { > + compatible = "adc-keys"; > + io-channels = <&saradc 1>; > + io-channel-names = "buttons"; > + keyup-threshold-microvolt = <1600000>; > + poll-interval = <100>; > + > + button-up { > + label = "Volume Up"; > + linux,code = ; > + press-threshold-microvolt = <100000>; > + }; > + > + button-down { > + label = "Volume Down"; > + linux,code = ; > + press-threshold-microvolt = <300000>; > + }; > + }; > + > + cluster1_opp_ppp: opp-table1b { > + compatible = "operating-points-v2"; > + opp-shared; > + > + opp00 { > + opp-hz = /bits/ 64 <408000000>; > + opp-microvolt = <800000>; > + clock-latency-ns = <40000>; > + }; > + opp01 { > + opp-hz = /bits/ 64 <600000000>; > + opp-microvolt = <800000>; > + }; > + opp02 { > + opp-hz = /bits/ 64 <816000000>; > + opp-microvolt = <825000>; > + }; > + opp03 { > + opp-hz = /bits/ 64 <1008000000>; > + opp-microvolt = <875000>; > + }; > + opp04 { > + opp-hz = /bits/ 64 <1200000000>; > + opp-microvolt = <950000>; > + }; > + opp05 { > + opp-hz = /bits/ 64 <1416000000>; > + opp-microvolt = <1025000>; > + }; > + }; > + > + // Per "BACKLIGHT", page 16. > + backlight: backlight { > + compatible = "pwm-backlight"; > + pwms = <&pwm0 0 1000000 0>; > + pwm-delay-us = <10000>; > + }; > + > + // Per "RK3399 GPIO", page 11. > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&red_led_pin &green_led_pin &blue_led_pin>; > + > + led-standby { > + color = ; > + default-state = "off"; > + function = LED_FUNCTION_STANDBY; > + gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; > + label = "red:standby"; > + panic-indicator; > + retain-state-suspended; > + }; > + > + led-pwr { > + color = ; > + default-state = "on"; > + function = LED_FUNCTION_POWER; > + gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>; > + label = "green:disk-activity"; > + }; > + > + blue-charging { > + color = ; > + default-state = "off"; > + function = LED_FUNCTION_CHARGING; > + gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>; > + label = "blue:charging"; > + }; > + }; ^^ these are general indicator LEDs, they don't have a function marked on the chasis of the phone. > + gpio-key-power { > + compatible = "gpio-keys"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pwrbtn_pin>; > + > + power { > + debounce-interval = <20>; > + // Per "PMU Controler", page 4. > + gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; > + label = "Power"; > + linux,code = ; > + wakeup-source; > + }; > + }; > + > + sdio_pwrseq: sdio-pwrseq { > + compatible = "mmc-pwrseq-simple"; > + clocks = <&rk818 1>; > + clock-names = "ext_clock"; > + pinctrl-names = "default"; > + pinctrl-0 = <&wifi_enable_h>; > + post-power-on-delay-ms = <100>; > + power-off-delay-us = <500000>; > + > + /* WL_REG_ON on module */ > + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; > + }; > + > + vibrator { > + compatible = "gpio-vibrator"; > + // Per "GPIO", page 11. > + enable-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>; > + // Per "Motor", page 17. > + vcc-supply = <&vcc3v3_sys>; > + }; > + > + /* Power tree */ > + /* Root power source */ > + vcc_sysin: vcc-sysin { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_sysin"; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + vcc5v0_sys: vcc5v0-host-regulator { > + compatible = "regulator-fixed"; > + regulator-name = "vcc5v0_sys"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-always-on; > + regulator-boot-on; > + vin-supply = <&vcc_sysin>; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > + }; > + > + vcc5v0_typec: vcc5v0-typec-regulator { > + compatible = "regulator-fixed"; > + gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&vcc5v0_typec_en>; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-name = "vcc5v0_typec"; > + vin-supply = <&vcc5v0_sys>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > + }; ^^^ this is not a regulator and doesn't switch on VBUS supply for type-c port. That's done by the otg_switch > + /* Main 3.3v supply */ > + vcc3v3_sys: wifi_bat: vcc3v3-sys { > + compatible = "regulator-fixed"; > + regulator-name = "vcc3v3_sys"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + vin-supply = <&vcc_sysin>; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > + }; > + > + vcc1v8_codec: vcc1v8-codec-regulator { > + compatible = "regulator-fixed"; > + enable-active-high; > + gpio = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&vcc1v8_codec_en>; > + regulator-name = "vcc1v8_codec"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + vin-supply = <&vcc3v3_sys>; > + }; > + > + /* MIPI DSI panel 1.8v supply */ > + vcc1v8_lcd: vcc1v8-lcd { > + compatible = "regulator-fixed"; > + enable-active-high; > + regulator-name = "vcc1v8_lcd"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + vin-supply = <&vcc3v3_sys>; > + gpio = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&display_pwren1>; > + }; > + > + /* MIPI DSI panel 2.8v supply */ > + vcc2v8_lcd: vcc2v8-lcd { > + compatible = "regulator-fixed"; > + enable-active-high; > + regulator-name = "vcc2v8_lcd"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + vin-supply = <&vcc3v3_sys>; > + gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&display_pwren>; > + }; > + > + vcca1v8_s3: vcc1v8-s3 { > + compatible = "regulator-fixed"; > + regulator-name = "vcca1v8_s3"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + vin-supply = <&vcc3v3_sys>; > + regulator-always-on; > + regulator-boot-on; > + }; > +}; > + > +&cpu_l0 { > + cpu-supply = <&vdd_cpu_l>; > +}; > + > +&cpu_l1 { > + cpu-supply = <&vdd_cpu_l>; > +}; > + > +&cpu_l2 { > + cpu-supply = <&vdd_cpu_l>; > +}; > + > +&cpu_l3 { > + cpu-supply = <&vdd_cpu_l>; > +}; > + > +&cpu_b0 { > + cpu-supply = <&vdd_cpu_b>; > + operating-points-v2 = <&cluster1_opp_ppp>; > +}; > + > +&cpu_b1 { > + cpu-supply = <&vdd_cpu_b>; > + operating-points-v2 = <&cluster1_opp_ppp>; > +}; > + > +&emmc_phy { > + status = "okay"; > +}; > + > +&gpu { > + mali-supply = <&vdd_gpu>; > + status = "okay"; > +}; > + > +&i2c0 { > + // Per "SCL clock frequency", page 30, RK818 datasheet. > + clock-frequency = <400000>; > + i2c-scl-rising-time-ns = <168>; > + i2c-scl-falling-time-ns = <4>; > + status = "okay"; > + > + // Per "PMIC RK818-3", page 13. > + rk818: pmic@1c { > + compatible = "rockchip,rk818"; > + reg = <0x1c>; > + interrupt-parent = <&gpio1>; > + interrupts = ; > + #clock-cells = <1>; > + clock-output-names = "xin32k", "rk808-clkout2"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pmic_int_l>; > + rockchip,system-power-controller; > + wakeup-source; > + extcon = <&fusb0>; rk818 doesn't use extcon interface > + vcc1-supply = <&vcc_sysin>; > + vcc2-supply = <&vcc_sysin>; > + vcc3-supply = <&vcc_sysin>; > + vcc4-supply = <&vcc_sysin>; > + vcc6-supply = <&vcc_sysin>; > + vcc7-supply = <&vcc3v3_sys>; > + vcc8-supply = <&vcc_sysin>; > + vcc9-supply = <&vcc3v3_sys>; > + > + regulators { > + vdd_cpu_l: DCDC_REG1 { > + regulator-name = "vdd_cpu_l"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <1350000>; > + regulator-ramp-delay = <6001>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + vdd_center: DCDC_REG2 { > + regulator-name = "vdd_center"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <1350000>; > + regulator-ramp-delay = <6001>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + // DDR > + vcc_ddr: DCDC_REG3 { > + regulator-name = "vcc_ddr"; > + regulator-always-on; > + regulator-boot-on; > + regulator-state-mem { > + // Power RAM while suspended. > + regulator-on-in-suspend; > + }; > + }; > + > + vcc_1v8: vcc_wl: DCDC_REG4 { > + regulator-name = "vcc_1v8"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1800000>; > + }; > + }; > + > + // Audio codec. > + vcca3v0_codec: LDO_REG1 { > + regulator-name = "vcca3v0_codec"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + // Touch screen. > + vcc3v0_touch: LDO_REG2 { > + regulator-name = "vcc3v0_touch"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + vcca1v8_codec: LDO_REG3 { > + regulator-name = "vcca1v8_codec"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + vcc_power_on: LDO_REG4 { > + regulator-name = "vcc_power_on"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vcc_3v0: LDO_REG5 { > + regulator-name = "vcc_3v0"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3000000>; > + }; > + }; > + > + vcc_1v5: LDO_REG6 { > + regulator-name = "vcc_1v5"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1500000>; > + }; > + }; > + > + vcc1v8_dvp: LDO_REG7 { > + regulator-name = "vcc1v8_dvp"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + vcc3v3_s3: LDO_REG8 { > + regulator-name = "vcc3v3_s3"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + vccio_sd: LDO_REG9 { > + regulator-name = "vccio_sd"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vcc3v3_s0: SWITCH_REG { > + regulator-name = "vcc3v3_s0"; > + regulator-always-on; > + regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > + }; > + > + boost_otg: DCDC_BOOST { > + regulator-name = "boost_otg"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <5000000>; > + }; > + }; > + > + otg_switch: OTG_SWITCH { > + regulator-name = "otg_switch"; > + }; > + }; > + }; > + > + vdd_cpu_b: regulator@40 { > + compatible = "silergy,syr827"; > + reg = <0x40>; > + fcs,suspend-voltage-selector = <1>; > + pinctrl-names = "default"; > + pinctrl-0 = <&vsel1_pin>; > + regulator-name = "vdd_cpu_b"; > + regulator-min-microvolt = <712500>; > + regulator-max-microvolt = <1500000>; > + regulator-ramp-delay = <1000>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + vdd_gpu: regulator@41 { > + compatible = "silergy,syr828"; > + reg = <0x41>; > + fcs,suspend-voltage-selector = <1>; > + pinctrl-names = "default"; > + pinctrl-0 = <&vsel2_pin>; > + regulator-name = "vdd_gpu"; > + regulator-min-microvolt = <712500>; > + regulator-max-microvolt = <1500000>; > + regulator-ramp-delay = <1000>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > +}; > + > +&i2c1 { > + i2c-scl-rising-time-ns = <300>; > + i2c-scl-falling-time-ns = <15>; > + status = "okay"; > +}; > + > +&i2c3 { > + i2c-scl-rising-time-ns = <450>; > + i2c-scl-falling-time-ns = <15>; > + status = "okay"; > + > + // Per "Ambient Light", page 17. > + light-sensor@48 { > + compatible = "sensortek,stk3311"; > + reg = <0x48>; > + interrupt-parent = <&gpio4>; > + interrupts = ; > + pinctrl-names = "default"; > + pinctrl-0 = <&stk3311_int>; > + vdd-supply = <&vcc_3v0>; > + leda-supply = <&vcc_3v0>; > + }; > +}; > + > +&i2c4 { > + i2c-scl-rising-time-ns = <600>; > + i2c-scl-falling-time-ns = <20>; > + status = "okay"; > + > + // Per "TYPE-C", page 23. > + fusb0: typec-portc@22 { > + compatible = "fcs,fusb302"; > + reg = <0x22>; > + interrupt-parent = <&gpio1>; > + interrupts = ; > + pinctrl-names = "default"; > + pinctrl-0 = <&fusb0_int>; > + vbus-supply = <&vcc5v0_typec>; > + > + connector { > + compatible = "usb-c-connector"; > + data-role = "dual"; > + label = "USB-C"; > + op-sink-microwatt = <1000000>; > + power-role = "dual"; > + sink-pdos = > + ; > + source-pdos = > + ; > + try-power-role = "sink"; > + > + extcon-cables = <1 2 5 6 9 10 12 44>; > + typec-altmodes = <0xff01 1 0x001c0c00 1>; ^^^ these are not mainline bindings Mainline uses mode-switch / orientation-switch / usb-role-switch properties and altmodes node. Specified VDO (0x001c0c00) is also incorrect. And I don't think the phone can provide 1.4A at 5V (that would be 7W) VCC5V0_SYS can provide at most 2A and it's shared between modem, power amp for the speaker, and type-c VCONN which also has some power requirements (1W). > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + usbc_hs: endpoint { > + remote-endpoint = > + <&u2phy0_typec_hs>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + usbc_ss: endpoint { > + remote-endpoint = > + <&tcphy0_typec_ss>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + > + usbc_dp: endpoint { > + remote-endpoint = > + <&tcphy0_typec_dp>; > + }; > + }; > + }; > + }; > + }; > + > + // Per "Gyro", page 17. > + accelerometer@68 { > + compatible = "invensense,mpu6500"; > + reg = <0x68>; > + interrupt-parent = <&gpio1>; > + interrupts = ; > + vdd-supply = <&vcc_1v8>; > + vddio-supply = <&vcc_1v8>; > + > + mount-matrix = > + "1", "0", "0", > + "0", "-1", "0", > + "0", "0", "1"; > + }; > +}; > + > +&io_domains { > + status = "okay"; > + > + bt656-supply = <&vcc1v8_dvp>; > + audio-supply = <&vcca1v8_codec>; > + sdmmc-supply = <&vccio_sd>; > + gpio1830-supply = <&vcc_3v0>; > +}; > + > +&pmu_io_domains { > + pmu1830-supply = <&vcc_1v8>; > + status = "okay"; > +}; > + > +&pinctrl { > + bt { > + bt_enable_h: bt-enable-h { > + rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + > + bt_host_wake_l: bt-host-wake-l { > + rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + > + bt_wake_l: bt-wake-l { > + rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > + buttons { > + pwrbtn_pin: pwrbtn-pin { > + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > + }; > + > + fusb302x { > + fusb0_int: fusb0-int { > + rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > + }; > + > + leds { > + red_led_pin: red-led-pin { > + rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + > + green_led_pin: green-led-pin { > + rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + > + blue_led_pin: blue-led-pin { > + rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > + pmic { > + pmic_int_l: pmic-int-l { > + rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > + > + vsel1_pin: vsel1-pin { > + rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + > + vsel2_pin: vsel2-pin { > + rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + }; > + > + sdcard { > + sdmmc0_pwr_h: sdmmc0-pwr-h { > + rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + > + }; > + > + sdio-pwrseq { > + wifi_enable_h: wifi-enable-h { > + rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > + usb-typec { > + vcc5v0_typec_en: vcc5v0_typec_en { > + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > + }; > + > + dsi { > + display_rst_l: display-rst-l { > + rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + > + display_pwren: display-pwren { > + rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + > + display_pwren1: display-pwren1 { > + rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + }; > + > + stk3311 { > + stk3311_int: stk3311-int { > + rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > + }; > + > + sound { > + vcc1v8_codec_en: vcc1v8-codec-en { > + rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + }; > +}; > + > +&pwm0 { > + status = "okay"; > +}; > + > +&pwm1 { > + status = "okay"; > +}; > + > +&pwm2 { > + status = "okay"; > +}; > + > +// Per "SARADC", page 8. > +&saradc { > + vref-supply = <&vcca1v8_s3>; > + status = "okay"; > +}; > + > +&sdio0 { > + bus-width = <4>; > + cap-sd-highspeed; > + cap-sdio-irq; > + disable-wp; > + keep-power-in-suspend; > + mmc-pwrseq = <&sdio_pwrseq>; > + non-removable; > + pinctrl-names = "default"; > + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; > + sd-uhs-sdr104; > + status = "okay"; > +}; > + > +// Per "SDMMC Controler", page 6. > +&sdmmc { > + bus-width = <4>; > + cap-sd-highspeed; > + cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; > + disable-wp; > + max-frequency = <150000000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; > + vmmc-supply = <&vcc3v3_sys>; > + vqmmc-supply = <&vccio_sd>; > + status = "okay"; > +}; > + > +&sdhci { > + bus-width = <8>; > + mmc-hs200-1_8v; > + non-removable; > + status = "okay"; > +}; > + > +&tcphy0 { > + extcon = <&fusb0>; > + status = "okay"; > +}; ^^^ this does not work. fusb0 doesn't provide any extcon interface it only consumes one, just like tcphy0 > +&tcphy0_dp { > + port { > + tcphy0_typec_dp: endpoint { > + remote-endpoint = <&usbc_dp>; > + }; > + }; > +}; > + > +&tcphy0_usb3 { > + port { > + tcphy0_typec_ss: endpoint { > + remote-endpoint = <&usbc_ss>; > + }; > + }; > +}; > + > +// Enable thermal sensors. > +&tsadc { > + /* tshut mode 0:CRU 1:GPIO */ > + rockchip,hw-tshut-mode = <1>; > + /* tshut polarity 0:LOW 1:HIGH */ > + rockchip,hw-tshut-polarity = <1>; > + status = "okay"; > +}; > + > +&u2phy0 { > + status = "okay"; > + > + u2phy0_otg: otg-port { > + status = "okay"; > + }; > + > + u2phy0_host: host-port { > + status = "okay"; > + phy-supply = <&vcc5v0_sys>; > + }; > + > + port { > + u2phy0_typec_hs: endpoint { > + remote-endpoint = <&usbc_hs>; > + }; > + }; > +}; > + > +&u2phy1 { > + status = "okay"; > + > + u2phy1_otg: otg-port { > + status = "okay"; > + }; > + > + u2phy1_host: host-port { > + status = "okay"; > + phy-supply = <&vcc5v0_sys>; > + }; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; > + uart-has-rtscts; > + status = "okay"; > + > + // Per "WIFI/BT MODULE", page 19. > + bluetooth { > + compatible = "brcm,bcm4345c5"; > + clocks = <&rk818 1>; > + clock-names = "lpo"; > + device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>; > + host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; > + max-speed = <1500000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; > + shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; > + vbat-supply = <&wifi_bat>; > + vddio-supply = <&vcc_wl>; > + }; > +}; > + > +&uart2 { > + status = "okay"; > +}; > + > +&usb_host0_ehci { > + status = "okay"; > +}; > + > +&usb_host0_ohci { > + status = "okay"; > +}; > + > +&usb_host1_ehci { > + status = "okay"; > +}; > + > +&usb_host1_ohci { > + status = "okay"; > +}; > + > +&usbdrd3_0 { > + status = "okay"; > +}; > + > +&usbdrd_dwc3_0 { > + dr_mode = "peripheral"; > + status = "okay"; > +}; > + > +&vopb { > + status = "okay"; > +}; > + > +&vopb_mmu { > + status = "okay"; > +}; > + > +&vopl { > + status = "okay"; > +}; > + > +&vopl_mmu { > + status = "okay"; > +}; > -- > 2.36.0 >