From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 52BD77B for ; Thu, 30 Jun 2022 00:10:22 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C97271480; Wed, 29 Jun 2022 17:10:16 -0700 (PDT) Received: from slackpad.lan (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8D40C3F5A1; Wed, 29 Jun 2022 17:10:14 -0700 (PDT) Date: Thu, 30 Jun 2022 01:08:23 +0100 From: Andre Przywara To: Jernej =?UTF-8?B?xaBrcmFiZWM=?= Cc: Samuel Holland , Chen-Yu Tsai , Rob Herring , Krzysztof Kozlowski , Icenowy Zheng , linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v11 5/6] arm64: dts: allwinner: h616: Add OrangePi Zero 2 board support Message-ID: <20220630010823.3935caf6@slackpad.lan> In-Reply-To: <7374416.EvYhyI6sBW@kista> References: <20220428230933.15262-1-andre.przywara@arm.com> <20220428230933.15262-6-andre.przywara@arm.com> <7374416.EvYhyI6sBW@kista> Organization: Arm Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.31; x86_64-slackware-linux-gnu) Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, 03 May 2022 21:41:21 +0200 Jernej =C5=A0krabec wrote: Hi Jernej, > Dne petek, 29. april 2022 ob 01:09:32 CEST je Andre Przywara napisal(a): > > The OrangePi Zero 2 is a development board with the new H616 SoC. It > > comes with the following features: > > - Four ARM Cortex-A53 cores, Mali-G31 MP2 GPU > > - 512MiB/1GiB DDR3 DRAM > > - AXP305 PMIC > > - Raspberry-Pi-1 compatible GPIO header > > - extra 13 pin expansion header, exposing pins for 2x USB 2.0 ports > > - 1 USB 2.0 host port > > - 1 USB 2.0 type C port (power supply + OTG) > > - MicroSD slot > > - on-board 2MiB bootable SPI NOR flash > > - 1Gbps Ethernet port (via RTL8211F PHY) > > - micro-HDMI port > > - unsupported Allwinner WiFi/BT chip > >=20 > > For more details see: https://linux-sunxi.org/Orange_Pi_Zero_2 =20 >=20 > Please no external links. Shame. I understand the reasons behind that, but this source is rather stable (more so than some LKML archives ;-), and I copied the actual important information. But well, I guess people have to put it in their search engine and hope it doesn't drop them to the vendor's website ;-) > >=20 > > Signed-off-by: Andre Przywara > > --- > > arch/arm64/boot/dts/allwinner/Makefile | 1 + > > .../allwinner/sun50i-h616-orangepi-zero2.dts | 203 ++++++++++++++++++ > > 2 files changed, 204 insertions(+) > > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-= =20 > zero2.dts > >=20 > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/d= ts/ =20 > allwinner/Makefile > > index 8fa5c060a4fe..df2214e6d946 100644 > > --- a/arch/arm64/boot/dts/allwinner/Makefile > > +++ b/arch/arm64/boot/dts/allwinner/Makefile > > @@ -38,3 +38,4 @@ dtb-$(CONFIG_ARCH_SUNXI) +=3D sun50i-h6-pine-h64.dtb > > dtb-$(CONFIG_ARCH_SUNXI) +=3D sun50i-h6-pine-h64-model-b.dtb > > dtb-$(CONFIG_ARCH_SUNXI) +=3D sun50i-h6-tanix-tx6.dtb > > dtb-$(CONFIG_ARCH_SUNXI) +=3D sun50i-h6-tanix-tx6-mini.dtb > > +dtb-$(CONFIG_ARCH_SUNXI) +=3D sun50i-h616-orangepi-zero2.dtb > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.d= ts b/ =20 > arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts > > new file mode 100644 > > index 000000000000..ca07cae698ce > > --- /dev/null > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts > > @@ -0,0 +1,203 @@ > > +// SPDX-License-Identifier: (GPL-2.0+ or MIT) > > +/* > > + * Copyright (C) 2020 Arm Ltd. =20 >=20 > 2022? Mmh, but why? I wrote this in 2020, and it was published the first time that year[1]. If the copyright year means anything, by my understanding it should cover the earliest publication date, to establish the license conditions over every copy out there. [1] https://lore.kernel.org/linux-arm-kernel/20201202135409.13683-8-andre.przyw= ara@arm.com/ >=20 > > + */ > > + > > +/dts-v1/; > > + > > +#include "sun50i-h616.dtsi" > > + > > +#include > > +#include > > +#include > > + > > +/ { > > + model =3D "OrangePi Zero2"; > > + compatible =3D "xunlong,orangepi-zero2", "allwinner,sun50i-h616"; > > + > > + aliases { > > + ethernet0 =3D &emac0; > > + serial0 =3D &uart0; > > + }; > > + > > + chosen { > > + stdout-path =3D "serial0:115200n8"; > > + }; > > + > > + leds { > > + compatible =3D "gpio-leds"; > > + > > + led-0 { > > + function =3D LED_FUNCTION_POWER; > > + color =3D ; > > + gpios =3D <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 =20 > */ > > + default-state =3D "on"; > > + }; > > + > > + led-1 { > > + function =3D LED_FUNCTION_STATUS; > > + color =3D ; > > + gpios =3D <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 =20 > */ > > + }; > > + }; > > + > > + reg_vcc5v: vcc5v { > > + /* board wide 5V supply directly from the USB-C socket =20 > */ > > + compatible =3D "regulator-fixed"; > > + regulator-name =3D "vcc-5v"; > > + regulator-min-microvolt =3D <5000000>; > > + regulator-max-microvolt =3D <5000000>; > > + regulator-always-on; > > + }; > > +}; > > + > > +&emac0 { > > + pinctrl-names =3D "default"; > > + pinctrl-0 =3D <&ext_rgmii_pins>; > > + phy-mode =3D "rgmii"; > > + phy-handle =3D <&ext_rgmii_phy>; > > + phy-supply =3D <®_dcdce>; > > + allwinner,rx-delay-ps =3D <3100>; > > + allwinner,tx-delay-ps =3D <700>; > > + status =3D "okay"; > > +}; > > + > > +&mdio0 { > > + ext_rgmii_phy: ethernet-phy@1 { > > + compatible =3D "ethernet-phy-ieee802.3-c22"; > > + reg =3D <1>; > > + }; > > +}; > > + > > +&mmc0 { > > + vmmc-supply =3D <®_dcdce>; > > + cd-gpios =3D <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ > > + bus-width =3D <4>; > > + status =3D "okay"; > > +}; > > + > > +&r_rsb { > > + status =3D "okay"; > > + > > + axp305: pmic@745 { > > + compatible =3D "x-powers,axp305", "x-powers,axp805", > > + "x-powers,axp806"; > > + interrupt-controller; > > + #interrupt-cells =3D <1>; > > + reg =3D <0x745>; > > + > > + x-powers,self-working-mode; > > + vina-supply =3D <®_vcc5v>; > > + vinb-supply =3D <®_vcc5v>; > > + vinc-supply =3D <®_vcc5v>; > > + vind-supply =3D <®_vcc5v>; > > + vine-supply =3D <®_vcc5v>; > > + aldoin-supply =3D <®_vcc5v>; > > + bldoin-supply =3D <®_vcc5v>; > > + cldoin-supply =3D <®_vcc5v>; > > + > > + regulators { > > + reg_aldo1: aldo1 { > > + regulator-always-on; > > + regulator-min-microvolt =3D =20 > <3300000>; > > + regulator-max-microvolt =3D =20 > <3300000>; > > + regulator-name =3D "vcc-sys"; > > + }; > > + > > + reg_aldo2: aldo2 { /* 3.3V on headers =20 > */ > > + regulator-always-on; > > + regulator-min-microvolt =3D =20 > <3300000>; > > + regulator-max-microvolt =3D =20 > <3300000>; > > + regulator-name =3D "vcc3v3-ext"; > > + }; > > + > > + reg_aldo3: aldo3 { /* 3.3V on headers =20 > */ > > + regulator-always-on; > > + regulator-min-microvolt =3D =20 > <3300000>; > > + regulator-max-microvolt =3D =20 > <3300000>; > > + regulator-name =3D "vcc3v3-ext2"; > > + }; > > + > > + reg_bldo1: bldo1 { > > + regulator-always-on; > > + regulator-min-microvolt =3D =20 > <1800000>; > > + regulator-max-microvolt =3D =20 > <1800000>; > > + regulator-name =3D "vcc1v8"; > > + }; > > + > > + bldo2 { > > + /* unused */ > > + }; > > + > > + bldo3 { > > + /* unused */ > > + }; > > + > > + bldo4 { > > + /* unused */ > > + }; > > + > > + cldo1 { > > + /* reserved */ > > + }; > > + > > + cldo2 { > > + /* unused */ > > + }; > > + > > + cldo3 { > > + /* unused */ > > + }; > > + > > + reg_dcdca: dcdca { > > + regulator-always-on; > > + regulator-min-microvolt =3D =20 > <810000>; > > + regulator-max-microvolt =3D =20 > <1080000>; > > + regulator-name =3D "vdd-cpu"; > > + }; > > + > > + reg_dcdcc: dcdcc { > > + regulator-always-on; > > + regulator-min-microvolt =3D =20 > <810000>; > > + regulator-max-microvolt =3D =20 > <1080000>; > > + regulator-name =3D "vdd-gpu-sys"; > > + }; > > + > > + reg_dcdcd: dcdcd { > > + regulator-always-on; > > + regulator-min-microvolt =3D =20 > <1500000>; > > + regulator-max-microvolt =3D =20 > <1500000>; > > + regulator-name =3D "vdd-dram"; > > + }; > > + > > + reg_dcdce: dcdce { > > + regulator-boot-on; =20 >=20 > As discussed in the past, this will cause reboot issues because Linux wil= l=20 > turn down above regulator and thus SD card will stop working. This should= be=20 > always on. >=20 > And please add pio regulators, this is something we always add later... Sure, thanks for the heads up, will do. Cheers, Andre >=20 > Best regards, > Jernej >=20 > > + regulator-min-microvolt =3D =20 > <3300000>; > > + regulator-max-microvolt =3D =20 > <3300000>; > > + regulator-name =3D "vcc-eth-mmc"; > > + }; > > + > > + sw { > > + /* unused */ > > + }; > > + }; > > + }; > > +}; > > + > > +&spi0 { > > + status =3D "okay"; > > + > > + flash@0 { > > + #address-cells =3D <1>; > > + #size-cells =3D <1>; > > + compatible =3D "jedec,spi-nor"; > > + reg =3D <0>; > > + spi-max-frequency =3D <40000000>; > > + }; > > +}; > > + > > +&uart0 { > > + pinctrl-names =3D "default"; > > + pinctrl-0 =3D <&uart0_ph_pins>; > > + status =3D "okay"; > > +}; > > --=20 > > 2.35.3 > >=20 > > =20 >=20 >=20 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 1E115C43334 for ; Thu, 30 Jun 2022 00:11:35 +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:MIME-Version:References:In-Reply-To: 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=NOELpW82HyEOG5zrc6QXo2mq2fDip1yqUAnmSHkN37M=; b=SsVeFLEUM72dkp ZgOAWJvQvYCfUEVKsQAoo3DoCT1NK8vVAbdc1/vUct5qwASj6+DyXVIH2zN+E+aA8n8DuEAgtD1TA CTk5bKRdXz4PYlWFxU229e0A0cQCAiptu8gsnjySO3jd4q156hm2F7nfmTFPmibZvJdhKITNt73dU YiY0Q9hdmvSa1dOVzjwJ/lrEOp/6SajSpcIKITAqY/92Fz0z12WEyfZCNE9orNwNHpY/LiUGzWTQC +XX+SyUdmnUKmQe7Lh0rv9MqNSCdsljTDDbkADSj1HdqTylDptTpFI1iyqxr6uPYopyNm+4QEDWML EJriCsqWHRe2ErT05rPA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o6hlN-00EWol-4l; Thu, 30 Jun 2022 00:10:29 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o6hlI-00EWnn-IZ for linux-arm-kernel@lists.infradead.org; Thu, 30 Jun 2022 00:10:27 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C97271480; Wed, 29 Jun 2022 17:10:16 -0700 (PDT) Received: from slackpad.lan (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8D40C3F5A1; Wed, 29 Jun 2022 17:10:14 -0700 (PDT) Date: Thu, 30 Jun 2022 01:08:23 +0100 From: Andre Przywara To: Jernej =?UTF-8?B?xaBrcmFiZWM=?= Cc: Samuel Holland , Chen-Yu Tsai , Rob Herring , Krzysztof Kozlowski , Icenowy Zheng , linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v11 5/6] arm64: dts: allwinner: h616: Add OrangePi Zero 2 board support Message-ID: <20220630010823.3935caf6@slackpad.lan> In-Reply-To: <7374416.EvYhyI6sBW@kista> References: <20220428230933.15262-1-andre.przywara@arm.com> <20220428230933.15262-6-andre.przywara@arm.com> <7374416.EvYhyI6sBW@kista> Organization: Arm Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.31; x86_64-slackware-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220629_171024_749114_16CA439E X-CRM114-Status: GOOD ( 24.58 ) 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 T24gVHVlLCAwMyBNYXkgMjAyMiAyMTo0MToyMSArMDIwMApKZXJuZWogxaBrcmFiZWMgPGplcm5l ai5za3JhYmVjQGdtYWlsLmNvbT4gd3JvdGU6CgpIaSBKZXJuZWosCgo+IERuZSBwZXRlaywgMjku IGFwcmlsIDIwMjIgb2IgMDE6MDk6MzIgQ0VTVCBqZSBBbmRyZSBQcnp5d2FyYSBuYXBpc2FsKGEp Ogo+ID4gVGhlIE9yYW5nZVBpIFplcm8gMiBpcyBhIGRldmVsb3BtZW50IGJvYXJkIHdpdGggdGhl IG5ldyBINjE2IFNvQy4gSXQKPiA+IGNvbWVzIHdpdGggdGhlIGZvbGxvd2luZyBmZWF0dXJlczoK PiA+ICAgLSBGb3VyIEFSTSBDb3J0ZXgtQTUzIGNvcmVzLCBNYWxpLUczMSBNUDIgR1BVCj4gPiAg IC0gNTEyTWlCLzFHaUIgRERSMyBEUkFNCj4gPiAgIC0gQVhQMzA1IFBNSUMKPiA+ICAgLSBSYXNw YmVycnktUGktMSBjb21wYXRpYmxlIEdQSU8gaGVhZGVyCj4gPiAgIC0gZXh0cmEgMTMgcGluIGV4 cGFuc2lvbiBoZWFkZXIsIGV4cG9zaW5nIHBpbnMgZm9yIDJ4IFVTQiAyLjAgcG9ydHMKPiA+ICAg LSAxIFVTQiAyLjAgaG9zdCBwb3J0Cj4gPiAgIC0gMSBVU0IgMi4wIHR5cGUgQyBwb3J0IChwb3dl ciBzdXBwbHkgKyBPVEcpCj4gPiAgIC0gTWljcm9TRCBzbG90Cj4gPiAgIC0gb24tYm9hcmQgMk1p QiBib290YWJsZSBTUEkgTk9SIGZsYXNoCj4gPiAgIC0gMUdicHMgRXRoZXJuZXQgcG9ydCAodmlh IFJUTDgyMTFGIFBIWSkKPiA+ICAgLSBtaWNyby1IRE1JIHBvcnQKPiA+ICAgLSB1bnN1cHBvcnRl ZCBBbGx3aW5uZXIgV2lGaS9CVCBjaGlwCj4gPiAKPiA+IEZvciBtb3JlIGRldGFpbHMgc2VlOiBo dHRwczovL2xpbnV4LXN1bnhpLm9yZy9PcmFuZ2VfUGlfWmVyb18yICAKPiAKPiBQbGVhc2Ugbm8g ZXh0ZXJuYWwgbGlua3MuCgpTaGFtZS4gSSB1bmRlcnN0YW5kIHRoZSByZWFzb25zIGJlaGluZCB0 aGF0LCBidXQgdGhpcyBzb3VyY2UgaXMgcmF0aGVyCnN0YWJsZSAobW9yZSBzbyB0aGFuIHNvbWUg TEtNTCBhcmNoaXZlcyA7LSksIGFuZCBJIGNvcGllZCB0aGUgYWN0dWFsCmltcG9ydGFudCBpbmZv cm1hdGlvbi4gQnV0IHdlbGwsIEkgZ3Vlc3MgcGVvcGxlIGhhdmUgdG8gcHV0IGl0IGluIHRoZWly CnNlYXJjaCBlbmdpbmUgYW5kIGhvcGUgaXQgZG9lc24ndCBkcm9wIHRoZW0gdG8gdGhlIHZlbmRv cidzIHdlYnNpdGUgOy0pCgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZSBQcnp5d2FyYSA8 YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KPiA+IC0tLQo+ID4gIGFyY2gvYXJtNjQvYm9vdC9kdHMv YWxsd2lubmVyL01ha2VmaWxlICAgICAgICB8ICAgMSArCj4gPiAgLi4uL2FsbHdpbm5lci9zdW41 MGktaDYxNi1vcmFuZ2VwaS16ZXJvMi5kdHMgIHwgMjAzICsrKysrKysrKysrKysrKysrKwo+ID4g IDIgZmlsZXMgY2hhbmdlZCwgMjA0IGluc2VydGlvbnMoKykKPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgYXJjaC9hcm02NC9ib290L2R0cy9hbGx3aW5uZXIvc3VuNTBpLWg2MTYtb3JhbmdlcGktICAK PiB6ZXJvMi5kdHMKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvYWxs d2lubmVyL01ha2VmaWxlIGIvYXJjaC9hcm02NC9ib290L2R0cy8gIAo+IGFsbHdpbm5lci9NYWtl ZmlsZQo+ID4gaW5kZXggOGZhNWMwNjBhNGZlLi5kZjIyMTRlNmQ5NDYgMTAwNjQ0Cj4gPiAtLS0g YS9hcmNoL2FybTY0L2Jvb3QvZHRzL2FsbHdpbm5lci9NYWtlZmlsZQo+ID4gKysrIGIvYXJjaC9h cm02NC9ib290L2R0cy9hbGx3aW5uZXIvTWFrZWZpbGUKPiA+IEBAIC0zOCwzICszOCw0IEBAIGR0 Yi0kKENPTkZJR19BUkNIX1NVTlhJKSArPSBzdW41MGktaDYtcGluZS1oNjQuZHRiCj4gPiAgZHRi LSQoQ09ORklHX0FSQ0hfU1VOWEkpICs9IHN1bjUwaS1oNi1waW5lLWg2NC1tb2RlbC1iLmR0Ygo+ ID4gIGR0Yi0kKENPTkZJR19BUkNIX1NVTlhJKSArPSBzdW41MGktaDYtdGFuaXgtdHg2LmR0Ygo+ ID4gIGR0Yi0kKENPTkZJR19BUkNIX1NVTlhJKSArPSBzdW41MGktaDYtdGFuaXgtdHg2LW1pbmku ZHRiCj4gPiArZHRiLSQoQ09ORklHX0FSQ0hfU1VOWEkpICs9IHN1bjUwaS1oNjE2LW9yYW5nZXBp LXplcm8yLmR0Ygo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvYWxsd2lubmVy L3N1bjUwaS1oNjE2LW9yYW5nZXBpLXplcm8yLmR0cyBiLyAgCj4gYXJjaC9hcm02NC9ib290L2R0 cy9hbGx3aW5uZXIvc3VuNTBpLWg2MTYtb3JhbmdlcGktemVybzIuZHRzCj4gPiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi5jYTA3Y2FlNjk4Y2UKPiA+IC0tLSAv ZGV2L251bGwKPiA+ICsrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvYWxsd2lubmVyL3N1bjUwaS1o NjE2LW9yYW5nZXBpLXplcm8yLmR0cwo+ID4gQEAgLTAsMCArMSwyMDMgQEAKPiA+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjArIG9yIE1JVCkKPiA+ICsvKgo+ID4gKyAqIENv cHlyaWdodCAoQykgMjAyMCBBcm0gTHRkLiAgCj4gCj4gMjAyMj8KCk1taCwgYnV0IHdoeT8gSSB3 cm90ZSB0aGlzIGluIDIwMjAsIGFuZCBpdCB3YXMgcHVibGlzaGVkIHRoZSBmaXJzdCB0aW1lCnRo YXQgeWVhclsxXS4gSWYgdGhlIGNvcHlyaWdodCB5ZWFyIG1lYW5zIGFueXRoaW5nLCBieSBteSB1 bmRlcnN0YW5kaW5nCml0IHNob3VsZCBjb3ZlciB0aGUgZWFybGllc3QgcHVibGljYXRpb24gZGF0 ZSwgdG8gZXN0YWJsaXNoIHRoZSBsaWNlbnNlCmNvbmRpdGlvbnMgb3ZlciBldmVyeSBjb3B5IG91 dCB0aGVyZS4KClsxXQpodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hcm0ta2VybmVsLzIw MjAxMjAyMTM1NDA5LjEzNjgzLTgtYW5kcmUucHJ6eXdhcmFAYXJtLmNvbS8KCj4gCj4gPiArICov Cj4gPiArCj4gPiArL2R0cy12MS87Cj4gPiArCj4gPiArI2luY2x1ZGUgInN1bjUwaS1oNjE2LmR0 c2kiCj4gPiArCj4gPiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2dwaW8vZ3Bpby5oPgo+ID4gKyNp bmNsdWRlIDxkdC1iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlci9hcm0tZ2ljLmg+Cj4gPiAr I2luY2x1ZGUgPGR0LWJpbmRpbmdzL2xlZHMvY29tbW9uLmg+Cj4gPiArCj4gPiArLyB7Cj4gPiAr CW1vZGVsID0gIk9yYW5nZVBpIFplcm8yIjsKPiA+ICsJY29tcGF0aWJsZSA9ICJ4dW5sb25nLG9y YW5nZXBpLXplcm8yIiwgImFsbHdpbm5lcixzdW41MGktaDYxNiI7Cj4gPiArCj4gPiArCWFsaWFz ZXMgewo+ID4gKwkJZXRoZXJuZXQwID0gJmVtYWMwOwo+ID4gKwkJc2VyaWFsMCA9ICZ1YXJ0MDsK PiA+ICsJfTsKPiA+ICsKPiA+ICsJY2hvc2VuIHsKPiA+ICsJCXN0ZG91dC1wYXRoID0gInNlcmlh bDA6MTE1MjAwbjgiOwo+ID4gKwl9Owo+ID4gKwo+ID4gKwlsZWRzIHsKPiA+ICsJCWNvbXBhdGli bGUgPSAiZ3Bpby1sZWRzIjsKPiA+ICsKPiA+ICsJCWxlZC0wIHsKPiA+ICsJCQlmdW5jdGlvbiA9 IExFRF9GVU5DVElPTl9QT1dFUjsKPiA+ICsJCQljb2xvciA9IDxMRURfQ09MT1JfSURfUkVEPjsK PiA+ICsJCQlncGlvcyA9IDwmcGlvIDIgMTIgR1BJT19BQ1RJVkVfSElHSD47IC8qIFBDMTIgICAK PiAqLwo+ID4gKwkJCWRlZmF1bHQtc3RhdGUgPSAib24iOwo+ID4gKwkJfTsKPiA+ICsKPiA+ICsJ CWxlZC0xIHsKPiA+ICsJCQlmdW5jdGlvbiA9IExFRF9GVU5DVElPTl9TVEFUVVM7Cj4gPiArCQkJ Y29sb3IgPSA8TEVEX0NPTE9SX0lEX0dSRUVOPjsKPiA+ICsJCQlncGlvcyA9IDwmcGlvIDIgMTMg R1BJT19BQ1RJVkVfSElHSD47IC8qIFBDMTMgICAKPiAqLwo+ID4gKwkJfTsKPiA+ICsJfTsKPiA+ ICsKPiA+ICsJcmVnX3ZjYzV2OiB2Y2M1diB7Cj4gPiArCQkvKiBib2FyZCB3aWRlIDVWIHN1cHBs eSBkaXJlY3RseSBmcm9tIHRoZSBVU0ItQyBzb2NrZXQgICAKPiAqLwo+ID4gKwkJY29tcGF0aWJs ZSA9ICJyZWd1bGF0b3ItZml4ZWQiOwo+ID4gKwkJcmVndWxhdG9yLW5hbWUgPSAidmNjLTV2IjsK PiA+ICsJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDUwMDAwMDA+Owo+ID4gKwkJcmVndWxh dG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47Cj4gPiArCQlyZWd1bGF0b3ItYWx3YXlzLW9u Owo+ID4gKwl9Owo+ID4gK307Cj4gPiArCj4gPiArJmVtYWMwIHsKPiA+ICsJcGluY3RybC1uYW1l cyA9ICJkZWZhdWx0IjsKPiA+ICsJcGluY3RybC0wID0gPCZleHRfcmdtaWlfcGlucz47Cj4gPiAr CXBoeS1tb2RlID0gInJnbWlpIjsKPiA+ICsJcGh5LWhhbmRsZSA9IDwmZXh0X3JnbWlpX3BoeT47 Cj4gPiArCXBoeS1zdXBwbHkgPSA8JnJlZ19kY2RjZT47Cj4gPiArCWFsbHdpbm5lcixyeC1kZWxh eS1wcyA9IDwzMTAwPjsKPiA+ICsJYWxsd2lubmVyLHR4LWRlbGF5LXBzID0gPDcwMD47Cj4gPiAr CXN0YXR1cyA9ICJva2F5IjsKPiA+ICt9Owo+ID4gKwo+ID4gKyZtZGlvMCB7Cj4gPiArCWV4dF9y Z21paV9waHk6IGV0aGVybmV0LXBoeUAxIHsKPiA+ICsJCWNvbXBhdGlibGUgPSAiZXRoZXJuZXQt cGh5LWllZWU4MDIuMy1jMjIiOwo+ID4gKwkJcmVnID0gPDE+Owo+ID4gKwl9Owo+ID4gK307Cj4g PiArCj4gPiArJm1tYzAgewo+ID4gKwl2bW1jLXN1cHBseSA9IDwmcmVnX2RjZGNlPjsKPiA+ICsJ Y2QtZ3Bpb3MgPSA8JnBpbyA1IDYgR1BJT19BQ1RJVkVfTE9XPjsJLyogUEY2ICovCj4gPiArCWJ1 cy13aWR0aCA9IDw0PjsKPiA+ICsJc3RhdHVzID0gIm9rYXkiOwo+ID4gK307Cj4gPiArCj4gPiAr JnJfcnNiIHsKPiA+ICsJc3RhdHVzID0gIm9rYXkiOwo+ID4gKwo+ID4gKwlheHAzMDU6IHBtaWNA NzQ1IHsKPiA+ICsJCWNvbXBhdGlibGUgPSAieC1wb3dlcnMsYXhwMzA1IiwgIngtcG93ZXJzLGF4 cDgwNSIsCj4gPiArCQkJICAgICAieC1wb3dlcnMsYXhwODA2IjsKPiA+ICsJCWludGVycnVwdC1j b250cm9sbGVyOwo+ID4gKwkJI2ludGVycnVwdC1jZWxscyA9IDwxPjsKPiA+ICsJCXJlZyA9IDww eDc0NT47Cj4gPiArCj4gPiArCQl4LXBvd2VycyxzZWxmLXdvcmtpbmctbW9kZTsKPiA+ICsJCXZp bmEtc3VwcGx5ID0gPCZyZWdfdmNjNXY+Owo+ID4gKwkJdmluYi1zdXBwbHkgPSA8JnJlZ192Y2M1 dj47Cj4gPiArCQl2aW5jLXN1cHBseSA9IDwmcmVnX3ZjYzV2PjsKPiA+ICsJCXZpbmQtc3VwcGx5 ID0gPCZyZWdfdmNjNXY+Owo+ID4gKwkJdmluZS1zdXBwbHkgPSA8JnJlZ192Y2M1dj47Cj4gPiAr CQlhbGRvaW4tc3VwcGx5ID0gPCZyZWdfdmNjNXY+Owo+ID4gKwkJYmxkb2luLXN1cHBseSA9IDwm cmVnX3ZjYzV2PjsKPiA+ICsJCWNsZG9pbi1zdXBwbHkgPSA8JnJlZ192Y2M1dj47Cj4gPiArCj4g PiArCQlyZWd1bGF0b3JzIHsKPiA+ICsJCQlyZWdfYWxkbzE6IGFsZG8xIHsKPiA+ICsJCQkJcmVn dWxhdG9yLWFsd2F5cy1vbjsKPiA+ICsJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSAgIAo+ IDwzMzAwMDAwPjsKPiA+ICsJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSAgIAo+IDwzMzAw MDAwPjsKPiA+ICsJCQkJcmVndWxhdG9yLW5hbWUgPSAidmNjLXN5cyI7Cj4gPiArCQkJfTsKPiA+ ICsKPiA+ICsJCQlyZWdfYWxkbzI6IGFsZG8yIHsJLyogMy4zViBvbiBoZWFkZXJzICAgCj4gKi8K PiA+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKPiA+ICsJCQkJcmVndWxhdG9yLW1pbi1taWNy b3ZvbHQgPSAgIAo+IDwzMzAwMDAwPjsKPiA+ICsJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQg PSAgIAo+IDwzMzAwMDAwPjsKPiA+ICsJCQkJcmVndWxhdG9yLW5hbWUgPSAidmNjM3YzLWV4dCI7 Cj4gPiArCQkJfTsKPiA+ICsKPiA+ICsJCQlyZWdfYWxkbzM6IGFsZG8zIHsJLyogMy4zViBvbiBo ZWFkZXJzICAgCj4gKi8KPiA+ICsJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKPiA+ICsJCQkJcmVn dWxhdG9yLW1pbi1taWNyb3ZvbHQgPSAgIAo+IDwzMzAwMDAwPjsKPiA+ICsJCQkJcmVndWxhdG9y LW1heC1taWNyb3ZvbHQgPSAgIAo+IDwzMzAwMDAwPjsKPiA+ICsJCQkJcmVndWxhdG9yLW5hbWUg PSAidmNjM3YzLWV4dDIiOwo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJcmVnX2JsZG8xOiBibGRv MSB7Cj4gPiArCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Cj4gPiArCQkJCXJlZ3VsYXRvci1taW4t bWljcm92b2x0ID0gICAKPiA8MTgwMDAwMD47Cj4gPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92 b2x0ID0gICAKPiA8MTgwMDAwMD47Cj4gPiArCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjYzF2OCI7 Cj4gPiArCQkJfTsKPiA+ICsKPiA+ICsJCQlibGRvMiB7Cj4gPiArCQkJCS8qIHVudXNlZCAqLwo+ ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJYmxkbzMgewo+ID4gKwkJCQkvKiB1bnVzZWQgKi8KPiA+ ICsJCQl9Owo+ID4gKwo+ID4gKwkJCWJsZG80IHsKPiA+ICsJCQkJLyogdW51c2VkICovCj4gPiAr CQkJfTsKPiA+ICsKPiA+ICsJCQljbGRvMSB7Cj4gPiArCQkJCS8qIHJlc2VydmVkICovCj4gPiAr CQkJfTsKPiA+ICsKPiA+ICsJCQljbGRvMiB7Cj4gPiArCQkJCS8qIHVudXNlZCAqLwo+ID4gKwkJ CX07Cj4gPiArCj4gPiArCQkJY2xkbzMgewo+ID4gKwkJCQkvKiB1bnVzZWQgKi8KPiA+ICsJCQl9 Owo+ID4gKwo+ID4gKwkJCXJlZ19kY2RjYTogZGNkY2Egewo+ID4gKwkJCQlyZWd1bGF0b3ItYWx3 YXlzLW9uOwo+ID4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9ICAgCj4gPDgxMDAwMD47 Cj4gPiArCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gICAKPiA8MTA4MDAwMD47Cj4gPiAr CQkJCXJlZ3VsYXRvci1uYW1lID0gInZkZC1jcHUiOwo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJ cmVnX2RjZGNjOiBkY2RjYyB7Cj4gPiArCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Cj4gPiArCQkJ CXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gICAKPiA8ODEwMDAwPjsKPiA+ICsJCQkJcmVndWxh dG9yLW1heC1taWNyb3ZvbHQgPSAgIAo+IDwxMDgwMDAwPjsKPiA+ICsJCQkJcmVndWxhdG9yLW5h bWUgPSAidmRkLWdwdS1zeXMiOwo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJcmVnX2RjZGNkOiBk Y2RjZCB7Cj4gPiArCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Cj4gPiArCQkJCXJlZ3VsYXRvci1t aW4tbWljcm92b2x0ID0gICAKPiA8MTUwMDAwMD47Cj4gPiArCQkJCXJlZ3VsYXRvci1tYXgtbWlj cm92b2x0ID0gICAKPiA8MTUwMDAwMD47Cj4gPiArCQkJCXJlZ3VsYXRvci1uYW1lID0gInZkZC1k cmFtIjsKPiA+ICsJCQl9Owo+ID4gKwo+ID4gKwkJCXJlZ19kY2RjZTogZGNkY2Ugewo+ID4gKwkJ CQlyZWd1bGF0b3ItYm9vdC1vbjsgIAo+IAo+IEFzIGRpc2N1c3NlZCBpbiB0aGUgcGFzdCwgdGhp cyB3aWxsIGNhdXNlIHJlYm9vdCBpc3N1ZXMgYmVjYXVzZSBMaW51eCB3aWxsIAo+IHR1cm4gZG93 biBhYm92ZSByZWd1bGF0b3IgYW5kIHRodXMgU0QgY2FyZCB3aWxsIHN0b3Agd29ya2luZy4gVGhp cyBzaG91bGQgYmUgCj4gYWx3YXlzIG9uLgo+IAo+IEFuZCBwbGVhc2UgYWRkIHBpbyByZWd1bGF0 b3JzLCB0aGlzIGlzIHNvbWV0aGluZyB3ZSBhbHdheXMgYWRkIGxhdGVyLi4uCgpTdXJlLCB0aGFu a3MgZm9yIHRoZSBoZWFkcyB1cCwgd2lsbCBkby4KCkNoZWVycywKQW5kcmUKCj4gCj4gQmVzdCBy ZWdhcmRzLAo+IEplcm5lago+IAo+ID4gKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9ICAg Cj4gPDMzMDAwMDA+Owo+ID4gKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9ICAgCj4gPDMz MDAwMDA+Owo+ID4gKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2MtZXRoLW1tYyI7Cj4gPiArCQkJ fTsKPiA+ICsKPiA+ICsJCQlzdyB7Cj4gPiArCQkJCS8qIHVudXNlZCAqLwo+ID4gKwkJCX07Cj4g PiArCQl9Owo+ID4gKwl9Owo+ID4gK307Cj4gPiArCj4gPiArJnNwaTAgIHsKPiA+ICsJc3RhdHVz ID0gIm9rYXkiOwo+ID4gKwo+ID4gKwlmbGFzaEAwIHsKPiA+ICsJCSNhZGRyZXNzLWNlbGxzID0g PDE+Owo+ID4gKwkJI3NpemUtY2VsbHMgPSA8MT47Cj4gPiArCQljb21wYXRpYmxlID0gImplZGVj LHNwaS1ub3IiOwo+ID4gKwkJcmVnID0gPDA+Owo+ID4gKwkJc3BpLW1heC1mcmVxdWVuY3kgPSA8 NDAwMDAwMDA+Owo+ID4gKwl9Owo+ID4gK307Cj4gPiArCj4gPiArJnVhcnQwIHsKPiA+ICsJcGlu Y3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiA+ICsJcGluY3RybC0wID0gPCZ1YXJ0MF9waF9waW5z PjsKPiA+ICsJc3RhdHVzID0gIm9rYXkiOwo+ID4gK307Cj4gPiAtLSAKPiA+IDIuMzUuMwo+ID4g Cj4gPiAgIAo+IAo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK