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 X-Spam-Level: X-Spam-Status: No, score=-16.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5F8CC433DB for ; Thu, 4 Mar 2021 20:04:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9468164F79 for ; Thu, 4 Mar 2021 20:04:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237704AbhCDUDc (ORCPT ); Thu, 4 Mar 2021 15:03:32 -0500 Received: from mail.kernel.org ([198.145.29.99]:50376 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236804AbhCDUD1 (ORCPT ); Thu, 4 Mar 2021 15:03:27 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 66CCC64F45; Thu, 4 Mar 2021 20:02:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1614888166; bh=bruc6SY11nBgSItW59izSH7Jt5Lb6PEf73rKiiR9gvQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=YC7vXYrbKSlpqOHrmatgu1RESLRfZElZ3V56ybqaWC5SfA1KiPowSDQxgypsgc5P1 z2sbEMYvJ5Pd+br9iNppsr8ly6dwSMlUD4HWYfB44oWHCIJnIyRaUUxGeeRb3OwkwX gjv98iBw5dwRAULA6y5q0hm1fdDBpKHYyeE3lvLFrIflYTcL+hp005jV1QBVLd2BzM LHkpMP5ryg0pAw7e4XM0UVjhD5TNJSHi0A7cAwemVz68YbMNGLGzklyEBSomKWxgbe jJVQ8CyAdUOpcEkAOZZa04YdR3FaC2L3c8RDpi+TB7VBfnxPpJ1CUb5mJ/fB1JjKHq Dek2GogjvrvqA== Received: by mail-ej1-f45.google.com with SMTP id p8so25533102ejb.10; Thu, 04 Mar 2021 12:02:46 -0800 (PST) X-Gm-Message-State: AOAM530xa6QkWIyv9KCVggQSl2slaXawQlsuoOs1ugM7VEV7itn0oJWz iAMo7NQP8iA0qSkf+vjnTN2GJrQWDaJExnAk0Q== X-Google-Smtp-Source: ABdhPJzwjPqB5mqgjUm8IO6F5PFehRlUl9DieoKYxQUK9v3daKrCxnAREqPHnHBfcmjiHKHpDPpZeGLj6ie+eG05LAg= X-Received: by 2002:a17:906:25c4:: with SMTP id n4mr6218826ejb.359.1614888165006; Thu, 04 Mar 2021 12:02:45 -0800 (PST) MIME-Version: 1.0 References: <076994fc051e9230a3fef9e3eb5ec932104ef16a.1612867682.git.michal.simek@xilinx.com> <20210210222241.GA2901449@robh.at.kernel.org> <584bfee2-17a6-5935-b61c-b49824bcf857@xilinx.com> <2f0f4e86-cf9d-03d7-a3a6-8f2284facaaa@xilinx.com> In-Reply-To: <2f0f4e86-cf9d-03d7-a3a6-8f2284facaaa@xilinx.com> From: Rob Herring Date: Thu, 4 Mar 2021 14:02:23 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/2] dt-bindings: usb: misc: Add binding for Microchip usb5744 hub To: Michal Simek Cc: "linux-kernel@vger.kernel.org" , Michal Simek , git , Piyush Mehta , Greg Kroah-Hartman , devicetree@vger.kernel.org, linux-arm-kernel , Linux USB List , Wolfram Sang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 24, 2021 at 7:38 AM Michal Simek wrot= e: > > Hi Rob, > > On 2/11/21 3:42 PM, Rob Herring wrote: > > On Thu, Feb 11, 2021 at 3:35 AM Michal Simek = wrote: > >> > >> Hi Rob, > >> > >> On 2/10/21 11:22 PM, Rob Herring wrote: > >>> On Tue, Feb 09, 2021 at 11:48:09AM +0100, Michal Simek wrote: > >>>> From: Piyush Mehta > >>>> > >>>> Added dt binding for usb5744 driver. > >>>> > >>>> Signed-off-by: Piyush Mehta > >>>> Signed-off-by: Michal Simek > >>>> --- > >>>> > >>>> Changes in v2: None > >>>> > >>>> .../bindings/usb/microchip,usb5744.yaml | 56 ++++++++++++++++= +++ > >>>> MAINTAINERS | 1 + > >>>> 2 files changed, 57 insertions(+) > >>>> create mode 100644 Documentation/devicetree/bindings/usb/microchip,= usb5744.yaml > >>>> > >>>> diff --git a/Documentation/devicetree/bindings/usb/microchip,usb5744= .yaml b/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml > >>>> new file mode 100644 > >>>> index 000000000000..fe222f6db81d > >>>> --- /dev/null > >>>> +++ b/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml > >>>> @@ -0,0 +1,56 @@ > >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>>> +%YAML 1.2 > >>>> +--- > >>>> +$id: "http://devicetree.org/schemas/usb/microchip,usb5744.yaml#" > >>>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > >>>> + > >>>> +title: Bindings for the Microchip USB5744 4-port Hub Controller > >>>> + > >>>> +description: > >>>> + Microchip=E2=80=99s USB5744 SmartHub=E2=84=A2 IC is a 4 port, Sup= erSpeed (SS)/Hi-Speed (HS), > >>>> + low power, low pin count configurable and fully compliant with th= e USB 3.1 > >>>> + Gen 1 specification. The USB5744 also supports Full Speed (FS) an= d Low Speed > >>>> + (LS) USB signaling, offering complete coverage of all defined USB= operating > >>>> + speeds. The new SuperSpeed hubs operate in parallel with the USB = 2.0 > >>>> + controller, so 5 Gbps SuperSpeed data transfers are not affected = by slower > >>>> + USB 2.0 traffic. > >>>> + > >>>> +maintainers: > >>>> + - Piyush Mehta > >>>> + - Michal Simek > >>>> + > >>>> +properties: > >>>> + compatible: > >>>> + const: microchip,usb5744 > >>>> + > >>>> + reg: > >>>> + maxItems: 1 > >>>> + description: | > >>>> + Specifies the i2c slave address, it is required and should be= 0x2d > >>>> + if I2C is used. > >>> > >>> If I2C is not used, then this should be underneath the USB host as a = USB > >>> device. That also implies a different compatible string. I'd suggest = you > >>> just say I2C is required if that's your use. > >> > >> We can't say that i2c is required because we have both cases. One is > >> really usb hub connected over i2c which at least requires to send one > >> smbus command to start operate. But it can be extended to add more > >> features - limit speeds, disable ports, etc. > >> > >> And the second is really the same usb hub without i2c connected which > >> runs in default mode. But reset is required to ensure proper reset > >> sequence. > >> Hub also have external clock chip which is not handled now because it = is > >> just crystal on the board but if you want I can also model it via fixe= d > >> clock and call clock enable for it. > >> > >> It is the same use case as is with > >> Documentation/devicetree/bindings/usb/usb3503.txt > > > > Yes, there are examples of how we don't want to do it. > > ok. > > > > >> Can you please elaborate why different compatible string should be use= d? > >> It is still the same device and not quite sure why different compatibl= e > >> string should be used. > >> > >> Do you also want to example where this node is the part of usb node? > > > > See usb/usb-device.txt. And there is this[1] under review. > > > > For these cases with I2C, I'd really rather see the hub always under > > the USB bus with a link to the I2C bus when connected. > > I read that thread and also looked at his device and it is very similar > to this one. Binding should also have information about i2c or spi. It > is the same case here that you can use this hub without any bus > connected which works in default mode. Or when i2c/smbus is connected > and the hub is waiting for initialization sequence. And I expect spi > behaves very similarly but don't have this setup here. > > Do we have any binding doc which is using suggested bus link? 'i2c-bus' or 'ddc-i2c-bus' properties for I2C. Don't think we have anything for SPI, but I'd expect it would be similar though we'd need a cell for the chip-select. Rob 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 X-Spam-Level: X-Spam-Status: No, score=-14.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF062C433E0 for ; Thu, 4 Mar 2021 20:04:47 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5EA9664F70 for ; Thu, 4 Mar 2021 20:04:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5EA9664F70 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=yOBQ5ztlGRzVLzuJ3tlC6yrs5Qa7W54GQKFiOTPZ3Uk=; b=XaD/2ek6+Ub8jHOzP3BC05+PI HcP5VPov15Xfy7yDn7Q5/VrA61dKZVt2IgcFVsHG8l5TZT5IKYlLXsVvfqgi4gtbZmzxc3QDLbMY7 5UOo6aRHjWUVXqJpLj1FlvNWhOehgbpE5i2Lq1HcZOsISt9Rzeh7GxMbehTkpBytkUy5rNnnLQYU8 ZtBfHCEYPOXYbNR9WOHtGnMcV9wJDAEINFK/vR+kdJgAxmGpL9yVTH9OhcotWbKGoRGJuFr4aNczd VzaFtJVZcnpmHxsuSpCPyo5SD3KlZDH7dMbDTdLUj1aoYgczjwf9oaSc0m8hqm8psorme53C66mY5 X0xSLF7rQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHuBZ-009rnI-Up; Thu, 04 Mar 2021 20:03:02 +0000 Received: from mail.kernel.org ([198.145.29.99]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHuBR-009rix-AT for linux-arm-kernel@lists.infradead.org; Thu, 04 Mar 2021 20:02:56 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6C97364F76 for ; Thu, 4 Mar 2021 20:02:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1614888166; bh=bruc6SY11nBgSItW59izSH7Jt5Lb6PEf73rKiiR9gvQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=YC7vXYrbKSlpqOHrmatgu1RESLRfZElZ3V56ybqaWC5SfA1KiPowSDQxgypsgc5P1 z2sbEMYvJ5Pd+br9iNppsr8ly6dwSMlUD4HWYfB44oWHCIJnIyRaUUxGeeRb3OwkwX gjv98iBw5dwRAULA6y5q0hm1fdDBpKHYyeE3lvLFrIflYTcL+hp005jV1QBVLd2BzM LHkpMP5ryg0pAw7e4XM0UVjhD5TNJSHi0A7cAwemVz68YbMNGLGzklyEBSomKWxgbe jJVQ8CyAdUOpcEkAOZZa04YdR3FaC2L3c8RDpi+TB7VBfnxPpJ1CUb5mJ/fB1JjKHq Dek2GogjvrvqA== Received: by mail-ej1-f42.google.com with SMTP id dx17so24259646ejb.2 for ; Thu, 04 Mar 2021 12:02:46 -0800 (PST) X-Gm-Message-State: AOAM53100wlNZXTbeLk8B/YHm6lMG63cWcaOeh+QN5vQnHdoO62MOAAF 0VVlP7YOJDWIW/pwIDaBG2aiR32DcyF0qJzVDQ== X-Google-Smtp-Source: ABdhPJzwjPqB5mqgjUm8IO6F5PFehRlUl9DieoKYxQUK9v3daKrCxnAREqPHnHBfcmjiHKHpDPpZeGLj6ie+eG05LAg= X-Received: by 2002:a17:906:25c4:: with SMTP id n4mr6218826ejb.359.1614888165006; Thu, 04 Mar 2021 12:02:45 -0800 (PST) MIME-Version: 1.0 References: <076994fc051e9230a3fef9e3eb5ec932104ef16a.1612867682.git.michal.simek@xilinx.com> <20210210222241.GA2901449@robh.at.kernel.org> <584bfee2-17a6-5935-b61c-b49824bcf857@xilinx.com> <2f0f4e86-cf9d-03d7-a3a6-8f2284facaaa@xilinx.com> In-Reply-To: <2f0f4e86-cf9d-03d7-a3a6-8f2284facaaa@xilinx.com> From: Rob Herring Date: Thu, 4 Mar 2021 14:02:23 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/2] dt-bindings: usb: misc: Add binding for Microchip usb5744 hub To: Michal Simek Cc: "linux-kernel@vger.kernel.org" , Michal Simek , git , Piyush Mehta , Greg Kroah-Hartman , devicetree@vger.kernel.org, linux-arm-kernel , Linux USB List , Wolfram Sang 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 T24gV2VkLCBGZWIgMjQsIDIwMjEgYXQgNzozOCBBTSBNaWNoYWwgU2ltZWsgPG1pY2hhbC5zaW1l a0B4aWxpbnguY29tPiB3cm90ZToKPgo+IEhpIFJvYiwKPgo+IE9uIDIvMTEvMjEgMzo0MiBQTSwg Um9iIEhlcnJpbmcgd3JvdGU6Cj4gPiBPbiBUaHUsIEZlYiAxMSwgMjAyMSBhdCAzOjM1IEFNIE1p Y2hhbCBTaW1layA8bWljaGFsLnNpbWVrQHhpbGlueC5jb20+IHdyb3RlOgo+ID4+Cj4gPj4gSGkg Um9iLAo+ID4+Cj4gPj4gT24gMi8xMC8yMSAxMToyMiBQTSwgUm9iIEhlcnJpbmcgd3JvdGU6Cj4g Pj4+IE9uIFR1ZSwgRmViIDA5LCAyMDIxIGF0IDExOjQ4OjA5QU0gKzAxMDAsIE1pY2hhbCBTaW1l ayB3cm90ZToKPiA+Pj4+IEZyb206IFBpeXVzaCBNZWh0YSA8cGl5dXNoLm1laHRhQHhpbGlueC5j b20+Cj4gPj4+Pgo+ID4+Pj4gQWRkZWQgZHQgYmluZGluZyBmb3IgdXNiNTc0NCBkcml2ZXIuCj4g Pj4+Pgo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogUGl5dXNoIE1laHRhIDxwaXl1c2gubWVodGFAeGls aW54LmNvbT4KPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IE1pY2hhbCBTaW1layA8bWljaGFsLnNpbWVr QHhpbGlueC5jb20+Cj4gPj4+PiAtLS0KPiA+Pj4+Cj4gPj4+PiBDaGFuZ2VzIGluIHYyOiBOb25l Cj4gPj4+Pgo+ID4+Pj4gIC4uLi9iaW5kaW5ncy91c2IvbWljcm9jaGlwLHVzYjU3NDQueWFtbCAg ICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysKPiA+Pj4+ICBNQUlOVEFJTkVSUyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCj4gPj4+PiAgMiBmaWxlcyBjaGFuZ2Vk LCA1NyBpbnNlcnRpb25zKCspCj4gPj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvbWljcm9jaGlwLHVzYjU3NDQueWFtbAo+ID4+Pj4K PiA+Pj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNi L21pY3JvY2hpcCx1c2I1NzQ0LnlhbWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvdXNiL21pY3JvY2hpcCx1c2I1NzQ0LnlhbWwKPiA+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gPj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmZlMjIyZjZkYjgxZAo+ID4+Pj4gLS0tIC9kZXYv bnVsbAo+ID4+Pj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9t aWNyb2NoaXAsdXNiNTc0NC55YW1sCj4gPj4+PiBAQCAtMCwwICsxLDU2IEBACj4gPj4+PiArIyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4g Pj4+PiArJVlBTUwgMS4yCj4gPj4+PiArLS0tCj4gPj4+PiArJGlkOiAiaHR0cDovL2RldmljZXRy ZWUub3JnL3NjaGVtYXMvdXNiL21pY3JvY2hpcCx1c2I1NzQ0LnlhbWwjIgo+ID4+Pj4gKyRzY2hl bWE6ICJodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCMiCj4gPj4+ PiArCj4gPj4+PiArdGl0bGU6IEJpbmRpbmdzIGZvciB0aGUgTWljcm9jaGlwIFVTQjU3NDQgNC1w b3J0IEh1YiBDb250cm9sbGVyCj4gPj4+PiArCj4gPj4+PiArZGVzY3JpcHRpb246Cj4gPj4+PiAr ICBNaWNyb2NoaXDigJlzIFVTQjU3NDQgU21hcnRIdWLihKIgSUMgaXMgYSA0IHBvcnQsIFN1cGVy U3BlZWQgKFNTKS9IaS1TcGVlZCAoSFMpLAo+ID4+Pj4gKyAgbG93IHBvd2VyLCBsb3cgcGluIGNv dW50IGNvbmZpZ3VyYWJsZSBhbmQgZnVsbHkgY29tcGxpYW50IHdpdGggdGhlIFVTQiAzLjEKPiA+ Pj4+ICsgIEdlbiAxIHNwZWNpZmljYXRpb24uIFRoZSBVU0I1NzQ0IGFsc28gc3VwcG9ydHMgRnVs bCBTcGVlZCAoRlMpIGFuZCBMb3cgU3BlZWQKPiA+Pj4+ICsgIChMUykgVVNCIHNpZ25hbGluZywg b2ZmZXJpbmcgY29tcGxldGUgY292ZXJhZ2Ugb2YgYWxsIGRlZmluZWQgVVNCIG9wZXJhdGluZwo+ ID4+Pj4gKyAgc3BlZWRzLiBUaGUgbmV3IFN1cGVyU3BlZWQgaHVicyBvcGVyYXRlIGluIHBhcmFs bGVsIHdpdGggdGhlIFVTQiAyLjAKPiA+Pj4+ICsgIGNvbnRyb2xsZXIsIHNvIDUgR2JwcyBTdXBl clNwZWVkIGRhdGEgdHJhbnNmZXJzIGFyZSBub3QgYWZmZWN0ZWQgYnkgc2xvd2VyCj4gPj4+PiAr ICBVU0IgMi4wIHRyYWZmaWMuCj4gPj4+PiArCj4gPj4+PiArbWFpbnRhaW5lcnM6Cj4gPj4+PiAr ICAtIFBpeXVzaCBNZWh0YSA8cGl5dXNoLm1laHRhQHhpbGlueC5jb20+Cj4gPj4+PiArICAtIE1p Y2hhbCBTaW1layA8bWljaGFsLnNpbWVrQHhpbGlueC5jb20+Cj4gPj4+PiArCj4gPj4+PiArcHJv cGVydGllczoKPiA+Pj4+ICsgIGNvbXBhdGlibGU6Cj4gPj4+PiArICAgIGNvbnN0OiBtaWNyb2No aXAsdXNiNTc0NAo+ID4+Pj4gKwo+ID4+Pj4gKyAgcmVnOgo+ID4+Pj4gKyAgICBtYXhJdGVtczog MQo+ID4+Pj4gKyAgICBkZXNjcmlwdGlvbjogfAo+ID4+Pj4gKyAgICAgIFNwZWNpZmllcyB0aGUg aTJjIHNsYXZlIGFkZHJlc3MsIGl0IGlzIHJlcXVpcmVkIGFuZCBzaG91bGQgYmUgMHgyZAo+ID4+ Pj4gKyAgICAgIGlmIEkyQyBpcyB1c2VkLgo+ID4+Pgo+ID4+PiBJZiBJMkMgaXMgbm90IHVzZWQs IHRoZW4gdGhpcyBzaG91bGQgYmUgdW5kZXJuZWF0aCB0aGUgVVNCIGhvc3QgYXMgYSBVU0IKPiA+ Pj4gZGV2aWNlLiBUaGF0IGFsc28gaW1wbGllcyBhIGRpZmZlcmVudCBjb21wYXRpYmxlIHN0cmlu Zy4gSSdkIHN1Z2dlc3QgeW91Cj4gPj4+IGp1c3Qgc2F5IEkyQyBpcyByZXF1aXJlZCBpZiB0aGF0 J3MgeW91ciB1c2UuCj4gPj4KPiA+PiBXZSBjYW4ndCBzYXkgdGhhdCBpMmMgaXMgcmVxdWlyZWQg YmVjYXVzZSB3ZSBoYXZlIGJvdGggY2FzZXMuIE9uZSBpcwo+ID4+IHJlYWxseSB1c2IgaHViIGNv bm5lY3RlZCBvdmVyIGkyYyB3aGljaCBhdCBsZWFzdCByZXF1aXJlcyB0byBzZW5kIG9uZQo+ID4+ IHNtYnVzIGNvbW1hbmQgdG8gc3RhcnQgb3BlcmF0ZS4gQnV0IGl0IGNhbiBiZSBleHRlbmRlZCB0 byBhZGQgbW9yZQo+ID4+IGZlYXR1cmVzIC0gbGltaXQgc3BlZWRzLCBkaXNhYmxlIHBvcnRzLCBl dGMuCj4gPj4KPiA+PiBBbmQgdGhlIHNlY29uZCBpcyByZWFsbHkgdGhlIHNhbWUgdXNiIGh1YiB3 aXRob3V0IGkyYyBjb25uZWN0ZWQgd2hpY2gKPiA+PiBydW5zIGluIGRlZmF1bHQgbW9kZS4gQnV0 IHJlc2V0IGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBwcm9wZXIgcmVzZXQKPiA+PiBzZXF1ZW5jZS4K PiA+PiBIdWIgYWxzbyBoYXZlIGV4dGVybmFsIGNsb2NrIGNoaXAgd2hpY2ggaXMgbm90IGhhbmRs ZWQgbm93IGJlY2F1c2UgaXQgaXMKPiA+PiBqdXN0IGNyeXN0YWwgb24gdGhlIGJvYXJkIGJ1dCBp ZiB5b3Ugd2FudCBJIGNhbiBhbHNvIG1vZGVsIGl0IHZpYSBmaXhlZAo+ID4+IGNsb2NrIGFuZCBj YWxsIGNsb2NrIGVuYWJsZSBmb3IgaXQuCj4gPj4KPiA+PiBJdCBpcyB0aGUgc2FtZSB1c2UgY2Fz ZSBhcyBpcyB3aXRoCj4gPj4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi91 c2IzNTAzLnR4dAo+ID4KPiA+IFllcywgdGhlcmUgYXJlIGV4YW1wbGVzIG9mIGhvdyB3ZSBkb24n dCB3YW50IHRvIGRvIGl0Lgo+Cj4gb2suCj4KPiA+Cj4gPj4gQ2FuIHlvdSBwbGVhc2UgZWxhYm9y YXRlIHdoeSBkaWZmZXJlbnQgY29tcGF0aWJsZSBzdHJpbmcgc2hvdWxkIGJlIHVzZWQ/Cj4gPj4g SXQgaXMgc3RpbGwgdGhlIHNhbWUgZGV2aWNlIGFuZCBub3QgcXVpdGUgc3VyZSB3aHkgZGlmZmVy ZW50IGNvbXBhdGlibGUKPiA+PiBzdHJpbmcgc2hvdWxkIGJlIHVzZWQuCj4gPj4KPiA+PiBEbyB5 b3UgYWxzbyB3YW50IHRvIGV4YW1wbGUgd2hlcmUgdGhpcyBub2RlIGlzIHRoZSBwYXJ0IG9mIHVz YiBub2RlPwo+ID4KPiA+IFNlZSB1c2IvdXNiLWRldmljZS50eHQuIEFuZCB0aGVyZSBpcyB0aGlz WzFdIHVuZGVyIHJldmlldy4KPiA+Cj4gPiBGb3IgdGhlc2UgY2FzZXMgd2l0aCBJMkMsIEknZCBy ZWFsbHkgcmF0aGVyIHNlZSB0aGUgaHViIGFsd2F5cyB1bmRlcgo+ID4gdGhlIFVTQiBidXMgd2l0 aCBhIGxpbmsgdG8gdGhlIEkyQyBidXMgd2hlbiBjb25uZWN0ZWQuCj4KPiBJIHJlYWQgdGhhdCB0 aHJlYWQgYW5kIGFsc28gbG9va2VkIGF0IGhpcyBkZXZpY2UgYW5kIGl0IGlzIHZlcnkgc2ltaWxh cgo+IHRvIHRoaXMgb25lLiBCaW5kaW5nIHNob3VsZCBhbHNvIGhhdmUgaW5mb3JtYXRpb24gYWJv dXQgaTJjIG9yIHNwaS4gSXQKPiBpcyB0aGUgc2FtZSBjYXNlIGhlcmUgdGhhdCB5b3UgY2FuIHVz ZSB0aGlzIGh1YiB3aXRob3V0IGFueSBidXMKPiBjb25uZWN0ZWQgd2hpY2ggd29ya3MgaW4gZGVm YXVsdCBtb2RlLiBPciB3aGVuIGkyYy9zbWJ1cyBpcyBjb25uZWN0ZWQKPiBhbmQgdGhlIGh1YiBp cyB3YWl0aW5nIGZvciBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZS4gQW5kIEkgZXhwZWN0IHNwaQo+ IGJlaGF2ZXMgdmVyeSBzaW1pbGFybHkgYnV0IGRvbid0IGhhdmUgdGhpcyBzZXR1cCBoZXJlLgo+ Cj4gRG8gd2UgaGF2ZSBhbnkgYmluZGluZyBkb2Mgd2hpY2ggaXMgdXNpbmcgc3VnZ2VzdGVkIGJ1 cyBsaW5rPwoKJ2kyYy1idXMnIG9yICdkZGMtaTJjLWJ1cycgcHJvcGVydGllcyBmb3IgSTJDLiBE b24ndCB0aGluayB3ZSBoYXZlCmFueXRoaW5nIGZvciBTUEksIGJ1dCBJJ2QgZXhwZWN0IGl0IHdv dWxkIGJlIHNpbWlsYXIgdGhvdWdoIHdlJ2QgbmVlZAphIGNlbGwgZm9yIHRoZSBjaGlwLXNlbGVj dC4KClJvYgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=