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 9D22EC38A2D for ; Thu, 27 Oct 2022 09:49:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234815AbiJ0JtH (ORCPT ); Thu, 27 Oct 2022 05:49:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53654 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233968AbiJ0JtG (ORCPT ); Thu, 27 Oct 2022 05:49:06 -0400 X-Greylist: delayed 506 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Thu, 27 Oct 2022 02:49:04 PDT Received: from relay02.th.seeweb.it (relay02.th.seeweb.it [5.144.164.163]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C4A2963B2 for ; Thu, 27 Oct 2022 02:49:04 -0700 (PDT) Received: from [192.168.31.208] (unknown [194.29.137.22]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r1.th.seeweb.it (Postfix) with ESMTPSA id B95E420184; Thu, 27 Oct 2022 11:40:28 +0200 (CEST) Message-ID: <9ced2822-a9d2-2e59-fe40-6c6f690be487@somainline.org> Date: Thu, 27 Oct 2022 11:40:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: [PATCH 7/7] arm64: dts: mediatek: Add support for MT6795 Sony Xperia M5 smartphone To: AngeloGioacchino Del Regno , robh+dt@kernel.org Cc: krzysztof.kozlowski+dt@linaro.org, vkoul@kernel.org, chaotian.jing@mediatek.com, ulf.hansson@linaro.org, matthias.bgg@gmail.com, hsinyi@chromium.org, nfraprado@collabora.com, allen-kh.cheng@mediatek.com, fparent@baylibre.com, sam.shih@mediatek.com, sean.wang@mediatek.com, long.cheng@mediatek.com, wenbin.mei@mediatek.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht References: <20220729104441.39177-1-angelogioacchino.delregno@collabora.com> <20220729104441.39177-8-angelogioacchino.delregno@collabora.com> <17139e24-d33c-8240-cd4a-d87fb3b29276@collabora.com> From: Konrad Dybcio In-Reply-To: <17139e24-d33c-8240-cd4a-d87fb3b29276@collabora.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org On 27/10/2022 11:28, AngeloGioacchino Del Regno wrote: > Il 29/07/22 14:00, Konrad Dybcio ha scritto: >> >> >> On 29.07.2022 12:44, AngeloGioacchino Del Regno wrote: >>> Add a basic support for the Sony Xperia M5 (codename "Holly") >>> smartphone, powered by a MediaTek Helio X10 SoC. >>> >>> This achieves a console boot. >>> >>> Signed-off-by: AngeloGioacchino Del Regno >>> > > Hello Konrad, > First of all, I'm sorry for the very late reply. > >>> --- >>>   arch/arm64/boot/dts/mediatek/Makefile         |  1 + >>>   .../dts/mediatek/mt6795-sony-xperia-m5.dts    | 90 >>> +++++++++++++++++++ >>>   2 files changed, 91 insertions(+) >>>   create mode 100644 >>> arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts >>> >>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile >>> b/arch/arm64/boot/dts/mediatek/Makefile >>> index af362a085a02..72fd683c9264 100644 >>> --- a/arch/arm64/boot/dts/mediatek/Makefile >>> +++ b/arch/arm64/boot/dts/mediatek/Makefile >>> @@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt2712-evb.dtb >>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb >>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6779-evb.dtb >>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb >>> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-sony-xperia-m5.dtb >> -holly.dtb? >> > > I prefer using the commercial name to identify the device. > "Holly" is the smartphone project codename and that is mentioned > almost nowhere: > the aim here is to enhance readability as to make it immediately > understandable > that this devicetree is for the Xperia M5 device. Ok, sounds good. > >>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb >>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb >>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb >>> diff --git a/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts >>> b/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts >>> new file mode 100644 >>> index 000000000000..94d011c4126c >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts >>> @@ -0,0 +1,90 @@ >>> +// SPDX-License-Identifier: GPL-2.0-only >>> +/* >>> + * Copyright (c) 2022, Collabora Ltd >>> + * Author: AngeloGioacchino Del Regno >>> >>> + */ >>> + >>> +/dts-v1/; >>> +#include "mt6795.dtsi" >>> + >>> +#include >> Looks unused. >> > > Right, I'll remove that in v2. > >>> + >>> +/ { >>> +    model = "Sony Xperia M5"; >>> +    compatible = "sony,xperia-m5", "mediatek,mt6795"; >> sony,holly? >> > > I'm sorry, but I can't understand the sense of adding that compatible > string to > the mix. To the kernel, it doesn't mean anything - and we already have > another > string advertising the specific machine, which is "sony,xperia-m5". I was suggesting replacing xperia-m5 with holly, but since we agreed on keeping m5 in the dtb name, I suppose it's fine for this one to stay too. > > Of course, there is no Xperia M5 with a different SoC and, even if > there was a > xperia-m5 with a different SoC, we anyway have both a machine > compatible and a > SoC compatible in here, so that would still not pose any issue. > >>> +    chassis-type = "handset"; >>> + >>> +    aliases { >>> +        mmc0 = &mmc0; >>> +        mmc1 = &mmc1; >>> +        serial0 = &uart0; >>> +        serial1 = &uart1; >>> +    }; >>> + >>> +    memory@40000000 { >>> +        device_type = "memory"; >>> +        reg = <0 0x40000000 0 0x1E800000>; >> Lowercase hex in size. Also, doesn't the bootloader fill it in? >> > > Updating the device to the latest software version will give you a > bootloader > that fills that in, but the first-ever software release contains one > that will > not do that in particular conditions (fastboot boot). Ugh. If only vendors tested their software before shipping it to users.. I think it's worth to adding a comment mentioning that, though. > >>> +    }; >>> + >>> +    reserved_memory: reserved-memory { >>> +        #address-cells = <2>; >>> +        #size-cells = <2>; >>> +        ranges; >>> + >>> +        /* 128 KiB reserved for ARM Trusted Firmware (BL31) */ >> Is that true for all devices with this SoC, or..? If so, it may be worth >> moving this into mt6795.dtsi. >> >>> +        bl31_secmon_reserved: secmon@43000000 { >> memory@, everywhere. Use labels to name the nodes. >> > > I'm afraid that's not possible, as the bootloader is reading the > devicetree > and requires these nodes to follow this naming. Wow that's bad.. probably deserves a comment to prevent 'cleanups' breaking this. Konrad > >>> +            no-map; >> reg goes first. > > Will fix in v2. > > Best regards, > Angelo > > 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 EED9EC38A2D for ; Thu, 27 Oct 2022 09:41: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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=U1Af2Wb8ZbyhTB+Su1/fWCzqmNNa3/duj14gBUsuQIA=; b=jI9cdE2jj8loCT ouNus8pFYIS5GKb6/ONkbQ6DRGGCr3lfzwmT2T30CTlTI0qH2Fc+ihx1FM5uc0Uoea800ujVenA+7 ZqMHm3bgqRYvMJTuVYSW0gKdAjyer2G1HCil3S2yt0GAkbgAf6/ITyR7vJAWVNAH78bAvHl8ITKt0 H26cJpvspLD1lSiuumS+jRqzOU4JMOXKZ8RUmke1cUIRLuOoTr5fJcQEUmFhEnq0TY9DHRBGBtnK5 GT7yj2inbL7zJo0VJT9abH5eMQH/X2pwrYxSmpbAaHTHhGD0ncqmO5me04dK1qesCkIVuAUvD208W upHGO4OlQYjOUaUSKxUw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1onzNS-00CdBa-Lb; Thu, 27 Oct 2022 09:40:42 +0000 Received: from relay01.th.seeweb.it ([5.144.164.162]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1onzNP-00Cd8g-09 for linux-arm-kernel@lists.infradead.org; Thu, 27 Oct 2022 09:40:41 +0000 Received: from [192.168.31.208] (unknown [194.29.137.22]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r1.th.seeweb.it (Postfix) with ESMTPSA id B95E420184; Thu, 27 Oct 2022 11:40:28 +0200 (CEST) Message-ID: <9ced2822-a9d2-2e59-fe40-6c6f690be487@somainline.org> Date: Thu, 27 Oct 2022 11:40:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: [PATCH 7/7] arm64: dts: mediatek: Add support for MT6795 Sony Xperia M5 smartphone To: AngeloGioacchino Del Regno , robh+dt@kernel.org Cc: krzysztof.kozlowski+dt@linaro.org, vkoul@kernel.org, chaotian.jing@mediatek.com, ulf.hansson@linaro.org, matthias.bgg@gmail.com, hsinyi@chromium.org, nfraprado@collabora.com, allen-kh.cheng@mediatek.com, fparent@baylibre.com, sam.shih@mediatek.com, sean.wang@mediatek.com, long.cheng@mediatek.com, wenbin.mei@mediatek.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht References: <20220729104441.39177-1-angelogioacchino.delregno@collabora.com> <20220729104441.39177-8-angelogioacchino.delregno@collabora.com> <17139e24-d33c-8240-cd4a-d87fb3b29276@collabora.com> From: Konrad Dybcio In-Reply-To: <17139e24-d33c-8240-cd4a-d87fb3b29276@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221027_024039_425282_544F45FC X-CRM114-Status: GOOD ( 29.89 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIDI3LzEwLzIwMjIgMTE6MjgsIEFuZ2Vsb0dpb2FjY2hpbm8gRGVsIFJlZ25vIHdyb3RlOgo+ IElsIDI5LzA3LzIyIDE0OjAwLCBLb25yYWQgRHliY2lvIGhhIHNjcml0dG86Cj4+Cj4+Cj4+IE9u IDI5LjA3LjIwMjIgMTI6NDQsIEFuZ2Vsb0dpb2FjY2hpbm8gRGVsIFJlZ25vIHdyb3RlOgo+Pj4g QWRkIGEgYmFzaWMgc3VwcG9ydCBmb3IgdGhlIFNvbnkgWHBlcmlhIE01IChjb2RlbmFtZSAiSG9s bHkiKQo+Pj4gc21hcnRwaG9uZSwgcG93ZXJlZCBieSBhIE1lZGlhVGVrIEhlbGlvIFgxMCBTb0Mu Cj4+Pgo+Pj4gVGhpcyBhY2hpZXZlcyBhIGNvbnNvbGUgYm9vdC4KPj4+Cj4+PiBTaWduZWQtb2Zm LWJ5OiBBbmdlbG9HaW9hY2NoaW5vIERlbCBSZWdubyAKPj4+IDxhbmdlbG9naW9hY2NoaW5vLmRl bHJlZ25vQGNvbGxhYm9yYS5jb20+Cj4KPiBIZWxsbyBLb25yYWQsCj4gRmlyc3Qgb2YgYWxsLCBJ J20gc29ycnkgZm9yIHRoZSB2ZXJ5IGxhdGUgcmVwbHkuCj4KPj4+IC0tLQo+Pj4gwqAgYXJjaC9h cm02NC9ib290L2R0cy9tZWRpYXRlay9NYWtlZmlsZcKgwqDCoMKgwqDCoMKgwqAgfMKgIDEgKwo+ Pj4gwqAgLi4uL2R0cy9tZWRpYXRlay9tdDY3OTUtc29ueS14cGVyaWEtbTUuZHRzwqDCoMKgIHwg OTAgCj4+PiArKysrKysrKysrKysrKysrKysrCj4+PiDCoCAyIGZpbGVzIGNoYW5nZWQsIDkxIGlu c2VydGlvbnMoKykKPj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCAKPj4+IGFyY2gvYXJtNjQvYm9v dC9kdHMvbWVkaWF0ZWsvbXQ2Nzk1LXNvbnkteHBlcmlhLW01LmR0cwo+Pj4KPj4+IGRpZmYgLS1n aXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlhdGVrL01ha2VmaWxlIAo+Pj4gYi9hcmNoL2Fy bTY0L2Jvb3QvZHRzL21lZGlhdGVrL01ha2VmaWxlCj4+PiBpbmRleCBhZjM2MmEwODVhMDIuLjcy ZmQ2ODNjOTI2NCAxMDA2NDQKPj4+IC0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvbWVkaWF0ZWsv TWFrZWZpbGUKPj4+ICsrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvbWVkaWF0ZWsvTWFrZWZpbGUK Pj4+IEBAIC0zLDYgKzMsNyBAQCBkdGItJChDT05GSUdfQVJDSF9NRURJQVRFSykgKz0gbXQyNzEy LWV2Yi5kdGIKPj4+IMKgIGR0Yi0kKENPTkZJR19BUkNIX01FRElBVEVLKSArPSBtdDY3NTUtZXZi LmR0Ygo+Pj4gwqAgZHRiLSQoQ09ORklHX0FSQ0hfTUVESUFURUspICs9IG10Njc3OS1ldmIuZHRi Cj4+PiDCoCBkdGItJChDT05GSUdfQVJDSF9NRURJQVRFSykgKz0gbXQ2Nzk1LWV2Yi5kdGIKPj4+ ICtkdGItJChDT05GSUdfQVJDSF9NRURJQVRFSykgKz0gbXQ2Nzk1LXNvbnkteHBlcmlhLW01LmR0 Ygo+PiAtaG9sbHkuZHRiPwo+Pgo+Cj4gSSBwcmVmZXIgdXNpbmcgdGhlIGNvbW1lcmNpYWwgbmFt ZSB0byBpZGVudGlmeSB0aGUgZGV2aWNlLgo+ICJIb2xseSIgaXMgdGhlIHNtYXJ0cGhvbmUgcHJv amVjdCBjb2RlbmFtZSBhbmQgdGhhdCBpcyBtZW50aW9uZWQgCj4gYWxtb3N0IG5vd2hlcmU6Cj4g dGhlIGFpbSBoZXJlIGlzIHRvIGVuaGFuY2UgcmVhZGFiaWxpdHkgYXMgdG8gbWFrZSBpdCBpbW1l ZGlhdGVseSAKPiB1bmRlcnN0YW5kYWJsZQo+IHRoYXQgdGhpcyBkZXZpY2V0cmVlIGlzIGZvciB0 aGUgWHBlcmlhIE01IGRldmljZS4KCk9rLCBzb3VuZHMgZ29vZC4KCgo+Cj4+PiDCoCBkdGItJChD T05GSUdfQVJDSF9NRURJQVRFSykgKz0gbXQ2Nzk3LWV2Yi5kdGIKPj4+IMKgIGR0Yi0kKENPTkZJ R19BUkNIX01FRElBVEVLKSArPSBtdDY3OTcteDIwLWRldi5kdGIKPj4+IMKgIGR0Yi0kKENPTkZJ R19BUkNIX01FRElBVEVLKSArPSBtdDc2MjItcmZiMS5kdGIKPj4+IGRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2Jvb3QvZHRzL21lZGlhdGVrL210Njc5NS1zb255LXhwZXJpYS1tNS5kdHMgCj4+PiBi L2FyY2gvYXJtNjQvYm9vdC9kdHMvbWVkaWF0ZWsvbXQ2Nzk1LXNvbnkteHBlcmlhLW01LmR0cwo+ Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uOTRkMDExYzQx MjZjCj4+PiAtLS0gL2Rldi9udWxsCj4+PiArKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlh dGVrL210Njc5NS1zb255LXhwZXJpYS1tNS5kdHMKPj4+IEBAIC0wLDAgKzEsOTAgQEAKPj4+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4+PiArLyoKPj4+ICsgKiBD b3B5cmlnaHQgKGMpIDIwMjIsIENvbGxhYm9yYSBMdGQKPj4+ICsgKiBBdXRob3I6IEFuZ2Vsb0dp b2FjY2hpbm8gRGVsIFJlZ25vIAo+Pj4gPGFuZ2Vsb2dpb2FjY2hpbm8uZGVscmVnbm9AY29sbGFi b3JhLmNvbT4KPj4+ICsgKi8KPj4+ICsKPj4+ICsvZHRzLXYxLzsKPj4+ICsjaW5jbHVkZSAibXQ2 Nzk1LmR0c2kiCj4+PiArCj4+PiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2dwaW8vZ3Bpby5oPgo+ PiBMb29rcyB1bnVzZWQuCj4+Cj4KPiBSaWdodCwgSSdsbCByZW1vdmUgdGhhdCBpbiB2Mi4KPgo+ Pj4gKwo+Pj4gKy8gewo+Pj4gK8KgwqDCoCBtb2RlbCA9ICJTb255IFhwZXJpYSBNNSI7Cj4+PiAr wqDCoMKgIGNvbXBhdGlibGUgPSAic29ueSx4cGVyaWEtbTUiLCAibWVkaWF0ZWssbXQ2Nzk1IjsK Pj4gc29ueSxob2xseT8KPj4KPgo+IEknbSBzb3JyeSwgYnV0IEkgY2FuJ3QgdW5kZXJzdGFuZCB0 aGUgc2Vuc2Ugb2YgYWRkaW5nIHRoYXQgY29tcGF0aWJsZSAKPiBzdHJpbmcgdG8KPiB0aGUgbWl4 LiBUbyB0aGUga2VybmVsLCBpdCBkb2Vzbid0IG1lYW4gYW55dGhpbmcgLSBhbmQgd2UgYWxyZWFk eSBoYXZlIAo+IGFub3RoZXIKPiBzdHJpbmcgYWR2ZXJ0aXNpbmcgdGhlIHNwZWNpZmljIG1hY2hp bmUsIHdoaWNoIGlzICJzb255LHhwZXJpYS1tNSIuCgpJIHdhcyBzdWdnZXN0aW5nIHJlcGxhY2lu ZyB4cGVyaWEtbTUgd2l0aCBob2xseSwgYnV0IHNpbmNlIHdlIGFncmVlZCBvbiAKa2VlcGluZwoK bTUgaW4gdGhlIGR0YiBuYW1lLCBJIHN1cHBvc2UgaXQncyBmaW5lIGZvciB0aGlzIG9uZSB0byBz dGF5IHRvby4KCgo+Cj4gT2YgY291cnNlLCB0aGVyZSBpcyBubyBYcGVyaWEgTTUgd2l0aCBhIGRp ZmZlcmVudCBTb0MgYW5kLCBldmVuIGlmIAo+IHRoZXJlIHdhcyBhCj4geHBlcmlhLW01IHdpdGgg YSBkaWZmZXJlbnQgU29DLCB3ZSBhbnl3YXkgaGF2ZSBib3RoIGEgbWFjaGluZSAKPiBjb21wYXRp YmxlIGFuZCBhCj4gU29DIGNvbXBhdGlibGUgaW4gaGVyZSwgc28gdGhhdCB3b3VsZCBzdGlsbCBu b3QgcG9zZSBhbnkgaXNzdWUuCj4KPj4+ICvCoMKgwqAgY2hhc3Npcy10eXBlID0gImhhbmRzZXQi Owo+Pj4gKwo+Pj4gK8KgwqDCoCBhbGlhc2VzIHsKPj4+ICvCoMKgwqDCoMKgwqDCoCBtbWMwID0g Jm1tYzA7Cj4+PiArwqDCoMKgwqDCoMKgwqAgbW1jMSA9ICZtbWMxOwo+Pj4gK8KgwqDCoMKgwqDC oMKgIHNlcmlhbDAgPSAmdWFydDA7Cj4+PiArwqDCoMKgwqDCoMKgwqAgc2VyaWFsMSA9ICZ1YXJ0 MTsKPj4+ICvCoMKgwqAgfTsKPj4+ICsKPj4+ICvCoMKgwqAgbWVtb3J5QDQwMDAwMDAwIHsKPj4+ ICvCoMKgwqDCoMKgwqDCoCBkZXZpY2VfdHlwZSA9ICJtZW1vcnkiOwo+Pj4gK8KgwqDCoMKgwqDC oMKgIHJlZyA9IDwwIDB4NDAwMDAwMDAgMCAweDFFODAwMDAwPjsKPj4gTG93ZXJjYXNlIGhleCBp biBzaXplLiBBbHNvLCBkb2Vzbid0IHRoZSBib290bG9hZGVyIGZpbGwgaXQgaW4/Cj4+Cj4KPiBV cGRhdGluZyB0aGUgZGV2aWNlIHRvIHRoZSBsYXRlc3Qgc29mdHdhcmUgdmVyc2lvbiB3aWxsIGdp dmUgeW91IGEgCj4gYm9vdGxvYWRlcgo+IHRoYXQgZmlsbHMgdGhhdCBpbiwgYnV0IHRoZSBmaXJz dC1ldmVyIHNvZnR3YXJlIHJlbGVhc2UgY29udGFpbnMgb25lIAo+IHRoYXQgd2lsbAo+IG5vdCBk byB0aGF0IGluIHBhcnRpY3VsYXIgY29uZGl0aW9ucyAoZmFzdGJvb3QgYm9vdCkuCgpVZ2guIElm IG9ubHkgdmVuZG9ycyB0ZXN0ZWQgdGhlaXIgc29mdHdhcmUgYmVmb3JlIHNoaXBwaW5nIGl0IHRv IHVzZXJzLi4KCkkgdGhpbmsgaXQncyB3b3J0aCB0byBhZGRpbmcgYSBjb21tZW50IG1lbnRpb25p bmcgdGhhdCwgdGhvdWdoLgoKCj4KPj4+ICvCoMKgwqAgfTsKPj4+ICsKPj4+ICvCoMKgwqAgcmVz ZXJ2ZWRfbWVtb3J5OiByZXNlcnZlZC1tZW1vcnkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgICNhZGRy ZXNzLWNlbGxzID0gPDI+Owo+Pj4gK8KgwqDCoMKgwqDCoMKgICNzaXplLWNlbGxzID0gPDI+Owo+ Pj4gK8KgwqDCoMKgwqDCoMKgIHJhbmdlczsKPj4+ICsKPj4+ICvCoMKgwqDCoMKgwqDCoCAvKiAx MjggS2lCIHJlc2VydmVkIGZvciBBUk0gVHJ1c3RlZCBGaXJtd2FyZSAoQkwzMSkgKi8KPj4gSXMg dGhhdCB0cnVlIGZvciBhbGwgZGV2aWNlcyB3aXRoIHRoaXMgU29DLCBvci4uPyBJZiBzbywgaXQg bWF5IGJlIHdvcnRoCj4+IG1vdmluZyB0aGlzIGludG8gbXQ2Nzk1LmR0c2kuCj4+Cj4+PiArwqDC oMKgwqDCoMKgwqAgYmwzMV9zZWNtb25fcmVzZXJ2ZWQ6IHNlY21vbkA0MzAwMDAwMCB7Cj4+IG1l bW9yeUAsIGV2ZXJ5d2hlcmUuIFVzZSBsYWJlbHMgdG8gbmFtZSB0aGUgbm9kZXMuCj4+Cj4KPiBJ J20gYWZyYWlkIHRoYXQncyBub3QgcG9zc2libGUsIGFzIHRoZSBib290bG9hZGVyIGlzIHJlYWRp bmcgdGhlIAo+IGRldmljZXRyZWUKPiBhbmQgcmVxdWlyZXMgdGhlc2Ugbm9kZXMgdG8gZm9sbG93 IHRoaXMgbmFtaW5nLgoKV293IHRoYXQncyBiYWQuLiBwcm9iYWJseSBkZXNlcnZlcyBhIGNvbW1l bnQgdG8gcHJldmVudCAnY2xlYW51cHMnIApicmVha2luZyB0aGlzLgoKCktvbnJhZAoKPgo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbm8tbWFwOwo+PiByZWcgZ29lcyBmaXJzdC4KPgo+IFdp bGwgZml4IGluIHYyLgo+Cj4gQmVzdCByZWdhcmRzLAo+IEFuZ2Vsbwo+Cj4KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFp bGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK