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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,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 95902C43387 for ; Thu, 20 Dec 2018 01:33:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6B636218A6 for ; Thu, 20 Dec 2018 01:33:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729455AbeLTBdW (ORCPT ); Wed, 19 Dec 2018 20:33:22 -0500 Received: from szxga05-in.huawei.com ([45.249.212.191]:16167 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726716AbeLTBdW (ORCPT ); Wed, 19 Dec 2018 20:33:22 -0500 Received: from DGGEMS409-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 513CF986813B0; Thu, 20 Dec 2018 09:33:18 +0800 (CST) Received: from [127.0.0.1] (10.142.63.192) by DGGEMS409-HUB.china.huawei.com (10.3.19.209) with Microsoft SMTP Server id 14.3.408.0; Thu, 20 Dec 2018 09:33:14 +0800 CC: , Sergei Shtylyov , , , , , , , Greg Kroah-Hartman , Mark Rutland , John Stultz Subject: Re: [PATCH v1 01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs To: Rob Herring References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-2-chenyu56@huawei.com> <33cda716-d09c-28e7-d4b4-26f246786f5e@huawei.com> <680c5b9f-e2c7-926d-7d10-4ce2cd091282@cogentembedded.com> <20181219140953.GA9910@bogus> From: Chen Yu Message-ID: <3d9727c4-e3c7-6eb0-cecd-e16af2fa6b66@huawei.com> Date: Thu, 20 Dec 2018 09:33:13 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20181219140953.GA9910@bogus> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.142.63.192] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 2018/12/19 22:09, Rob Herring wrote: > On Mon, Dec 03, 2018 at 05:28:56PM +0800, Chen Yu wrote: >> Hi, >> >> On 2018/12/3 16:59, Sergei Shtylyov wrote: >>> On 03.12.2018 11:51, Chen Yu wrote: >>> >>>>>> This patch adds binding descriptions to support the dwc3 controller >>>>>> on HiSilicon SoCs and boards like the HiKey960. >>>>>> >>>>>> Cc: Greg Kroah-Hartman >>>>>> Cc: Rob Herring >>>>>> Cc: Mark Rutland >>>>>> Cc: John Stultz >>>>>> Signed-off-by: Yu Chen >>>>>> --- >>>>>>    .../devicetree/bindings/usb/dwc3-hisi.txt          | 67 ++++++++++++++++++++++ >>>>>>    1 file changed, 67 insertions(+) >>>>>>    create mode 100644 Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>>>> >>>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3-hisi.txt b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>>>> new file mode 100644 >>>>>> index 000000000000..d32d2299a0a1 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>>>> @@ -0,0 +1,67 @@ >>>>>> +HiSilicon DWC3 USB SoC controller >>>>>> + >>>>>> +This file documents the parameters for the dwc3-hisi driver. >>>>>> + >>>>>> +Required properties: >>>>>> +- compatible:    should be "hisilicon,hi3660-dwc3" >>>>>> +- clocks:    A list of phandle + clock-specifier pairs for the >>>>>> +        clocks listed in clock-names >>>>>> +- clock-names:    Specify clock names >>>>>> +- resets:    list of phandle and reset specifier pairs. >>>>>> + >>>>>> +Sub-nodes: >>>>>> +The dwc3 core should be added as subnode to HiSilicon DWC3 as shown in the >>>>>> +example below. The DT binding details of dwc3 can be found in: >>>>>> +Documentation/devicetree/bindings/usb/dwc3.txt >>>>>> + >>>>>> +Example: >>>>>> +    usb3: hisi_dwc3 { >>>>>> +        compatible = "hisilicon,hi3660-dwc3"; >>>>>> +        #address-cells = <2>; >>>>>> +        #size-cells = <2>; >>>>>> +        ranges; >>>>>> + >>>>>> +        clocks = <&crg_ctrl HI3660_CLK_ABB_USB>, >>>>>> +             <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; >>>>>> +        clock-names = "clk_usb3phy_ref", "aclk_usb3otg"; >>>>>> +        assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; >>>>>> +        assigned-clock-rates = <229000000>; >>>>>> +        resets = <&crg_rst 0x90 8>, >>>>>> +             <&crg_rst 0x90 7>, >>>>>> +             <&crg_rst 0x90 6>, >>>>>> +             <&crg_rst 0x90 5>; >>>>>> + >>>>>> +        dwc3: dwc3@ff100000 { > > Please combine these into a single node. Unless you have a wrapper with > registers, you don't need these 2 nodes. Clocks and reset can go in the > dwc3 node. Yes, clocks can go in the dwc3 node, but there are four resets need to be deasserted for dwc3 usb of Hi3660 Soc and there is only one reset handled in dwc3 driver. > >>>>> >>>>>      According to the DT spec, the node names should be generic, not chip specific, i.e. usb@ff100000 in this case. >>>>> >>>> >>>> Do you mean it should be usb@ff100000: dwc3@ff100000 ? >>> >>>     dwc3: usb@ff100000 >>> >>>    "dwc3:" is a label, not name. >> >> I use the node name "dwc3@ff100000" according to Documentation/devicetree/bindings/usb/dwc3.txt >> and documentations of vendor drivers, i.e. qcom,dwc3.txt, rockchip,dwc3.txt. >> >> In these documentations, the dwc3 sub-node name uses "dwc3@xxxxxxxx". >> >> I think it is better to be same as the other vendor's dwc3 drivers. > > It's not. The other bindings are wrong. Follow the DT Spec. > > Rob > > . > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen Yu Subject: Re: [PATCH v1 01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Date: Thu, 20 Dec 2018 09:33:13 +0800 Message-ID: <3d9727c4-e3c7-6eb0-cecd-e16af2fa6b66@huawei.com> References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-2-chenyu56@huawei.com> <33cda716-d09c-28e7-d4b4-26f246786f5e@huawei.com> <680c5b9f-e2c7-926d-7d10-4ce2cd091282@cogentembedded.com> <20181219140953.GA9910@bogus> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20181219140953.GA9910@bogus> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Rob Herring Cc: liuyu712@hisilicon.com, Sergei Shtylyov , linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, wangbinghui@hisilicon.com, suzhuangluan@hisilicon.com, kongfei@hisilicon.com, Greg Kroah-Hartman , Mark Rutland , John Stultz List-Id: devicetree@vger.kernel.org Hi, On 2018/12/19 22:09, Rob Herring wrote: > On Mon, Dec 03, 2018 at 05:28:56PM +0800, Chen Yu wrote: >> Hi, >> >> On 2018/12/3 16:59, Sergei Shtylyov wrote: >>> On 03.12.2018 11:51, Chen Yu wrote: >>> >>>>>> This patch adds binding descriptions to support the dwc3 controller >>>>>> on HiSilicon SoCs and boards like the HiKey960. >>>>>> >>>>>> Cc: Greg Kroah-Hartman >>>>>> Cc: Rob Herring >>>>>> Cc: Mark Rutland >>>>>> Cc: John Stultz >>>>>> Signed-off-by: Yu Chen >>>>>> --- >>>>>>    .../devicetree/bindings/usb/dwc3-hisi.txt          | 67 ++++++++++++++++++++++ >>>>>>    1 file changed, 67 insertions(+) >>>>>>    create mode 100644 Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>>>> >>>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3-hisi.txt b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>>>> new file mode 100644 >>>>>> index 000000000000..d32d2299a0a1 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>>>> @@ -0,0 +1,67 @@ >>>>>> +HiSilicon DWC3 USB SoC controller >>>>>> + >>>>>> +This file documents the parameters for the dwc3-hisi driver. >>>>>> + >>>>>> +Required properties: >>>>>> +- compatible:    should be "hisilicon,hi3660-dwc3" >>>>>> +- clocks:    A list of phandle + clock-specifier pairs for the >>>>>> +        clocks listed in clock-names >>>>>> +- clock-names:    Specify clock names >>>>>> +- resets:    list of phandle and reset specifier pairs. >>>>>> + >>>>>> +Sub-nodes: >>>>>> +The dwc3 core should be added as subnode to HiSilicon DWC3 as shown in the >>>>>> +example below. The DT binding details of dwc3 can be found in: >>>>>> +Documentation/devicetree/bindings/usb/dwc3.txt >>>>>> + >>>>>> +Example: >>>>>> +    usb3: hisi_dwc3 { >>>>>> +        compatible = "hisilicon,hi3660-dwc3"; >>>>>> +        #address-cells = <2>; >>>>>> +        #size-cells = <2>; >>>>>> +        ranges; >>>>>> + >>>>>> +        clocks = <&crg_ctrl HI3660_CLK_ABB_USB>, >>>>>> +             <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; >>>>>> +        clock-names = "clk_usb3phy_ref", "aclk_usb3otg"; >>>>>> +        assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; >>>>>> +        assigned-clock-rates = <229000000>; >>>>>> +        resets = <&crg_rst 0x90 8>, >>>>>> +             <&crg_rst 0x90 7>, >>>>>> +             <&crg_rst 0x90 6>, >>>>>> +             <&crg_rst 0x90 5>; >>>>>> + >>>>>> +        dwc3: dwc3@ff100000 { > > Please combine these into a single node. Unless you have a wrapper with > registers, you don't need these 2 nodes. Clocks and reset can go in the > dwc3 node. Yes, clocks can go in the dwc3 node, but there are four resets need to be deasserted for dwc3 usb of Hi3660 Soc and there is only one reset handled in dwc3 driver. > >>>>> >>>>>      According to the DT spec, the node names should be generic, not chip specific, i.e. usb@ff100000 in this case. >>>>> >>>> >>>> Do you mean it should be usb@ff100000: dwc3@ff100000 ? >>> >>>     dwc3: usb@ff100000 >>> >>>    "dwc3:" is a label, not name. >> >> I use the node name "dwc3@ff100000" according to Documentation/devicetree/bindings/usb/dwc3.txt >> and documentations of vendor drivers, i.e. qcom,dwc3.txt, rockchip,dwc3.txt. >> >> In these documentations, the dwc3 sub-node name uses "dwc3@xxxxxxxx". >> >> I think it is better to be same as the other vendor's dwc3 drivers. > > It's not. The other bindings are wrong. Follow the DT Spec. > > Rob > > . > From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v1,01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs From: Yu Chen Message-Id: <3d9727c4-e3c7-6eb0-cecd-e16af2fa6b66@huawei.com> Date: Thu, 20 Dec 2018 09:33:13 +0800 To: Rob Herring Cc: liuyu712@hisilicon.com, Sergei Shtylyov , linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, wangbinghui@hisilicon.com, suzhuangluan@hisilicon.com, kongfei@hisilicon.com, Greg Kroah-Hartman , Mark Rutland , John Stultz List-ID: SGksCgpPbiAyMDE4LzEyLzE5IDIyOjA5LCBSb2IgSGVycmluZyB3cm90ZToKPiBPbiBNb24sIERl YyAwMywgMjAxOCBhdCAwNToyODo1NlBNICswODAwLCBDaGVuIFl1IHdyb3RlOgo+PiBIaSwKPj4K Pj4gT24gMjAxOC8xMi8zIDE2OjU5LCBTZXJnZWkgU2h0eWx5b3Ygd3JvdGU6Cj4+PiBPbiAwMy4x Mi4yMDE4IDExOjUxLCBDaGVuIFl1IHdyb3RlOgo+Pj4KPj4+Pj4+IFRoaXMgcGF0Y2ggYWRkcyBi aW5kaW5nIGRlc2NyaXB0aW9ucyB0byBzdXBwb3J0IHRoZSBkd2MzIGNvbnRyb2xsZXIKPj4+Pj4+ IG9uIEhpU2lsaWNvbiBTb0NzIGFuZCBib2FyZHMgbGlrZSB0aGUgSGlLZXk5NjAuCj4+Pj4+Pgo+ Pj4+Pj4gQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+ Cj4+Pj4+PiBDYzogUm9iIEhlcnJpbmcgPHJvYmgrZHRAa2VybmVsLm9yZz4KPj4+Pj4+IENjOiBN YXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29tPgo+Pj4+Pj4gQ2M6IEpvaG4gU3R1bHR6 IDxqb2huLnN0dWx0ekBsaW5hcm8ub3JnPgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogWXUgQ2hlbiA8 Y2hlbnl1NTZAaHVhd2VpLmNvbT4KPj4+Pj4+IC0tLQo+Pj4+Pj4gwqDCoCAuLi4vZGV2aWNldHJl ZS9iaW5kaW5ncy91c2IvZHdjMy1oaXNpLnR4dMKgwqDCoMKgwqDCoMKgwqDCoCB8IDY3ICsrKysr KysrKysrKysrKysrKysrKysKPj4+Pj4+IMKgwqAgMSBmaWxlIGNoYW5nZWQsIDY3IGluc2VydGlv bnMoKykKPj4+Pj4+IMKgwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy91c2IvZHdjMy1oaXNpLnR4dAo+Pj4+Pj4KPj4+Pj4+IGRpZmYgLS1naXQg YS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMtaGlzaS50eHQgYi9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMtaGlzaS50eHQKPj4+Pj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+Pj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmQzMmQyMjk5 YTBhMQo+Pj4+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4+Pj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLWhpc2kudHh0Cj4+Pj4+PiBAQCAtMCwwICsxLDY3IEBA Cj4+Pj4+PiArSGlTaWxpY29uIERXQzMgVVNCIFNvQyBjb250cm9sbGVyCj4+Pj4+PiArCj4+Pj4+ PiArVGhpcyBmaWxlIGRvY3VtZW50cyB0aGUgcGFyYW1ldGVycyBmb3IgdGhlIGR3YzMtaGlzaSBk cml2ZXIuCj4+Pj4+PiArCj4+Pj4+PiArUmVxdWlyZWQgcHJvcGVydGllczoKPj4+Pj4+ICstIGNv bXBhdGlibGU6wqDCoMKgIHNob3VsZCBiZSAiaGlzaWxpY29uLGhpMzY2MC1kd2MzIgo+Pj4+Pj4g Ky0gY2xvY2tzOsKgwqDCoCBBIGxpc3Qgb2YgcGhhbmRsZSArIGNsb2NrLXNwZWNpZmllciBwYWly cyBmb3IgdGhlCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgY2xvY2tzIGxpc3RlZCBpbiBjbG9jay1u YW1lcwo+Pj4+Pj4gKy0gY2xvY2stbmFtZXM6wqDCoMKgIFNwZWNpZnkgY2xvY2sgbmFtZXMKPj4+ Pj4+ICstIHJlc2V0czrCoMKgwqAgbGlzdCBvZiBwaGFuZGxlIGFuZCByZXNldCBzcGVjaWZpZXIg cGFpcnMuCj4+Pj4+PiArCj4+Pj4+PiArU3ViLW5vZGVzOgo+Pj4+Pj4gK1RoZSBkd2MzIGNvcmUg c2hvdWxkIGJlIGFkZGVkIGFzIHN1Ym5vZGUgdG8gSGlTaWxpY29uIERXQzMgYXMgc2hvd24gaW4g dGhlCj4+Pj4+PiArZXhhbXBsZSBiZWxvdy4gVGhlIERUIGJpbmRpbmcgZGV0YWlscyBvZiBkd2Mz IGNhbiBiZSBmb3VuZCBpbjoKPj4+Pj4+ICtEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvdXNiL2R3YzMudHh0Cj4+Pj4+PiArCj4+Pj4+PiArRXhhbXBsZToKPj4+Pj4+ICvCoMKgwqAg dXNiMzogaGlzaV9kd2MzIHsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImhp c2lsaWNvbixoaTM2NjAtZHdjMyI7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgI2FkZHJlc3MtY2Vs bHMgPSA8Mj47Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgI3NpemUtY2VsbHMgPSA8Mj47Cj4+Pj4+ PiArwqDCoMKgwqDCoMKgwqAgcmFuZ2VzOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg IGNsb2NrcyA9IDwmY3JnX2N0cmwgSEkzNjYwX0NMS19BQkJfVVNCPiwKPj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgPCZjcmdfY3RybCBISTM2NjBfQUNMS19HQVRFX1VTQjNPVEc+Owo+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGNsb2NrLW5hbWVzID0gImNsa191c2IzcGh5X3JlZiIsICJh Y2xrX3VzYjNvdGciOwo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGFzc2lnbmVkLWNsb2NrcyA9IDwm Y3JnX2N0cmwgSEkzNjYwX0FDTEtfR0FURV9VU0IzT1RHPjsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDC oCBhc3NpZ25lZC1jbG9jay1yYXRlcyA9IDwyMjkwMDAwMDA+Owo+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgIHJlc2V0cyA9IDwmY3JnX3JzdCAweDkwIDg+LAo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCA8JmNyZ19yc3QgMHg5MCA3PiwKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgPCZjcmdfcnN0IDB4OTAgNj4sCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDwm Y3JnX3JzdCAweDkwIDU+Owo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGR3YzM6IGR3 YzNAZmYxMDAwMDAgewo+IAo+IFBsZWFzZSBjb21iaW5lIHRoZXNlIGludG8gYSBzaW5nbGUgbm9k ZS4gVW5sZXNzIHlvdSBoYXZlIGEgd3JhcHBlciB3aXRoIAo+IHJlZ2lzdGVycywgeW91IGRvbid0 IG5lZWQgdGhlc2UgMiBub2Rlcy4gQ2xvY2tzIGFuZCByZXNldCBjYW4gZ28gaW4gdGhlIAo+IGR3 YzMgbm9kZS4KClllcywgY2xvY2tzIGNhbiBnbyBpbiB0aGUgZHdjMyBub2RlLCBidXQgdGhlcmUg YXJlIGZvdXIgcmVzZXRzIG5lZWQgdG8gYmUKZGVhc3NlcnRlZCBmb3IgZHdjMyB1c2Igb2YgSGkz NjYwIFNvYyBhbmQgdGhlcmUgaXMgb25seSBvbmUgcmVzZXQgaGFuZGxlZAppbiBkd2MzIGRyaXZl ci4KCj4gCj4+Pj4+Cj4+Pj4+IMKgwqDCoMKgIEFjY29yZGluZyB0byB0aGUgRFQgc3BlYywgdGhl IG5vZGUgbmFtZXMgc2hvdWxkIGJlIGdlbmVyaWMsIG5vdCBjaGlwIHNwZWNpZmljLCBpLmUuIHVz YkBmZjEwMDAwMCBpbiB0aGlzIGNhc2UuCj4+Pj4+Cj4+Pj4KPj4+PiBEbyB5b3UgbWVhbiBpdCBz aG91bGQgYmUgdXNiQGZmMTAwMDAwOiBkd2MzQGZmMTAwMDAwID8KPj4+Cj4+PiDCoMKgwqDCoGR3 YzM6IHVzYkBmZjEwMDAwMAo+Pj4KPj4+IMKgwqAgImR3YzM6IiBpcyBhIGxhYmVsLCBub3QgbmFt ZS4KPj4KPj4gSSB1c2UgdGhlIG5vZGUgbmFtZSAiZHdjM0BmZjEwMDAwMCIgYWNjb3JkaW5nIHRv IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKPj4gYW5kIGRv Y3VtZW50YXRpb25zIG9mIHZlbmRvciBkcml2ZXJzLCBpLmUuIHFjb20sZHdjMy50eHQsIHJvY2tj aGlwLGR3YzMudHh0Lgo+Pgo+PiBJbiB0aGVzZSBkb2N1bWVudGF0aW9ucywgdGhlIGR3YzMgc3Vi LW5vZGUgbmFtZSB1c2VzICJkd2MzQHh4eHh4eHh4Ii4KPj4KPj4gSSB0aGluayBpdCBpcyBiZXR0 ZXIgdG8gYmUgc2FtZSBhcyB0aGUgb3RoZXIgdmVuZG9yJ3MgZHdjMyBkcml2ZXJzLgo+IAo+IEl0 J3Mgbm90LiBUaGUgb3RoZXIgYmluZGluZ3MgYXJlIHdyb25nLiBGb2xsb3cgdGhlIERUIFNwZWMu Cj4gCj4gUm9iCj4gCj4gLgo+Cg==