From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 91DFE19E96D; Mon, 19 Oct 2026 09:41:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792402914; cv=none; b=Vmin8iCBFHilTebt3wfWtINC48xOdGdb7V2xPm1NOkGoFhWmzzyb9zTuWKzV77WO34D84uet4lq21dr1jnIrcchbenhX2n6H8NQ5/83HzHiEKlz/0mNF8mTRXqT/SOtoInHB+uNlW+zgCoFoeyW+ST7TUmIGX/olZnCIAlWESCs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792402914; c=relaxed/simple; bh=DwnGDzRo12d7ahCIZcvCfNX5Y4zjkUtfVl2c38Yaumk=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date; b=NPU/NWczcVyjtqcSrF2SV1dz22WnAdGYhdIYidLboslElslhxzjh0MVn5a8amViak6X9jIAFZjEPkYk0Yv7qsA6tZPh1dJVL0rWjXg6ymEyT0abUIXaqFlpmyLOrEwaH2ONTb2ISmr0khDIFtTVe0IV/lRKrbFV6mk/jKwWlGfU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FxFzyDuV; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="FxFzyDuV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C340E1F000C4; Mon, 19 Oct 2026 09:41:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792402913; bh=qrm5v2rIEEZmWIJHZTb3CXYaO9EEZuUZm+RN8OQl/YY=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=FxFzyDuVWFPLmI4HOh5T0EZVyCDbfjiiZCWyj7DPxHdnzAnyssxruXA20vzRqzt7d df9gqN+IzTnsD2dSZBmNKWut2VztNEbNcu60RvSXExXDqzy11tE08RL5euoWeK1OHl ZQbSreIfF5P0jUGSsHbP1feovYvIAAwXbO3lGWwkWlCaXpaENYAU1OmqINJJr6iZj/ iSp7z71kqlSEQ3bWMliamfIsX/ExVqDI1zHGenMotS7S+U0JEVtS8igtumK1jmdqun Hnzt4KGWZrxWmlr/BTQrP4audQgOIP7Cer2jOERsQPTYmC/KfTqDkPgtrQBFVmybIt nE6w0VjqnmkGQ== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 6/6] arm64: qcom: monaco: Add PCIe Endpoint nodes Reply-To: sashiko-reviews@lists.linux.dev To: "Krishna Chaitanya Chundru" Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-pci@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org, vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com In-Reply-To: <20261019-monaco_ep-v2-6-852cb9f5d012@oss.qualcomm.com> References: <20261019-monaco_ep-v2-0-852cb9f5d012@oss.qualcomm.com> <20261019-monaco_ep-v2-6-852cb9f5d012@oss.qualcomm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Mon, 19 Oct 2026 09:41:52 +0000 Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 2 potential issue(= s) to consider: - [Medium] arm64: dts: qcom: monaco: disallowed input-enable in pcie ep tlm= m states - [Low] arm64: dts: qcom: monaco: board-specific PCIe EP GPIOs and pinctrl = in SoC dtsi -- commit 59621afda0bee2426503fd1658910b3d133f8ac2 Author: Krishna Chaitanya Chundru arm64: qcom: monaco: Add PCIe Endpoint nodes This commit adds the PCIe Endpoint device tree nodes and default pin configuration states for both PCIe controllers on the Qualcomm Monaco SoC. > diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/q= com/monaco.dtsi > index d7d135e87a8c7..12cd7d5f37a32 100644 > --- a/arch/arm64/boot/dts/qcom/monaco.dtsi > +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi [ ... ] > @@ -2405,6 +2406,57 @@ pcieport0: pcie@0 { > }; > }; > =20 > + pcie0_ep: pcie-ep@1c00000 { [ ... ] > + phys =3D <&pcie0_phy>; > + phy-names =3D "pciephy"; > + reset-gpios =3D <&tlmm 2 GPIO_ACTIVE_LOW>; > + wake-gpios =3D <&tlmm 0 GPIO_ACTIVE_LOW>; > + pinctrl-0 =3D <&pcie0_ep_default_state>; > + pinctrl-names =3D "default"; > + num-lanes =3D <2>; > + linux,pci-domain =3D <0>; > + > + status =3D "disabled"; > + }; > + > pcie0_phy: phy@1c04000 { > compatible =3D "qcom,qcs8300-qmp-gen4x2-pcie-phy"; > reg =3D <0x0 0x01c04000 0x0 0x2000>; > @@ -2596,6 +2648,57 @@ pcieport1: pcie@0 { > }; > }; > =20 > + pcie1_ep: pcie-ep@1c10000 { [ ... ] > + phys =3D <&pcie1_phy>; > + phy-names =3D "pciephy"; > + reset-gpios =3D <&tlmm 23 GPIO_ACTIVE_LOW>; > + wake-gpios =3D <&tlmm 21 GPIO_ACTIVE_LOW>; > + pinctrl-0 =3D <&pcie1_ep_default_state>; > + pinctrl-names =3D "default"; > + num-lanes =3D <4>; > + linux,pci-domain =3D <1>; > + > + status =3D "disabled"; > + }; [Severity: Low] Should reset-gpios, wake-gpios, and the pinctrl states be placed in the board DTS files rather than hardcoded in the SoC-level pcie0_ep and pcie1_ep nodes in arch/arm64/boot/dts/qcom/monaco.dtsi? In drivers/pinctrl/qcom/pinctrl-qcs8300.c, only gpio1 (pcie0_clkreq) and gpio22 (pcie1_clkreq) have dedicated PCIe pinmux functions, whereas gpio0, gpio2, gpio21, and gpio23 use the generic gpio function (and gpio21 through gpio23 are shared with qup0_se5). In addition, wake-gpios is optional in drivers/pci/controller/dwc/pcie-qcom-ep.c via devm_gpiod_get_optional(dev, "wake", GPIOD_OUT_LOW), and existing Monaco boards such as monaco-arduino-monza.dts omit wake-gpios. The Root Complex pcie0 and pcie1 nodes in monaco.dtsi, as well as the pcie-ep nodes in other Qualcomm SoC DTSI files (such as lemans.dtsi, sar2130p.dtsi, sm8450.dtsi, qcom-sdx55.dtsi, and qcom-sdx65.dtsi), leave reset-gpios and wake-gpios to the board DTS files. > =20 > pcie1_phy: phy@1c14000 { > compatible =3D "qcom,qcs8300-qmp-gen4x4-pcie-phy", > "qcom,sa8775p-qmp-gen4x4-pcie-phy"; > @@ -6225,6 +6328,50 @@ tlmm: pinctrl@f100000 { > #interrupt-cells =3D <2>; > wakeup-parent =3D <&pdc>; > =20 > + pcie0_ep_default_state: pcie0-ep-default-state { > + wake-pins { > + pins =3D "gpio0"; > + function =3D "gpio"; > + drive-strength =3D <2>; > + }; > + > + clkreq-pins { > + pins =3D "gpio1"; > + function =3D "pcie0_clkreq"; > + drive-strength =3D <2>; > + bias-pull-up; > + }; > + > + perst-pins { > + pins =3D "gpio2"; > + function =3D "gpio"; > + input-enable; > + bias-pull-up; > + }; > + }; > + > + pcie1_ep_default_state: pcie1-ep-default-state { > + wake-pins { > + pins =3D "gpio21"; > + function =3D "gpio"; > + drive-strength =3D <2>; > + }; > + > + clkreq-pins { > + pins =3D "gpio22"; > + function =3D "pcie1_clkreq"; > + drive-strength =3D <2>; > + bias-pull-up; > + }; > + > + perst-pins { > + pins =3D "gpio23"; > + function =3D "gpio"; > + input-enable; > + bias-pull-up; > + }; > + }; > + > cam0_default: cam0-default-state { > pins =3D "gpio67"; > function =3D "cam_mclk"; [Severity: Medium] Will using input-enable in the perst-pins subnodes of pcie0_ep_default_state and pcie1_ep_default_state cause a dtbs_check validation regression? The tlmm node uses compatible "qcom,qcs8300-tlmm". In Documentation/devicetree/bindings/pinctrl/qcom,qcs8300-tlmm.yaml, qcom-qcs8300-tlmm-state validates all -state and -pins subnodes against qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state with unevaluatedProperties: false: qcom-qcs8300-tlmm-state: type: object $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state unevaluatedProperties: false In Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml, qcom-tlmm-state explicitly disallows input-enable: bias-pull-down: true bias-pull-up: true bias-disable: true input-enable: false output-disable: true output-enable: true Qualcomm TLMM hardware does not have an input-buffer enable bit and uses output-disable instead (or omits the property). Also, if any pin states remain under tlmm in monaco.dtsi, should pcie0-ep-default-state and pcie1-ep-default-state be placed in alphabetical order rather than before cam0-default-state? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261019-monaco_ep-= v2-0-852cb9f5d012@oss.qualcomm.com?part=3D6 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 2131FCCF2D6 for ; Mon, 19 Oct 2026 09:41:55 +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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=n7BtjyfMcm9dJXWEdPXdyVoLHjfZfTNEr+kqrHI0c5A=; b=1FTglJzbzP3vq0 ZpInZlnUBDg+i2DRBZtBX+ubpXj6knLYtHWImywFq9mQf5znSkoD7In1/uwdQ5HDUWmmDqC0mdB5l jXI26dF3n7hAI4U5VwC2ZTp0yBJeVK4fr5Ls2Eby9qD2NeH2chiYs+fxd+jMA+QL55NMyfU30Gsfk JoesUhb18Rf/PRvgvew4/5VY/IiexLcBuPvHJREHp0vu2GL3bkEz7mC2gyttw3bAUbH55PNeDdYxH dof07IvmLQ3ovLy/rwQYNFRbcEtZ7aiUk7nbh34jp/vGduRpxZyUGQ105mo2MccwjZJcIyw0Xv4O/ Ti2wW/JiXm85JBz9exeg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xIjsQ-000000072FJ-2mBy; Mon, 19 Oct 2026 09:41:54 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xIjsP-000000072FB-3hHm for linux-phy@lists.infradead.org; Mon, 19 Oct 2026 09:41:53 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 4306F40358; Mon, 19 Oct 2026 09:41:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C340E1F000C4; Mon, 19 Oct 2026 09:41:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792402913; bh=qrm5v2rIEEZmWIJHZTb3CXYaO9EEZuUZm+RN8OQl/YY=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=FxFzyDuVWFPLmI4HOh5T0EZVyCDbfjiiZCWyj7DPxHdnzAnyssxruXA20vzRqzt7d df9gqN+IzTnsD2dSZBmNKWut2VztNEbNcu60RvSXExXDqzy11tE08RL5euoWeK1OHl ZQbSreIfF5P0jUGSsHbP1feovYvIAAwXbO3lGWwkWlCaXpaENYAU1OmqINJJr6iZj/ iSp7z71kqlSEQ3bWMliamfIsX/ExVqDI1zHGenMotS7S+U0JEVtS8igtumK1jmdqun Hnzt4KGWZrxWmlr/BTQrP4audQgOIP7Cer2jOERsQPTYmC/KfTqDkPgtrQBFVmybIt nE6w0VjqnmkGQ== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 6/6] arm64: qcom: monaco: Add PCIe Endpoint nodes To: "Krishna Chaitanya Chundru" Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-pci@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org, vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com In-Reply-To: <20261019-monaco_ep-v2-6-852cb9f5d012@oss.qualcomm.com> References: <20261019-monaco_ep-v2-0-852cb9f5d012@oss.qualcomm.com> <20261019-monaco_ep-v2-6-852cb9f5d012@oss.qualcomm.com> Date: Mon, 19 Oct 2026 09:41:52 +0000 X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gYXJtNjQ6IGR0czog cWNvbTogbW9uYWNvOiBkaXNhbGxvd2VkIGlucHV0LWVuYWJsZSBpbiBwY2llIGVwIHRsbW0gc3Rh dGVzCi0gW0xvd10gYXJtNjQ6IGR0czogcWNvbTogbW9uYWNvOiBib2FyZC1zcGVjaWZpYyBQQ0ll IEVQIEdQSU9zIGFuZCBwaW5jdHJsIGluIFNvQyBkdHNpCi0tCgpjb21taXQgNTk2MjFhZmRhMGJl ZTI0MjY1MDNmZDE2NTg5MTBiM2QxMzNmOGFjMgpBdXRob3I6IEtyaXNobmEgQ2hhaXRhbnlhIENo dW5kcnUgPGtyaXNobmEuY2h1bmRydUBvc3MucXVhbGNvbW0uY29tPgoKYXJtNjQ6IHFjb206IG1v bmFjbzogQWRkIFBDSWUgRW5kcG9pbnQgbm9kZXMKClRoaXMgY29tbWl0IGFkZHMgdGhlIFBDSWUg RW5kcG9pbnQgZGV2aWNlIHRyZWUgbm9kZXMgYW5kIGRlZmF1bHQgcGluCmNvbmZpZ3VyYXRpb24g c3RhdGVzIGZvciBib3RoIFBDSWUgY29udHJvbGxlcnMgb24gdGhlIFF1YWxjb21tIE1vbmFjbwpT b0MuCgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL3Fjb20vbW9uYWNvLmR0c2kg Yi9hcmNoL2FybTY0L2Jvb3QvZHRzL3Fjb20vbW9uYWNvLmR0c2kKPiBpbmRleCBkN2QxMzVlODdh OGM3Li4xMmNkN2Q1ZjM3YTMyIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvcWNv bS9tb25hY28uZHRzaQo+ICsrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9tb25hY28uZHRz aQoKWyAuLi4gXQoKPiBAQCAtMjQwNSw2ICsyNDA2LDU3IEBAIHBjaWVwb3J0MDogcGNpZUAwIHsK PiAgCQkJfTsKPiAgCQl9Owo+ICAKPiArCQlwY2llMF9lcDogcGNpZS1lcEAxYzAwMDAwIHsKClsg Li4uIF0KCj4gKwkJCXBoeXMgPSA8JnBjaWUwX3BoeT47Cj4gKwkJCXBoeS1uYW1lcyA9ICJwY2ll cGh5IjsKPiArCQkJcmVzZXQtZ3Bpb3MgPSA8JnRsbW0gMiBHUElPX0FDVElWRV9MT1c+Owo+ICsJ CQl3YWtlLWdwaW9zID0gPCZ0bG1tIDAgR1BJT19BQ1RJVkVfTE9XPjsKPiArCQkJcGluY3RybC0w ID0gPCZwY2llMF9lcF9kZWZhdWx0X3N0YXRlPjsKPiArCQkJcGluY3RybC1uYW1lcyA9ICJkZWZh dWx0IjsKPiArCQkJbnVtLWxhbmVzID0gPDI+Owo+ICsJCQlsaW51eCxwY2ktZG9tYWluID0gPDA+ Owo+ICsKPiArCQkJc3RhdHVzID0gImRpc2FibGVkIjsKPiArCQl9Owo+ICsKPiAgCQlwY2llMF9w aHk6IHBoeUAxYzA0MDAwIHsKPiAgCQkJY29tcGF0aWJsZSA9ICJxY29tLHFjczgzMDAtcW1wLWdl bjR4Mi1wY2llLXBoeSI7Cj4gIAkJCXJlZyA9IDwweDAgMHgwMWMwNDAwMCAweDAgMHgyMDAwPjsK PiBAQCAtMjU5Niw2ICsyNjQ4LDU3IEBAIHBjaWVwb3J0MTogcGNpZUAwIHsKPiAgCQkJfTsKPiAg CQl9Owo+ICAKPiArCQlwY2llMV9lcDogcGNpZS1lcEAxYzEwMDAwIHsKClsgLi4uIF0KCj4gKwkJ CXBoeXMgPSA8JnBjaWUxX3BoeT47Cj4gKwkJCXBoeS1uYW1lcyA9ICJwY2llcGh5IjsKPiArCQkJ cmVzZXQtZ3Bpb3MgPSA8JnRsbW0gMjMgR1BJT19BQ1RJVkVfTE9XPjsKPiArCQkJd2FrZS1ncGlv cyA9IDwmdGxtbSAyMSBHUElPX0FDVElWRV9MT1c+Owo+ICsJCQlwaW5jdHJsLTAgPSA8JnBjaWUx X2VwX2RlZmF1bHRfc3RhdGU+Owo+ICsJCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+ICsJ CQludW0tbGFuZXMgPSA8ND47Cj4gKwkJCWxpbnV4LHBjaS1kb21haW4gPSA8MT47Cj4gKwo+ICsJ CQlzdGF0dXMgPSAiZGlzYWJsZWQiOwo+ICsJCX07CgpbU2V2ZXJpdHk6IExvd10KU2hvdWxkIHJl c2V0LWdwaW9zLCB3YWtlLWdwaW9zLCBhbmQgdGhlIHBpbmN0cmwgc3RhdGVzIGJlIHBsYWNlZCBp biB0aGUKYm9hcmQgRFRTIGZpbGVzIHJhdGhlciB0aGFuIGhhcmRjb2RlZCBpbiB0aGUgU29DLWxl dmVsIHBjaWUwX2VwIGFuZApwY2llMV9lcCBub2RlcyBpbiBhcmNoL2FybTY0L2Jvb3QvZHRzL3Fj b20vbW9uYWNvLmR0c2k/CgpJbiBkcml2ZXJzL3BpbmN0cmwvcWNvbS9waW5jdHJsLXFjczgzMDAu Yywgb25seSBncGlvMSAocGNpZTBfY2xrcmVxKSBhbmQKZ3BpbzIyIChwY2llMV9jbGtyZXEpIGhh dmUgZGVkaWNhdGVkIFBDSWUgcGlubXV4IGZ1bmN0aW9ucywgd2hlcmVhcwpncGlvMCwgZ3BpbzIs IGdwaW8yMSwgYW5kIGdwaW8yMyB1c2UgdGhlIGdlbmVyaWMgZ3BpbyBmdW5jdGlvbiAoYW5kCmdw aW8yMSB0aHJvdWdoIGdwaW8yMyBhcmUgc2hhcmVkIHdpdGggcXVwMF9zZTUpLiBJbiBhZGRpdGlv biwgd2FrZS1ncGlvcwppcyBvcHRpb25hbCBpbiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9w Y2llLXFjb20tZXAuYyB2aWEKZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwoZGV2LCAid2FrZSIsIEdQ SU9EX09VVF9MT1cpLCBhbmQgZXhpc3RpbmcgTW9uYWNvCmJvYXJkcyBzdWNoIGFzIG1vbmFjby1h cmR1aW5vLW1vbnphLmR0cyBvbWl0IHdha2UtZ3Bpb3MuCgpUaGUgUm9vdCBDb21wbGV4IHBjaWUw IGFuZCBwY2llMSBub2RlcyBpbiBtb25hY28uZHRzaSwgYXMgd2VsbCBhcyB0aGUKcGNpZS1lcCBu b2RlcyBpbiBvdGhlciBRdWFsY29tbSBTb0MgRFRTSSBmaWxlcyAoc3VjaCBhcyBsZW1hbnMuZHRz aSwKc2FyMjEzMHAuZHRzaSwgc204NDUwLmR0c2ksIHFjb20tc2R4NTUuZHRzaSwgYW5kIHFjb20t c2R4NjUuZHRzaSksIGxlYXZlCnJlc2V0LWdwaW9zIGFuZCB3YWtlLWdwaW9zIHRvIHRoZSBib2Fy ZCBEVFMgZmlsZXMuCgo+ICAKPiAgCQlwY2llMV9waHk6IHBoeUAxYzE0MDAwIHsKPiAgCQkJY29t cGF0aWJsZSA9ICJxY29tLHFjczgzMDAtcW1wLWdlbjR4NC1wY2llLXBoeSIsCj4gIAkJCQkgICAg ICJxY29tLHNhODc3NXAtcW1wLWdlbjR4NC1wY2llLXBoeSI7Cj4gQEAgLTYyMjUsNiArNjMyOCw1 MCBAQCB0bG1tOiBwaW5jdHJsQGYxMDAwMDAgewo+ICAJCQkjaW50ZXJydXB0LWNlbGxzID0gPDI+ Owo+ICAJCQl3YWtldXAtcGFyZW50ID0gPCZwZGM+Owo+ICAKPiArCQkJcGNpZTBfZXBfZGVmYXVs dF9zdGF0ZTogcGNpZTAtZXAtZGVmYXVsdC1zdGF0ZSB7Cj4gKwkJCQl3YWtlLXBpbnMgewo+ICsJ CQkJCXBpbnMgPSAiZ3BpbzAiOwo+ICsJCQkJCWZ1bmN0aW9uID0gImdwaW8iOwo+ICsJCQkJCWRy aXZlLXN0cmVuZ3RoID0gPDI+Owo+ICsJCQkJfTsKPiArCj4gKwkJCQljbGtyZXEtcGlucyB7Cj4g KwkJCQkJcGlucyA9ICJncGlvMSI7Cj4gKwkJCQkJZnVuY3Rpb24gPSAicGNpZTBfY2xrcmVxIjsK PiArCQkJCQlkcml2ZS1zdHJlbmd0aCA9IDwyPjsKPiArCQkJCQliaWFzLXB1bGwtdXA7Cj4gKwkJ CQl9Owo+ICsKPiArCQkJCXBlcnN0LXBpbnMgewo+ICsJCQkJCXBpbnMgPSAiZ3BpbzIiOwo+ICsJ CQkJCWZ1bmN0aW9uID0gImdwaW8iOwo+ICsJCQkJCWlucHV0LWVuYWJsZTsKPiArCQkJCQliaWFz LXB1bGwtdXA7Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJcGNpZTFfZXBfZGVmYXVsdF9z dGF0ZTogcGNpZTEtZXAtZGVmYXVsdC1zdGF0ZSB7Cj4gKwkJCQl3YWtlLXBpbnMgewo+ICsJCQkJ CXBpbnMgPSAiZ3BpbzIxIjsKPiArCQkJCQlmdW5jdGlvbiA9ICJncGlvIjsKPiArCQkJCQlkcml2 ZS1zdHJlbmd0aCA9IDwyPjsKPiArCQkJCX07Cj4gKwo+ICsJCQkJY2xrcmVxLXBpbnMgewo+ICsJ CQkJCXBpbnMgPSAiZ3BpbzIyIjsKPiArCQkJCQlmdW5jdGlvbiA9ICJwY2llMV9jbGtyZXEiOwo+ ICsJCQkJCWRyaXZlLXN0cmVuZ3RoID0gPDI+Owo+ICsJCQkJCWJpYXMtcHVsbC11cDsKPiArCQkJ CX07Cj4gKwo+ICsJCQkJcGVyc3QtcGlucyB7Cj4gKwkJCQkJcGlucyA9ICJncGlvMjMiOwo+ICsJ CQkJCWZ1bmN0aW9uID0gImdwaW8iOwo+ICsJCQkJCWlucHV0LWVuYWJsZTsKPiArCQkJCQliaWFz LXB1bGwtdXA7Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsKPiAgCQkJY2FtMF9kZWZhdWx0OiBjYW0w LWRlZmF1bHQtc3RhdGUgewo+ICAJCQkJcGlucyA9ICJncGlvNjciOwo+ICAJCQkJZnVuY3Rpb24g PSAiY2FtX21jbGsiOwoKW1NldmVyaXR5OiBNZWRpdW1dCldpbGwgdXNpbmcgaW5wdXQtZW5hYmxl IGluIHRoZSBwZXJzdC1waW5zIHN1Ym5vZGVzIG9mCnBjaWUwX2VwX2RlZmF1bHRfc3RhdGUgYW5k IHBjaWUxX2VwX2RlZmF1bHRfc3RhdGUgY2F1c2UgYSBkdGJzX2NoZWNrCnZhbGlkYXRpb24gcmVn cmVzc2lvbj8KClRoZSB0bG1tIG5vZGUgdXNlcyBjb21wYXRpYmxlICJxY29tLHFjczgzMDAtdGxt bSIuIEluCkRvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waW5jdHJsL3Fjb20scWNz ODMwMC10bG1tLnlhbWwsCnFjb20tcWNzODMwMC10bG1tLXN0YXRlIHZhbGlkYXRlcyBhbGwgLXN0 YXRlIGFuZCAtcGlucyBzdWJub2RlcyBhZ2FpbnN0CnFjb20sdGxtbS1jb21tb24ueWFtbCMvJGRl ZnMvcWNvbS10bG1tLXN0YXRlIHdpdGgKdW5ldmFsdWF0ZWRQcm9wZXJ0aWVzOiBmYWxzZToKCiAg cWNvbS1xY3M4MzAwLXRsbW0tc3RhdGU6CiAgICB0eXBlOiBvYmplY3QKICAgICRyZWY6IHFjb20s dGxtbS1jb21tb24ueWFtbCMvJGRlZnMvcWNvbS10bG1tLXN0YXRlCiAgICB1bmV2YWx1YXRlZFBy b3BlcnRpZXM6IGZhbHNlCgpJbiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGlu Y3RybC9xY29tLHRsbW0tY29tbW9uLnlhbWwsCnFjb20tdGxtbS1zdGF0ZSBleHBsaWNpdGx5IGRp c2FsbG93cyBpbnB1dC1lbmFibGU6CgogICAgICBiaWFzLXB1bGwtZG93bjogdHJ1ZQogICAgICBi aWFzLXB1bGwtdXA6IHRydWUKICAgICAgYmlhcy1kaXNhYmxlOiB0cnVlCiAgICAgIGlucHV0LWVu YWJsZTogZmFsc2UKICAgICAgb3V0cHV0LWRpc2FibGU6IHRydWUKICAgICAgb3V0cHV0LWVuYWJs ZTogdHJ1ZQoKUXVhbGNvbW0gVExNTSBoYXJkd2FyZSBkb2VzIG5vdCBoYXZlIGFuIGlucHV0LWJ1 ZmZlciBlbmFibGUgYml0IGFuZCB1c2VzCm91dHB1dC1kaXNhYmxlIGluc3RlYWQgKG9yIG9taXRz IHRoZSBwcm9wZXJ0eSkuIEFsc28sIGlmIGFueSBwaW4gc3RhdGVzCnJlbWFpbiB1bmRlciB0bG1t IGluIG1vbmFjby5kdHNpLCBzaG91bGQgcGNpZTAtZXAtZGVmYXVsdC1zdGF0ZSBhbmQKcGNpZTEt ZXAtZGVmYXVsdC1zdGF0ZSBiZSBwbGFjZWQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIHJhdGhlciB0 aGFuIGJlZm9yZQpjYW0wLWRlZmF1bHQtc3RhdGU/CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcg aHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYxMDE5LW1vbmFjb19lcC12Mi0wLTg1 MmNiOWY1ZDAxMkBvc3MucXVhbGNvbW0uY29tP3BhcnQ9NgoKLS0gCmxpbnV4LXBoeSBtYWlsaW5n IGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cHM6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcGh5Cg==