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 19F673AD534; Fri, 17 Jul 2026 06:32:23 +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=1784269947; cv=none; b=Zzg0aVtvAszrygEYV6Uva5aRxu93ttxUSa5TsnIpTaKW6yMxT2v3OO4MWFSJAZAskVBSpwT5bRIJqy8TQvwAYK+T7HrabHYNpcGs8EsaQOCqxB0UaUAIm+JNprp7RPHeXn+jOx3ajqbalnBUA3wUx+jPRnx2e1ob4I0edoYPnWg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784269947; c=relaxed/simple; bh=tiQGLMndWiRKE5SemlMVI08e5kJ1cjRcFQ+gAFg8sko=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=a1h2gIusk7QXhfjtMxdYV5MFswwW+XNjhz7zvPNrTXHlmmGfAHhOrznxVbbz7T1upt4oZlco6GZCfflZrc2myDvF7FF9CRAQCX29GxZPMvMxeN0RB2XWmwe+01GAtbfIB+4SvRPVPZ09xMaB76suTjUK7Be0V4bV5QaLlFGJn2c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IMny/Fb2; 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="IMny/Fb2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0560C1F000E9; Fri, 17 Jul 2026 06:32:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784269942; bh=F88kXLHiJluPemsV2dA4XtGRZ7VlVzWVhA8ffVQ3Koc=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=IMny/Fb25eeaa/OqOPZX4svMfgDHI7w0zXjZMf26ygEip02soGXnmovgLeF0Zeaqh 5RftwD4Rrg+jPyHRDyTmifGl+hu+9Xtlkk7U/2YbyFKcrg2vTVE9W5YXatBOARy94Y d3v1r2hey2BjzJ3t349UtnDHdBH1jxf3cGlcHy94vQmV/aX01wcDNHQAZ3jAwZpduN CgyJtId8oAWdNLYUOisnNsVoYaW38Kxgs3uqBwvBjouNNa5bNTudReiCTkNkyLOJda Y9P7WGyS2GSQADpXl1q+IUegPM0TTdn8p1lmhnjF9YczbFUkcqI7kwJ9m+2wbJOYR2 Z7Obh8mWh0Tug== Date: Fri, 17 Jul 2026 08:32:18 +0200 From: Krzysztof Kozlowski To: Stefan =?utf-8?B?RMO2c2luZ2Vy?= Cc: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Brian Masney , Vinod Koul , Neil Armstrong , Russell King , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-phy@lists.infradead.org Subject: Re: [PATCH v7 01/13] dt-bindings: phy: Add zx297520v3 USB phy documentation Message-ID: <20260717-uncovered-feathered-groundhog-eab16e@quoll> References: <20260717-zx29clk-v7-0-408411cfcf36@gmail.com> <20260717-zx29clk-v7-1-408411cfcf36@gmail.com> Precedence: bulk X-Mailing-List: linux-clk@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20260717-zx29clk-v7-1-408411cfcf36@gmail.com> On Fri, Jul 17, 2026 at 12:35:37AM +0300, Stefan D=C3=B6singer wrote: > This binding will be used as a subnode of topcrm, which will be added in > the next patch. Irrelevant, drop. Also not true, because next patch is driver patch. >=20 > Why is this a child node and not #phy-cells added to topcrm itself, > like clocks and resets as writing-bindings.rst suggests? Because > of_phy_provider_register checks if the of_node the PHY provider is added > to belongs to the device or is a child of the device, so I can't put the > PHY driver into an MFD (or AUX) child without its own node. >=20 > Signed-off-by: Stefan D=C3=B6singer >=20 > --- >=20 > How do I handle examples? It would be identical to the example in > topcrm. The example needs the reset defines from the next patch in > either case. 1. No, it does not need. Just use whatever numbers. 2. Other code would give you the hint: one example in parent's schema. > --- > .../bindings/phy/zte,zx297520v3-usb-phy.yaml | 96 ++++++++++++++++= ++++++ > MAINTAINERS | 2 + > include/dt-bindings/phy/phy-zte-zx297520v3-usb.h | 12 +++ > 3 files changed, 110 insertions(+) >=20 > diff --git a/Documentation/devicetree/bindings/phy/zte,zx297520v3-usb-phy= =2Eyaml b/Documentation/devicetree/bindings/phy/zte,zx297520v3-usb-phy.yaml > new file mode 100644 > index 000000000000..8bad9365d5cc > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/zte,zx297520v3-usb-phy.yaml > @@ -0,0 +1,96 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/phy/zte,zx297520v3-usb-phy.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ZTE zx297520v3 USB and HSIC PHY > + > +maintainers: > + - Stefan D=C3=B6singer > + > +description: | > + This PHY is found on zx297520v3 boards. It has no configurability on i= ts own, > + but it does require a correct reset and wait sequence to initialize. I= t can > + provide interrupt notification when USB is connected and disconnected. > + > + The phy is a component of the board's topcrm controller. The hardware = needs to > + be declared as a child node of the zte,zx297520v3-topcrm node. > + > + The register space and IRQs always account for two PHYs: One USB 2.0 O= TG phy > + and a HSIC PHY. Not all boards have both. If one is missing, the corre= sponding > + ready flag will never be set. > + > + The "include/dt-bindings/phy/phy-zte-zx297520v3-usb.h" header contains= the > + definition for the PHY indices. > + > +properties: > + compatible: > + const: zte,zx297520v3-usb-phy > + > + reg: > + maxItems: 1 > + > + interrupts: > + items: > + - description: IRQ reporting USB connection > + - description: IRQ reporting USB disconnection > + - description: IRQ reporting HSIC connection > + - description: IRQ reporting HSIC disconnection > + > + interrupt-names: > + items: > + - const: usb-up > + - const: usb-down > + - const: hsic-up > + - const: hsic-down > + > + resets: > + items: > + - description: USB phy reset > + - description: HSIC phy reset Why do you reference here resets from the parent? That's a clear signal you have one device, so one device node regardless of Linux phy core behavior. > + > + reset-names: > + items: > + - const: usb > + - const: hsic > + > + "#phy-cells": > + const: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-names > + - resets > + - reset-names > + - "#phy-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include > + #include > + > + topcrm: clock-controller { > + compatible =3D "zte,zx297520v3-topcrm", "syscon"; > + #address-cells =3D <1>; > + #size-cells =3D <0>; > + #reset-cells =3D <1>; Drop node, you have warnings. > + > + usb-phy@84 { > + compatible =3D "zte,zx297520v3-usb-phy"; > + reg =3D <0x84>; > + interrupts =3D , > + , > + , > + ; Align it properly/ > + interrupt-names =3D "usb-up", "usb-down", "hsic-up", "hsic-dow= n"; > + resets =3D <&topcrm 18>, > + <&topcrm 20>; Same here. > + reset-names =3D "usb", "hsic"; > + #phy-cells =3D <1>; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 8729cea57c3d..cb50c2e3b4ea 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -3878,8 +3878,10 @@ L: linux-arm-kernel@lists.infradead.org (moderated= for non-subscribers) > S: Odd fixes > F: Documentation/arch/arm/zte/ > F: Documentation/devicetree/bindings/arm/zte.yaml > +F: Documentation/devicetree/bindings/phy/zte,zx297520v3-usb-phy.yaml > F: arch/arm/boot/dts/zte/ > F: arch/arm/mach-zte/ > +F: include/dt-bindings/phy/phy-zte-zx297520v3-usb.h > =20 > ARM/ZYNQ ARCHITECTURE > M: Michal Simek > diff --git a/include/dt-bindings/phy/phy-zte-zx297520v3-usb.h b/include/d= t-bindings/phy/phy-zte-zx297520v3-usb.h > new file mode 100644 > index 000000000000..8a0a3ccbdd63 > --- /dev/null > +++ b/include/dt-bindings/phy/phy-zte-zx297520v3-usb.h Filename MUST match compatible. > @@ -0,0 +1,12 @@ > +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ > +/* > + * Copyright (C) Stefan D=C3=B6singer. > + */ > + > +#ifndef __DT_BINDINGS_PHY_USB_ZX297520V3_H > +#define __DT_BINDINGS_PHY_USB_ZX297520V3_H > + > +#define ZX297520V3_USB_PHY 0 > +#define ZX297520V3_HSIC_PHY 1 > + > +#endif /* __DT_BINDINGS_PHY_USB_ZX297520V3_H */ >=20 > --=20 > 2.54.0 >=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 CC55FC4450F for ; Fri, 17 Jul 2026 06:32:24 +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=zPNcXSUekYEgI2vZrW+gCVn9B0M2zG8T+snnlRPooG0=; b=k/NIq6wi1P335h ATJA/o9NbOmYHTooJKMoZhM8ou3gfcy0MTfJnOS27QN2mpe98PPNkd6xeQYqI3C06gjWZMmxrFvYh t6dnFisTeBzh+nf9sKiiaFnH8vKBQVJzS3Gj/0yQIIJh7RmWbAw+/252mg3/Khkk82bfoaDmC6qIZ uSUZMSrx4jI7gDrPP1HZElDy2oYpjv2XUhRxUvzu1D8lVD3UOenOGRLDIb92vv6ff27s7sYVA+MfR /ZZpgVcL6OD2ZAKahaWF4q9AedmjUFZhNJ/zOTUIoIlD7qWi8Mtv0SEWglFqAGVvZNSYT+kC0sEEk fZ8Ke5xbtkE2tIEPwsPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wkc7U-00000001HF7-1L9o; Fri, 17 Jul 2026 06:32:24 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wkc7T-00000001HEk-0b4C; Fri, 17 Jul 2026 06:32:23 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id C7A8F401DE; Fri, 17 Jul 2026 06:32:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0560C1F000E9; Fri, 17 Jul 2026 06:32:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784269942; bh=F88kXLHiJluPemsV2dA4XtGRZ7VlVzWVhA8ffVQ3Koc=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=IMny/Fb25eeaa/OqOPZX4svMfgDHI7w0zXjZMf26ygEip02soGXnmovgLeF0Zeaqh 5RftwD4Rrg+jPyHRDyTmifGl+hu+9Xtlkk7U/2YbyFKcrg2vTVE9W5YXatBOARy94Y d3v1r2hey2BjzJ3t349UtnDHdBH1jxf3cGlcHy94vQmV/aX01wcDNHQAZ3jAwZpduN CgyJtId8oAWdNLYUOisnNsVoYaW38Kxgs3uqBwvBjouNNa5bNTudReiCTkNkyLOJda Y9P7WGyS2GSQADpXl1q+IUegPM0TTdn8p1lmhnjF9YczbFUkcqI7kwJ9m+2wbJOYR2 Z7Obh8mWh0Tug== Date: Fri, 17 Jul 2026 08:32:18 +0200 From: Krzysztof Kozlowski To: Stefan =?utf-8?B?RMO2c2luZ2Vy?= Cc: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Brian Masney , Vinod Koul , Neil Armstrong , Russell King , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-phy@lists.infradead.org Subject: Re: [PATCH v7 01/13] dt-bindings: phy: Add zx297520v3 USB phy documentation Message-ID: <20260717-uncovered-feathered-groundhog-eab16e@quoll> References: <20260717-zx29clk-v7-0-408411cfcf36@gmail.com> <20260717-zx29clk-v7-1-408411cfcf36@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20260717-zx29clk-v7-1-408411cfcf36@gmail.com> 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: , 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 T24gRnJpLCBKdWwgMTcsIDIwMjYgYXQgMTI6MzU6MzdBTSArMDMwMCwgU3RlZmFuIETDtnNpbmdl ciB3cm90ZToKPiBUaGlzIGJpbmRpbmcgd2lsbCBiZSB1c2VkIGFzIGEgc3Vibm9kZSBvZiB0b3Bj cm0sIHdoaWNoIHdpbGwgYmUgYWRkZWQgaW4KPiB0aGUgbmV4dCBwYXRjaC4KCklycmVsZXZhbnQs IGRyb3AuIEFsc28gbm90IHRydWUsIGJlY2F1c2UgbmV4dCBwYXRjaCBpcyBkcml2ZXIgcGF0Y2gu Cgo+IAo+IFdoeSBpcyB0aGlzIGEgY2hpbGQgbm9kZSBhbmQgbm90ICNwaHktY2VsbHMgYWRkZWQg dG8gdG9wY3JtIGl0c2VsZiwKPiBsaWtlIGNsb2NrcyBhbmQgcmVzZXRzIGFzIHdyaXRpbmctYmlu ZGluZ3MucnN0IHN1Z2dlc3RzPyBCZWNhdXNlCj4gb2ZfcGh5X3Byb3ZpZGVyX3JlZ2lzdGVyIGNo ZWNrcyBpZiB0aGUgb2Zfbm9kZSB0aGUgUEhZIHByb3ZpZGVyIGlzIGFkZGVkCj4gdG8gYmVsb25n cyB0byB0aGUgZGV2aWNlIG9yIGlzIGEgY2hpbGQgb2YgdGhlIGRldmljZSwgc28gSSBjYW4ndCBw dXQgdGhlCj4gUEhZIGRyaXZlciBpbnRvIGFuIE1GRCAob3IgQVVYKSBjaGlsZCB3aXRob3V0IGl0 cyBvd24gbm9kZS4KCj4gCj4gU2lnbmVkLW9mZi1ieTogU3RlZmFuIETDtnNpbmdlciA8c3RlZmFu ZG9lc2luZ2VyQGdtYWlsLmNvbT4KPiAKPiAtLS0KPiAKPiBIb3cgZG8gSSBoYW5kbGUgZXhhbXBs ZXM/IEl0IHdvdWxkIGJlIGlkZW50aWNhbCB0byB0aGUgZXhhbXBsZSBpbgo+IHRvcGNybS4gVGhl IGV4YW1wbGUgbmVlZHMgdGhlIHJlc2V0IGRlZmluZXMgZnJvbSB0aGUgbmV4dCBwYXRjaCBpbgo+ IGVpdGhlciBjYXNlLgoKMS4gTm8sIGl0IGRvZXMgbm90IG5lZWQuIEp1c3QgdXNlIHdoYXRldmVy IG51bWJlcnMuCjIuIE90aGVyIGNvZGUgd291bGQgZ2l2ZSB5b3UgdGhlIGhpbnQ6IG9uZSBleGFt cGxlIGluIHBhcmVudCdzIHNjaGVtYS4KCj4gLS0tCj4gIC4uLi9iaW5kaW5ncy9waHkvenRlLHp4 Mjk3NTIwdjMtdXNiLXBoeS55YW1sICAgICAgIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKwo+ ICBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAy ICsKPiAgaW5jbHVkZS9kdC1iaW5kaW5ncy9waHkvcGh5LXp0ZS16eDI5NzUyMHYzLXVzYi5oICAg fCAxMiArKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYg LS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L3p0ZSx6eDI5NzUy MHYzLXVzYi1waHkueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkv enRlLHp4Mjk3NTIwdjMtdXNiLXBoeS55YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl eCAwMDAwMDAwMDAwMDAuLjhiYWQ5MzY1ZDVjYwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L3p0ZSx6eDI5NzUyMHYzLXVzYi1waHku eWFtbAo+IEBAIC0wLDAgKzEsOTYgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQ TC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiArJGlkOiBo dHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9waHkvenRlLHp4Mjk3NTIwdjMtdXNiLXBoeS55 YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUu eWFtbCMKPiArCj4gK3RpdGxlOiBaVEUgengyOTc1MjB2MyBVU0IgYW5kIEhTSUMgUEhZCj4gKwo+ ICttYWludGFpbmVyczoKPiArICAtIFN0ZWZhbiBEw7ZzaW5nZXIgPHN0ZWZhbmRvZXNpbmdlckBn bWFpbC5jb20+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIFRoaXMgUEhZIGlzIGZvdW5kIG9u IHp4Mjk3NTIwdjMgYm9hcmRzLiBJdCBoYXMgbm8gY29uZmlndXJhYmlsaXR5IG9uIGl0cyBvd24s Cj4gKyAgYnV0IGl0IGRvZXMgcmVxdWlyZSBhIGNvcnJlY3QgcmVzZXQgYW5kIHdhaXQgc2VxdWVu Y2UgdG8gaW5pdGlhbGl6ZS4gSXQgY2FuCj4gKyAgcHJvdmlkZSBpbnRlcnJ1cHQgbm90aWZpY2F0 aW9uIHdoZW4gVVNCIGlzIGNvbm5lY3RlZCBhbmQgZGlzY29ubmVjdGVkLgo+ICsKPiArICBUaGUg cGh5IGlzIGEgY29tcG9uZW50IG9mIHRoZSBib2FyZCdzIHRvcGNybSBjb250cm9sbGVyLiBUaGUg aGFyZHdhcmUgbmVlZHMgdG8KPiArICBiZSBkZWNsYXJlZCBhcyBhIGNoaWxkIG5vZGUgb2YgdGhl IHp0ZSx6eDI5NzUyMHYzLXRvcGNybSBub2RlLgo+ICsKPiArICBUaGUgcmVnaXN0ZXIgc3BhY2Ug YW5kIElSUXMgYWx3YXlzIGFjY291bnQgZm9yIHR3byBQSFlzOiBPbmUgVVNCIDIuMCBPVEcgcGh5 Cj4gKyAgYW5kIGEgSFNJQyBQSFkuIE5vdCBhbGwgYm9hcmRzIGhhdmUgYm90aC4gSWYgb25lIGlz IG1pc3NpbmcsIHRoZSBjb3JyZXNwb25kaW5nCj4gKyAgcmVhZHkgZmxhZyB3aWxsIG5ldmVyIGJl IHNldC4KPiArCj4gKyAgVGhlICJpbmNsdWRlL2R0LWJpbmRpbmdzL3BoeS9waHktenRlLXp4Mjk3 NTIwdjMtdXNiLmgiIGhlYWRlciBjb250YWlucyB0aGUKPiArICBkZWZpbml0aW9uIGZvciB0aGUg UEhZIGluZGljZXMuCj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBj b25zdDogenRlLHp4Mjk3NTIwdjMtdXNiLXBoeQo+ICsKPiArICByZWc6Cj4gKyAgICBtYXhJdGVt czogMQo+ICsKPiArICBpbnRlcnJ1cHRzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gZGVzY3Jp cHRpb246IElSUSByZXBvcnRpbmcgVVNCIGNvbm5lY3Rpb24KPiArICAgICAgLSBkZXNjcmlwdGlv bjogSVJRIHJlcG9ydGluZyBVU0IgZGlzY29ubmVjdGlvbgo+ICsgICAgICAtIGRlc2NyaXB0aW9u OiBJUlEgcmVwb3J0aW5nIEhTSUMgY29ubmVjdGlvbgo+ICsgICAgICAtIGRlc2NyaXB0aW9uOiBJ UlEgcmVwb3J0aW5nIEhTSUMgZGlzY29ubmVjdGlvbgo+ICsKPiArICBpbnRlcnJ1cHQtbmFtZXM6 Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBjb25zdDogdXNiLXVwCj4gKyAgICAgIC0gY29uc3Q6 IHVzYi1kb3duCj4gKyAgICAgIC0gY29uc3Q6IGhzaWMtdXAKPiArICAgICAgLSBjb25zdDogaHNp Yy1kb3duCj4gKwo+ICsgIHJlc2V0czoKPiArICAgIGl0ZW1zOgo+ICsgICAgICAtIGRlc2NyaXB0 aW9uOiBVU0IgcGh5IHJlc2V0Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IEhTSUMgcGh5IHJlc2V0 CgpXaHkgZG8geW91IHJlZmVyZW5jZSBoZXJlIHJlc2V0cyBmcm9tIHRoZSBwYXJlbnQ/IFRoYXQn cyBhIGNsZWFyIHNpZ25hbAp5b3UgaGF2ZSBvbmUgZGV2aWNlLCBzbyBvbmUgZGV2aWNlIG5vZGUg cmVnYXJkbGVzcyBvZiBMaW51eCBwaHkgY29yZQpiZWhhdmlvci4KCj4gKwo+ICsgIHJlc2V0LW5h bWVzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gY29uc3Q6IHVzYgo+ICsgICAgICAtIGNvbnN0 OiBoc2ljCj4gKwo+ICsgICIjcGh5LWNlbGxzIjoKPiArICAgIGNvbnN0OiAxCj4gKwo+ICtyZXF1 aXJlZDoKPiArICAtIGNvbXBhdGlibGUKPiArICAtIHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsg IC0gaW50ZXJydXB0LW5hbWVzCj4gKyAgLSByZXNldHMKPiArICAtIHJlc2V0LW5hbWVzCj4gKyAg LSAiI3BoeS1jZWxscyIKPiArCj4gK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiAr ZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKyAgICAjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW50ZXJydXB0 LWNvbnRyb2xsZXIvYXJtLWdpYy5oPgo+ICsgICAgI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3BoeS9w aHktenRlLXp4Mjk3NTIwdjMtdXNiLmg+Cj4gKwo+ICsgICAgdG9wY3JtOiBjbG9jay1jb250cm9s bGVyIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gInp0ZSx6eDI5NzUyMHYzLXRvcGNybSIsICJz eXNjb24iOwo+ICsgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ICsgICAgICAgICNzaXpl LWNlbGxzID0gPDA+Owo+ICsgICAgICAgICNyZXNldC1jZWxscyA9IDwxPjsKCkRyb3Agbm9kZSwg eW91IGhhdmUgd2FybmluZ3MuCgo+ICsKPiArICAgICAgICB1c2ItcGh5QDg0IHsKPiArICAgICAg ICAgIGNvbXBhdGlibGUgPSAienRlLHp4Mjk3NTIwdjMtdXNiLXBoeSI7Cj4gKyAgICAgICAgICBy ZWcgPSA8MHg4ND47Cj4gKyAgICAgICAgICBpbnRlcnJ1cHRzID0gPEdJQ19TUEkgNDIgSVJRX1RZ UEVfRURHRV9SSVNJTkc+LAo+ICsgICAgICAgICAgICA8R0lDX1NQSSA0MyBJUlFfVFlQRV9FREdF X1JJU0lORz4sCj4gKyAgICAgICAgICAgIDxHSUNfU1BJIDQ1IElSUV9UWVBFX0VER0VfUklTSU5H PiwKPiArICAgICAgICAgICAgPEdJQ19TUEkgNDYgSVJRX1RZUEVfRURHRV9SSVNJTkc+OwoKQWxp Z24gaXQgcHJvcGVybHkvCgo+ICsgICAgICAgICAgaW50ZXJydXB0LW5hbWVzID0gInVzYi11cCIs ICJ1c2ItZG93biIsICJoc2ljLXVwIiwgImhzaWMtZG93biI7Cj4gKyAgICAgICAgICByZXNldHMg PSA8JnRvcGNybSAxOD4sCj4gKyAgICAgICAgICAgIDwmdG9wY3JtIDIwPjsKClNhbWUgaGVyZS4K Cj4gKyAgICAgICAgICByZXNldC1uYW1lcyA9ICJ1c2IiLCAiaHNpYyI7Cj4gKyAgICAgICAgICAj cGh5LWNlbGxzID0gPDE+Owo+ICsgICAgICAgIH07Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9N QUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCj4gaW5kZXggODcyOWNlYTU3YzNkLi5jYjUwYzJlM2I0 ZWEgMTAwNjQ0Cj4gLS0tIGEvTUFJTlRBSU5FUlMKPiArKysgYi9NQUlOVEFJTkVSUwo+IEBAIC0z ODc4LDggKzM4NzgsMTAgQEAgTDoJbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn IChtb2RlcmF0ZWQgZm9yIG5vbi1zdWJzY3JpYmVycykKPiAgUzoJT2RkIGZpeGVzCj4gIEY6CURv Y3VtZW50YXRpb24vYXJjaC9hcm0venRlLwo+ICBGOglEb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3MvYXJtL3p0ZS55YW1sCj4gK0Y6CURvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9waHkvenRlLHp4Mjk3NTIwdjMtdXNiLXBoeS55YW1sCj4gIEY6CWFyY2gvYXJtL2Jvb3Qv ZHRzL3p0ZS8KPiAgRjoJYXJjaC9hcm0vbWFjaC16dGUvCj4gK0Y6CWluY2x1ZGUvZHQtYmluZGlu Z3MvcGh5L3BoeS16dGUtengyOTc1MjB2My11c2IuaAo+ICAKPiAgQVJNL1pZTlEgQVJDSElURUNU VVJFCj4gIE06CU1pY2hhbCBTaW1layA8bWljaGFsLnNpbWVrQGFtZC5jb20+Cj4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHQtYmluZGluZ3MvcGh5L3BoeS16dGUtengyOTc1MjB2My11c2IuaCBiL2lu Y2x1ZGUvZHQtYmluZGluZ3MvcGh5L3BoeS16dGUtengyOTc1MjB2My11c2IuaAo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi44YTBhM2NjYmRkNjMKPiAtLS0gL2Rl di9udWxsCj4gKysrIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9waHkvcGh5LXp0ZS16eDI5NzUyMHYz LXVzYi5oCgpGaWxlbmFtZSBNVVNUIG1hdGNoIGNvbXBhdGlibGUuCgo+IEBAIC0wLDAgKzEsMTIg QEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9ubHkgT1IgQlNELTIt Q2xhdXNlKSAqLwo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKEMpIFN0ZWZhbiBEw7ZzaW5nZXIuCj4g KyAqLwo+ICsKPiArI2lmbmRlZiBfX0RUX0JJTkRJTkdTX1BIWV9VU0JfWlgyOTc1MjBWM19ICj4g KyNkZWZpbmUgX19EVF9CSU5ESU5HU19QSFlfVVNCX1pYMjk3NTIwVjNfSAo+ICsKPiArI2RlZmlu ZSBaWDI5NzUyMFYzX1VTQl9QSFkJMAo+ICsjZGVmaW5lIFpYMjk3NTIwVjNfSFNJQ19QSFkJMQo+ ICsKPiArI2VuZGlmIC8qIF9fRFRfQklORElOR1NfUEhZX1VTQl9aWDI5NzUyMFYzX0ggKi8KPiAK PiAtLSAKPiAyLjU0LjAKPiAKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LXBoeQo=