From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.manjaro.org (mail.manjaro.org [116.203.91.91]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E19E919F477; Tue, 16 Jul 2024 20:11:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=116.203.91.91 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721160669; cv=none; b=Mc2A9Fi2I887oeXFT8/6YHYzADykbP6Ge8jJGF9hk/q3YugSfHWvTdiszMqwXGeuVyGvdSZxEglzy5CQI6xwMeQdrEQSyp+6S8CFUEgHexfWr1Eo08MbZlpSsbgQ2mivr65BkuRBAA2KQyM3vKnfNChQM+YcIFemjwG3n5vKK5Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721160669; c=relaxed/simple; bh=6pmHMEmUxMpbFQs48GQ6MskIRmBnGh3l7ycRIPEdiwQ=; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:Content-Type; b=p5TIiPzqgh4wgRlY44ZJt/OYeGF4Q2nzVL8dV7WPUaZlj7XXLwoWVbWhQxn7dPIV/CjhcuKTIKxYHLztKDIzgLv3AveMdE3nwzhu2q9kg6Bn7J9JAR/JHXmES3yOsxYmOwBIHPPfWe5pE/f/tUygJM8XOT3jt7bf8XqxsbAsC5Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=manjaro.org; spf=pass smtp.mailfrom=manjaro.org; dkim=pass (2048-bit key) header.d=manjaro.org header.i=@manjaro.org header.b=nK0+7Ki2; arc=none smtp.client-ip=116.203.91.91 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=manjaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=manjaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=manjaro.org header.i=@manjaro.org header.b="nK0+7Ki2" Precedence: bulk X-Mailing-List: linux-clk@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=manjaro.org; s=2021; t=1721160663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6Gr4Tt/4RDJMqOyQSHRFnO0qkTxn2d0ynsCHySOLEAA=; b=nK0+7Ki2CZmmn09ZBJ7KVoICHInvS0VwzHqyUESuXBGnJpRj6Qp6y1LTMRW1JttVsSwuB/ 7LrvqJ3za/v+eAfs2exHrNOcv8v7sYfXDS9ay1wPimODWQUrBlrvUOurM8opXtfs7BVzEP ygGOSichUAbQYbPWZFcZCTWFYROAk4qg1XciUjYoHgCq3Hlt9ypfFwkRvUchCnVJQYrHO6 /Sd+XdCcPTm1fEnMoJt9zRUkzBn6+SH5nUr7euH68ZNwPkiQCIAdsjM3/NitVcCnsjGIe8 t9xOZ2qiHj/q/S8V2aGQuMsXcKp3CaCuJoTheGpHCIA3z18JFmjudO76OXqExg== Date: Tue, 16 Jul 2024 22:11:02 +0200 From: Dragan Simic To: =?UTF-8?Q?Heiko_St=C3=BCbner?= Cc: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: Re: [PATCH v2 1/3] dt-bindings: clocks: add binding for voltage-controlled-oscillators In-Reply-To: <2186398.KiezcSG77Q@diego> References: <20240715110251.261844-1-heiko@sntech.de> <2832997.XrmoMso0CX@diego> <3f0c241d39c5fedb674d7f9808d0be8f@manjaro.org> <2186398.KiezcSG77Q@diego> Message-ID: X-Sender: dsimic@manjaro.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Authentication-Results: ORIGINATING; auth=pass smtp.auth=dsimic@manjaro.org smtp.mailfrom=dsimic@manjaro.org Hello Heiko, On 2024-07-15 21:13, Heiko Stübner wrote: > Am Montag, 15. Juli 2024, 20:01:35 CEST schrieb Dragan Simic: >> On 2024-07-15 19:46, Heiko Stübner wrote: >> > Am Montag, 15. Juli 2024, 17:15:45 CEST schrieb Dragan Simic: >> >> On 2024-07-15 13:02, Heiko Stuebner wrote: >> >> > In contrast to fixed clocks that are described as ungateable, boards >> >> > sometimes use additional oscillators for things like PCIe reference >> >> > clocks, that need actual supplies to get enabled and enable-gpios to be >> >> > toggled for them to work. >> >> > >> >> > This adds a binding for such oscillators that are not configurable >> >> > themself, but need to handle supplies for them to work. >> >> > >> >> > In schematics they often can be seen as >> >> > >> >> > ---------------- >> >> > Enable - | 100MHz,3.3V, | - VDD >> >> > | 3225 | >> >> > GND - | | - OUT >> >> > ---------------- >> >> > >> >> > or similar. The enable pin might be separate but can also just be tied >> >> > to the vdd supply, hence it is optional in the binding. >> >> > >> >> > Signed-off-by: Heiko Stuebner >> >> > --- >> >> > .../bindings/clock/voltage-oscillator.yaml | 49 +++++++++++++++++++ >> >> > 1 file changed, 49 insertions(+) >> >> > create mode 100644 >> >> > Documentation/devicetree/bindings/clock/voltage-oscillator.yaml >> >> > >> >> > diff --git >> >> > a/Documentation/devicetree/bindings/clock/voltage-oscillator.yaml >> >> > b/Documentation/devicetree/bindings/clock/voltage-oscillator.yaml >> >> > new file mode 100644 >> >> > index 0000000000000..8bff6b0fd582e >> >> > --- /dev/null >> >> > +++ b/Documentation/devicetree/bindings/clock/voltage-oscillator.yaml >> >> > @@ -0,0 +1,49 @@ >> >> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> >> > +%YAML 1.2 >> >> > +--- >> >> > +$id: http://devicetree.org/schemas/clock/voltage-oscillator.yaml# >> >> > +$schema: http://devicetree.org/meta-schemas/core.yaml# >> >> > + >> >> > +title: Voltage controlled oscillator >> >> >> >> Frankly, I find the "voltage-oscillator" and "voltage controlled >> >> oscillator" names awkward. In general, "clock" is used throughout >> >> the entire kernel, when it comes to naming files and defining >> >> "compatible" strings. Thus, I'd suggest that "clock" is used here >> >> instead of "oscillator", because it's consistent and shorter. >> >> >> >> How about using "gated-clock" for the "compatible" string, and >> >> "Simple gated clock generator" instead of "voltage controlled >> >> oscillator"? Besides sounding awkward, "voltage controlled >> >> oscillator" may suggest that the clock generator can be adjusted >> >> or programmed somehow by applying the voltage, while it can only >> >> be enabled or disabled that way, which is by definition clock >> >> gating. Thus, "gated-clock" and "Simple gated clock generator" >> >> would fit very well. >> > >> > The naming came from Stephen - one of the clock maintainers ;-) >> > See discussion in v1. Who also described these things as >> > "voltage-controlled-oscillators". >> > >> > And from that discussion I also got the impression we should aim for >> > more specific naming - especially when talking about dt-bindings, for >> > this >> > "usage in the Linux kernel" actually isn't a suitable metric and >> > "gated-clock" is probably way too generic I think. >> >> I see, thanks for the clarification. Though, the generic nature of >> "gated-clock" as the name may actually make this driver a bit more >> future-proof, by allowing some other features to be added to it at >> some point in the future, avoiding that way the need for yet another >> kernel driver. > > you're talking about the driver ... we're in the hardware-binding here. > Those are two completely different topics ;-) . > > Devicetree is always about describing the hardware as best as possible, > so you don't want too many "generics" there, because we're always > talking > about specific ICs soldered to some board. > > I also "violated" that in my v1 by grouping in the the Diodes parts, > which > as Stephen pointed out are quite different afterall. I'll make sure to go through the v1 discussion in detail ASAP. After that, I'll come back with some more thoughts. 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 AF169C3DA49 for ; Tue, 16 Jul 2024 20:11:30 +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:Message-ID:References:In-Reply-To:Subject:Cc:To:From :Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=46ljWJJLxxzYjKBEn5unwkPS9B96cy6RTUUJcQafUgM=; b=OxonS4YZXSA7Dk3CqE1STEZt1P jw/5MBlHnurT74Wy8wjAgqX+QHdCgYEpszeWFUKchF/C0AdUY6A7A4lt7xaplenEFnfZVOMmI9zkF HRqRUhdTCWH2d+Ht10wYf9n1A+wRuswnE3vi7W8ND2vfyWU+6+r3AYmgi0uHwG6K6Ajqzn5U+V7C2 HcptkYhQ01hTtNxr4mFRlO2nP0wj4TSLVeWrCDcypCDxwUrzoSoHAS+Lygwlh1ejlZ3WYXQ+FlJ3E WfiY8/TdxVrvIY5ycOXMJkeKLj7bELSkriBiW2BABG6xKVtlAEKMjfYOggKFRdhCMfV2vRVhrFv9Y lWAvSPRg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sToWF-0000000Bciy-3vkt; Tue, 16 Jul 2024 20:11:27 +0000 Received: from mail.manjaro.org ([2a01:4f8:c0c:51f3::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sToVt-0000000Bcah-42gm; Tue, 16 Jul 2024 20:11:08 +0000 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=manjaro.org; s=2021; t=1721160663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6Gr4Tt/4RDJMqOyQSHRFnO0qkTxn2d0ynsCHySOLEAA=; b=nK0+7Ki2CZmmn09ZBJ7KVoICHInvS0VwzHqyUESuXBGnJpRj6Qp6y1LTMRW1JttVsSwuB/ 7LrvqJ3za/v+eAfs2exHrNOcv8v7sYfXDS9ay1wPimODWQUrBlrvUOurM8opXtfs7BVzEP ygGOSichUAbQYbPWZFcZCTWFYROAk4qg1XciUjYoHgCq3Hlt9ypfFwkRvUchCnVJQYrHO6 /Sd+XdCcPTm1fEnMoJt9zRUkzBn6+SH5nUr7euH68ZNwPkiQCIAdsjM3/NitVcCnsjGIe8 t9xOZ2qiHj/q/S8V2aGQuMsXcKp3CaCuJoTheGpHCIA3z18JFmjudO76OXqExg== Date: Tue, 16 Jul 2024 22:11:02 +0200 From: Dragan Simic To: =?UTF-8?Q?Heiko_St=C3=BCbner?= Cc: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: Re: [PATCH v2 1/3] dt-bindings: clocks: add binding for voltage-controlled-oscillators In-Reply-To: <2186398.KiezcSG77Q@diego> References: <20240715110251.261844-1-heiko@sntech.de> <2832997.XrmoMso0CX@diego> <3f0c241d39c5fedb674d7f9808d0be8f@manjaro.org> <2186398.KiezcSG77Q@diego> Message-ID: X-Sender: dsimic@manjaro.org Authentication-Results: ORIGINATING; auth=pass smtp.auth=dsimic@manjaro.org smtp.mailfrom=dsimic@manjaro.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240716_131106_699330_B167FD53 X-CRM114-Status: GOOD ( 31.99 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGVsbG8gSGVpa28sCgpPbiAyMDI0LTA3LTE1IDIxOjEzLCBIZWlrbyBTdMO8Ym5lciB3cm90ZToK PiBBbSBNb250YWcsIDE1LiBKdWxpIDIwMjQsIDIwOjAxOjM1IENFU1Qgc2NocmllYiBEcmFnYW4g U2ltaWM6Cj4+IE9uIDIwMjQtMDctMTUgMTk6NDYsIEhlaWtvIFN0w7xibmVyIHdyb3RlOgo+PiA+ IEFtIE1vbnRhZywgMTUuIEp1bGkgMjAyNCwgMTc6MTU6NDUgQ0VTVCBzY2hyaWViIERyYWdhbiBT aW1pYzoKPj4gPj4gT24gMjAyNC0wNy0xNSAxMzowMiwgSGVpa28gU3R1ZWJuZXIgd3JvdGU6Cj4+ ID4+ID4gSW4gY29udHJhc3QgdG8gZml4ZWQgY2xvY2tzIHRoYXQgYXJlIGRlc2NyaWJlZCBhcyB1 bmdhdGVhYmxlLCBib2FyZHMKPj4gPj4gPiBzb21ldGltZXMgdXNlIGFkZGl0aW9uYWwgb3NjaWxs YXRvcnMgZm9yIHRoaW5ncyBsaWtlIFBDSWUgcmVmZXJlbmNlCj4+ID4+ID4gY2xvY2tzLCB0aGF0 IG5lZWQgYWN0dWFsIHN1cHBsaWVzIHRvIGdldCBlbmFibGVkIGFuZCBlbmFibGUtZ3Bpb3MgdG8g YmUKPj4gPj4gPiB0b2dnbGVkIGZvciB0aGVtIHRvIHdvcmsuCj4+ID4+ID4KPj4gPj4gPiBUaGlz IGFkZHMgYSBiaW5kaW5nIGZvciBzdWNoIG9zY2lsbGF0b3JzIHRoYXQgYXJlIG5vdCBjb25maWd1 cmFibGUKPj4gPj4gPiB0aGVtc2VsZiwgYnV0IG5lZWQgdG8gaGFuZGxlIHN1cHBsaWVzIGZvciB0 aGVtIHRvIHdvcmsuCj4+ID4+ID4KPj4gPj4gPiBJbiBzY2hlbWF0aWNzIHRoZXkgb2Z0ZW4gY2Fu IGJlIHNlZW4gYXMKPj4gPj4gPgo+PiA+PiA+ICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0KPj4g Pj4gPiBFbmFibGUgLSB8IDEwME1IeiwzLjNWLCB8IC0gVkRECj4+ID4+ID4gICAgICAgICAgfCAg ICAzMjI1ICAgICAgfAo+PiA+PiA+ICAgIEdORCAtIHwgICAgICAgICAgICAgIHwgLSBPVVQKPj4g Pj4gPiAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tCj4+ID4+ID4KPj4gPj4gPiBvciBzaW1pbGFy LiBUaGUgZW5hYmxlIHBpbiBtaWdodCBiZSBzZXBhcmF0ZSBidXQgY2FuIGFsc28ganVzdCBiZSB0 aWVkCj4+ID4+ID4gdG8gdGhlIHZkZCBzdXBwbHksIGhlbmNlIGl0IGlzIG9wdGlvbmFsIGluIHRo ZSBiaW5kaW5nLgo+PiA+PiA+Cj4+ID4+ID4gU2lnbmVkLW9mZi1ieTogSGVpa28gU3R1ZWJuZXIg PGhlaWtvQHNudGVjaC5kZT4KPj4gPj4gPiAtLS0KPj4gPj4gPiAgLi4uL2JpbmRpbmdzL2Nsb2Nr L3ZvbHRhZ2Utb3NjaWxsYXRvci55YW1sICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKwo+PiA+ PiA+ICAxIGZpbGUgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKQo+PiA+PiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQKPj4gPj4gPiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2sv dm9sdGFnZS1vc2NpbGxhdG9yLnlhbWwKPj4gPj4gPgo+PiA+PiA+IGRpZmYgLS1naXQKPj4gPj4g PiBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay92b2x0YWdlLW9zY2ls bGF0b3IueWFtbAo+PiA+PiA+IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Ns b2NrL3ZvbHRhZ2Utb3NjaWxsYXRvci55YW1sCj4+ID4+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK Pj4gPj4gPiBpbmRleCAwMDAwMDAwMDAwMDAwLi44YmZmNmIwZmQ1ODJlCj4+ID4+ID4gLS0tIC9k ZXYvbnVsbAo+PiA+PiA+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9j bG9jay92b2x0YWdlLW9zY2lsbGF0b3IueWFtbAo+PiA+PiA+IEBAIC0wLDAgKzEsNDkgQEAKPj4g Pj4gPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1D bGF1c2UpCj4+ID4+ID4gKyVZQU1MIDEuMgo+PiA+PiA+ICstLS0KPj4gPj4gPiArJGlkOiBodHRw Oi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9jbG9jay92b2x0YWdlLW9zY2lsbGF0b3IueWFtbCMK Pj4gPj4gPiArJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3Jl LnlhbWwjCj4+ID4+ID4gKwo+PiA+PiA+ICt0aXRsZTogVm9sdGFnZSBjb250cm9sbGVkIG9zY2ls bGF0b3IKPj4gPj4KPj4gPj4gRnJhbmtseSwgSSBmaW5kIHRoZSAidm9sdGFnZS1vc2NpbGxhdG9y IiBhbmQgInZvbHRhZ2UgY29udHJvbGxlZAo+PiA+PiBvc2NpbGxhdG9yIiBuYW1lcyBhd2t3YXJk LiAgSW4gZ2VuZXJhbCwgImNsb2NrIiBpcyB1c2VkIHRocm91Z2hvdXQKPj4gPj4gdGhlIGVudGly ZSBrZXJuZWwsIHdoZW4gaXQgY29tZXMgdG8gbmFtaW5nIGZpbGVzIGFuZCBkZWZpbmluZwo+PiA+ PiAiY29tcGF0aWJsZSIgc3RyaW5ncy4gIFRodXMsIEknZCBzdWdnZXN0IHRoYXQgImNsb2NrIiBp cyB1c2VkIGhlcmUKPj4gPj4gaW5zdGVhZCBvZiAib3NjaWxsYXRvciIsIGJlY2F1c2UgaXQncyBj b25zaXN0ZW50IGFuZCBzaG9ydGVyLgo+PiA+Pgo+PiA+PiBIb3cgYWJvdXQgdXNpbmcgImdhdGVk LWNsb2NrIiBmb3IgdGhlICJjb21wYXRpYmxlIiBzdHJpbmcsIGFuZAo+PiA+PiAiU2ltcGxlIGdh dGVkIGNsb2NrIGdlbmVyYXRvciIgaW5zdGVhZCBvZiAidm9sdGFnZSBjb250cm9sbGVkCj4+ID4+ IG9zY2lsbGF0b3IiPyAgQmVzaWRlcyBzb3VuZGluZyBhd2t3YXJkLCAidm9sdGFnZSBjb250cm9s bGVkCj4+ID4+IG9zY2lsbGF0b3IiIG1heSBzdWdnZXN0IHRoYXQgdGhlIGNsb2NrIGdlbmVyYXRv ciBjYW4gYmUgYWRqdXN0ZWQKPj4gPj4gb3IgcHJvZ3JhbW1lZCBzb21laG93IGJ5IGFwcGx5aW5n IHRoZSB2b2x0YWdlLCB3aGlsZSBpdCBjYW4gb25seQo+PiA+PiBiZSBlbmFibGVkIG9yIGRpc2Fi bGVkIHRoYXQgd2F5LCB3aGljaCBpcyBieSBkZWZpbml0aW9uIGNsb2NrCj4+ID4+IGdhdGluZy4g IFRodXMsICJnYXRlZC1jbG9jayIgYW5kICJTaW1wbGUgZ2F0ZWQgY2xvY2sgZ2VuZXJhdG9yIgo+ PiA+PiB3b3VsZCBmaXQgdmVyeSB3ZWxsLgo+PiA+Cj4+ID4gVGhlIG5hbWluZyBjYW1lIGZyb20g U3RlcGhlbiAtIG9uZSBvZiB0aGUgY2xvY2sgbWFpbnRhaW5lcnMgOy0pCj4+ID4gU2VlIGRpc2N1 c3Npb24gaW4gdjEuIFdobyBhbHNvIGRlc2NyaWJlZCB0aGVzZSB0aGluZ3MgYXMKPj4gPiAidm9s dGFnZS1jb250cm9sbGVkLW9zY2lsbGF0b3JzIi4KPj4gPgo+PiA+IEFuZCBmcm9tIHRoYXQgZGlz Y3Vzc2lvbiBJIGFsc28gZ290IHRoZSBpbXByZXNzaW9uIHdlIHNob3VsZCBhaW0gZm9yCj4+ID4g bW9yZSBzcGVjaWZpYyBuYW1pbmcgLSBlc3BlY2lhbGx5IHdoZW4gdGFsa2luZyBhYm91dCBkdC1i aW5kaW5ncywgZm9yCj4+ID4gdGhpcwo+PiA+ICJ1c2FnZSBpbiB0aGUgTGludXgga2VybmVsIiBh Y3R1YWxseSBpc24ndCBhIHN1aXRhYmxlIG1ldHJpYyBhbmQKPj4gPiAiZ2F0ZWQtY2xvY2siIGlz IHByb2JhYmx5IHdheSB0b28gZ2VuZXJpYyBJIHRoaW5rLgo+PiAKPj4gSSBzZWUsIHRoYW5rcyBm b3IgdGhlIGNsYXJpZmljYXRpb24uICBUaG91Z2gsIHRoZSBnZW5lcmljIG5hdHVyZSBvZgo+PiAi Z2F0ZWQtY2xvY2siIGFzIHRoZSBuYW1lIG1heSBhY3R1YWxseSBtYWtlIHRoaXMgZHJpdmVyIGEg Yml0IG1vcmUKPj4gZnV0dXJlLXByb29mLCBieSBhbGxvd2luZyBzb21lIG90aGVyIGZlYXR1cmVz IHRvIGJlIGFkZGVkIHRvIGl0IGF0Cj4+IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSwgYXZvaWRp bmcgdGhhdCB3YXkgdGhlIG5lZWQgZm9yIHlldCBhbm90aGVyCj4+IGtlcm5lbCBkcml2ZXIuCj4g Cj4geW91J3JlIHRhbGtpbmcgYWJvdXQgdGhlIGRyaXZlciAuLi4gd2UncmUgaW4gdGhlIGhhcmR3 YXJlLWJpbmRpbmcgaGVyZS4KPiBUaG9zZSBhcmUgdHdvIGNvbXBsZXRlbHkgZGlmZmVyZW50IHRv cGljcyA7LSkgLgo+IAo+IERldmljZXRyZWUgaXMgYWx3YXlzIGFib3V0IGRlc2NyaWJpbmcgdGhl IGhhcmR3YXJlIGFzIGJlc3QgYXMgcG9zc2libGUsCj4gc28geW91IGRvbid0IHdhbnQgdG9vIG1h bnkgImdlbmVyaWNzIiB0aGVyZSwgYmVjYXVzZSB3ZSdyZSBhbHdheXMgCj4gdGFsa2luZwo+IGFi b3V0IHNwZWNpZmljIElDcyBzb2xkZXJlZCB0byBzb21lIGJvYXJkLgo+IAo+IEkgYWxzbyAidmlv bGF0ZWQiIHRoYXQgaW4gbXkgdjEgYnkgZ3JvdXBpbmcgaW4gdGhlIHRoZSBEaW9kZXMgcGFydHMs IAo+IHdoaWNoCj4gYXMgU3RlcGhlbiBwb2ludGVkIG91dCBhcmUgcXVpdGUgZGlmZmVyZW50IGFm dGVyYWxsLgoKSSdsbCBtYWtlIHN1cmUgdG8gZ28gdGhyb3VnaCB0aGUgdjEgZGlzY3Vzc2lvbiBp biBkZXRhaWwgQVNBUC4gIEFmdGVyCnRoYXQsIEknbGwgY29tZSBiYWNrIHdpdGggc29tZSBtb3Jl IHRob3VnaHRzLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1yb2NrY2hpcAo=