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=-6.9 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 04F89C67839 for ; Fri, 14 Dec 2018 08:05:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C3D042080F for ; Fri, 14 Dec 2018 08:05:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C3D042080F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727556AbeLNIFR (ORCPT ); Fri, 14 Dec 2018 03:05:17 -0500 Received: from szxga06-in.huawei.com ([45.249.212.32]:37110 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726494AbeLNIFR (ORCPT ); Fri, 14 Dec 2018 03:05:17 -0500 Received: from DGGEMS402-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id 01C07974586CE; Fri, 14 Dec 2018 16:05:13 +0800 (CST) Received: from [127.0.0.1] (10.142.63.192) by DGGEMS402-HUB.china.huawei.com (10.3.19.202) with Microsoft SMTP Server id 14.3.408.0; Fri, 14 Dec 2018 16:05:04 +0800 CC: , Wangbinghui , "Linux USB List" , , "linux-kernel@vger.kernel.org" , Suzhuangluan , , Greg Kroah-Hartman , Mark Rutland , "John Stultz" Subject: Re: [PATCH 01/10] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs To: Rob Herring References: <20181027095820.40056-1-chenyu56@huawei.com> <20181027095820.40056-2-chenyu56@huawei.com> <20181112160241.GA14074@bogus> <9fce6a58-d986-25e4-1791-ba375e4f075e@huawei.com> From: Chen Yu Message-ID: <8bd2e47a-5766-3236-2c89-a4eaf343991c@huawei.com> Date: Fri, 14 Dec 2018 16:05:03 +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: 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/4 0:01, Rob Herring wrote: > On Fri, Nov 16, 2018 at 8:29 PM Chen Yu wrote: >> >> Hi, >> >> On 2018/11/13 0:02, Rob Herring wrote: >>> On Sat, Oct 27, 2018 at 05:58:11PM +0800, Yu Chen 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 | 53 ++++++++++++++++++++++ >>>> 1 file changed, 53 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..e715e7b1c324 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>> @@ -0,0 +1,53 @@ >>>> +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 >>> >>> If you only have clocks and resets and no glue registers, then you >>> don't need a sub-node. Just make the controller one node. >>> >> >> In dwc3 glue driver,the controller driver usually probed by call of_platform_populate >> which will search the child node of glue driver. >> The code of function of_platform_populate is as below: >> >> for_each_child_of_node(root, child) { >> rc = of_platform_bus_create(child, matches, lookup, parent, true); >> if (rc) { >> of_node_put(child); >> break; >> } >> } >> >> So I think the controller node should be a sub-node. > > It was done that way, but has changed. See commit fe8abf332b8f ("usb: > dwc3: support clocks and resets for DWC3 core"). > I have read the commit and there is a question. If I make the controller one node, how can the pm suspend of the glue driver be guaranteed to be called after the pm suspend of dwc3 controller? And also the order of pm resume. There are some reset registers that should be configured before the initialization of dwc3 controller on Hi3660 platform. > Rob > > . > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen Yu Subject: Re: [PATCH 01/10] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Date: Fri, 14 Dec 2018 16:05:03 +0800 Message-ID: <8bd2e47a-5766-3236-2c89-a4eaf343991c@huawei.com> References: <20181027095820.40056-1-chenyu56@huawei.com> <20181027095820.40056-2-chenyu56@huawei.com> <20181112160241.GA14074@bogus> <9fce6a58-d986-25e4-1791-ba375e4f075e@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Rob Herring Cc: liuyu712@hisilicon.com, Wangbinghui , Linux USB List , devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" , Suzhuangluan , kongfei@hisilicon.com, Greg Kroah-Hartman , Mark Rutland , John Stultz List-Id: devicetree@vger.kernel.org Hi, On 2018/12/4 0:01, Rob Herring wrote: > On Fri, Nov 16, 2018 at 8:29 PM Chen Yu wrote: >> >> Hi, >> >> On 2018/11/13 0:02, Rob Herring wrote: >>> On Sat, Oct 27, 2018 at 05:58:11PM +0800, Yu Chen 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 | 53 ++++++++++++++++++++++ >>>> 1 file changed, 53 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..e715e7b1c324 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt >>>> @@ -0,0 +1,53 @@ >>>> +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 >>> >>> If you only have clocks and resets and no glue registers, then you >>> don't need a sub-node. Just make the controller one node. >>> >> >> In dwc3 glue driver,the controller driver usually probed by call of_platform_populate >> which will search the child node of glue driver. >> The code of function of_platform_populate is as below: >> >> for_each_child_of_node(root, child) { >> rc = of_platform_bus_create(child, matches, lookup, parent, true); >> if (rc) { >> of_node_put(child); >> break; >> } >> } >> >> So I think the controller node should be a sub-node. > > It was done that way, but has changed. See commit fe8abf332b8f ("usb: > dwc3: support clocks and resets for DWC3 core"). > I have read the commit and there is a question. If I make the controller one node, how can the pm suspend of the glue driver be guaranteed to be called after the pm suspend of dwc3 controller? And also the order of pm resume. There are some reset registers that should be configured before the initialization of dwc3 controller on Hi3660 platform. > 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: [01/10] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs From: Yu Chen Message-Id: <8bd2e47a-5766-3236-2c89-a4eaf343991c@huawei.com> Date: Fri, 14 Dec 2018 16:05:03 +0800 To: Rob Herring Cc: liuyu712@hisilicon.com, Wangbinghui , Linux USB List , devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" , Suzhuangluan , kongfei@hisilicon.com, Greg Kroah-Hartman , Mark Rutland , John Stultz List-ID: SGksCgpPbiAyMDE4LzEyLzQgMDowMSwgUm9iIEhlcnJpbmcgd3JvdGU6Cj4gT24gRnJpLCBOb3Yg MTYsIDIwMTggYXQgODoyOSBQTSBDaGVuIFl1IDxjaGVueXU1NkBodWF3ZWkuY29tPiB3cm90ZToK Pj4KPj4gSGksCj4+Cj4+IE9uIDIwMTgvMTEvMTMgMDowMiwgUm9iIEhlcnJpbmcgd3JvdGU6Cj4+ PiBPbiBTYXQsIE9jdCAyNywgMjAxOCBhdCAwNTo1ODoxMVBNICswODAwLCBZdSBDaGVuIHdyb3Rl Ogo+Pj4+IFRoaXMgcGF0Y2ggYWRkcyBiaW5kaW5nIGRlc2NyaXB0aW9ucyB0byBzdXBwb3J0IHRo ZSBkd2MzIGNvbnRyb2xsZXIKPj4+PiBvbiBIaVNpbGljb24gU29DcyBhbmQgYm9hcmRzIGxpa2Ug dGhlIEhpS2V5OTYwLgo+Pj4+Cj4+Pj4gQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxp bnV4Zm91bmRhdGlvbi5vcmc+Cj4+Pj4gQ2M6IFJvYiBIZXJyaW5nIDxyb2JoK2R0QGtlcm5lbC5v cmc+Cj4+Pj4gQ2M6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+Cj4+Pj4gQ2M6 IEpvaG4gU3R1bHR6IDxqb2huLnN0dWx0ekBsaW5hcm8ub3JnPgo+Pj4+IFNpZ25lZC1vZmYtYnk6 IFl1IENoZW4gPGNoZW55dTU2QGh1YXdlaS5jb20+Cj4+Pj4gLS0tCj4+Pj4gIC4uLi9kZXZpY2V0 cmVlL2JpbmRpbmdzL3VzYi9kd2MzLWhpc2kudHh0ICAgICAgICAgIHwgNTMgKysrKysrKysrKysr KysrKysrKysrKwo+Pj4+ICAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKQo+Pj4+ICBj cmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9k d2MzLWhpc2kudHh0Cj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL3VzYi9kd2MzLWhpc2kudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL3VzYi9kd2MzLWhpc2kudHh0Cj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4+ PiBpbmRleCAwMDAwMDAwMDAwMDAuLmU3MTVlN2IxYzMyNAo+Pj4+IC0tLSAvZGV2L251bGwKPj4+ PiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMtaGlzaS50 eHQKPj4+PiBAQCAtMCwwICsxLDUzIEBACj4+Pj4gK0hpU2lsaWNvbiBEV0MzIFVTQiBTb0MgY29u dHJvbGxlcgo+Pj4+ICsKPj4+PiArVGhpcyBmaWxlIGRvY3VtZW50cyB0aGUgcGFyYW1ldGVycyBm b3IgdGhlIGR3YzMtaGlzaSBkcml2ZXIuCj4+Pj4gKwo+Pj4+ICtSZXF1aXJlZCBwcm9wZXJ0aWVz Ogo+Pj4+ICstIGNvbXBhdGlibGU6ICAgICAgIHNob3VsZCBiZSAiaGlzaWxpY29uLGhpMzY2MC1k d2MzIgo+Pj4+ICstIGNsb2NrczogICBBIGxpc3Qgb2YgcGhhbmRsZSArIGNsb2NrLXNwZWNpZmll ciBwYWlycyBmb3IgdGhlCj4+Pj4gKyAgICAgICAgICAgIGNsb2NrcyBsaXN0ZWQgaW4gY2xvY2st bmFtZXMKPj4+PiArLSBjbG9jay1uYW1lczogICAgICBTcGVjaWZ5IGNsb2NrIG5hbWVzCj4+Pj4g Ky0gcmVzZXRzOiAgIGxpc3Qgb2YgcGhhbmRsZSBhbmQgcmVzZXQgc3BlY2lmaWVyIHBhaXJzLgo+ Pj4+ICsKPj4+PiArU3ViLW5vZGVzOgo+Pj4+ICtUaGUgZHdjMyBjb3JlIHNob3VsZCBiZSBhZGRl ZCBhcyBzdWJub2RlIHRvIEhpU2lsaWNvbiBEV0MzIGFzIHNob3duIGluIHRoZQo+Pj4+ICtleGFt cGxlIGJlbG93LiBUaGUgRFQgYmluZGluZyBkZXRhaWxzIG9mIGR3YzMgY2FuIGJlIGZvdW5kIGlu Ogo+Pj4+ICtEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0Cj4+ Pgo+Pj4gSWYgeW91IG9ubHkgaGF2ZSBjbG9ja3MgYW5kIHJlc2V0cyBhbmQgbm8gZ2x1ZSByZWdp c3RlcnMsIHRoZW4geW91Cj4+PiBkb24ndCBuZWVkIGEgc3ViLW5vZGUuIEp1c3QgbWFrZSB0aGUg Y29udHJvbGxlciBvbmUgbm9kZS4KPj4+Cj4+Cj4+IEluIGR3YzMgZ2x1ZSBkcml2ZXLvvIx0aGUg Y29udHJvbGxlciBkcml2ZXIgdXN1YWxseSBwcm9iZWQgYnkgY2FsbCBvZl9wbGF0Zm9ybV9wb3B1 bGF0ZQo+PiB3aGljaCB3aWxsIHNlYXJjaCB0aGUgY2hpbGQgbm9kZSBvZiBnbHVlIGRyaXZlci4K Pj4gVGhlIGNvZGUgb2YgZnVuY3Rpb24gb2ZfcGxhdGZvcm1fcG9wdWxhdGUgaXMgYXMgYmVsb3c6 Cj4+Cj4+ICAgICAgICAgZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShyb290LCBjaGlsZCkgewo+PiAg ICAgICAgICAgICAgICAgIHJjID0gb2ZfcGxhdGZvcm1fYnVzX2NyZWF0ZShjaGlsZCwgbWF0Y2hl cywgbG9va3VwLCBwYXJlbnQsIHRydWUpOwo+PiAgICAgICAgICAgICAgICAgIGlmIChyYykgewo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zfbm9kZV9wdXQoY2hpbGQpOwo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+ICAgICAgICAgICAgICAgICAgfQo+PiAgICAgICAg ICB9Cj4+Cj4+IFNvIEkgdGhpbmsgdGhlIGNvbnRyb2xsZXIgbm9kZSBzaG91bGQgYmUgYSBzdWIt bm9kZS4KPiAKPiBJdCB3YXMgZG9uZSB0aGF0IHdheSwgYnV0IGhhcyBjaGFuZ2VkLiBTZWUgY29t bWl0IGZlOGFiZjMzMmI4ZiAoInVzYjoKPiBkd2MzOiBzdXBwb3J0IGNsb2NrcyBhbmQgcmVzZXRz IGZvciBEV0MzIGNvcmUiKS4KPiAKSSBoYXZlIHJlYWQgdGhlIGNvbW1pdCBhbmQgdGhlcmUgaXMg YSBxdWVzdGlvbi4gSWYgSSBtYWtlIHRoZSBjb250cm9sbGVyIG9uZSBub2RlLApob3cgY2FuIHRo ZSBwbSBzdXNwZW5kIG9mIHRoZSBnbHVlIGRyaXZlciBiZSBndWFyYW50ZWVkIHRvIGJlIGNhbGxl ZCBhZnRlciB0aGUgcG0gc3VzcGVuZApvZiBkd2MzIGNvbnRyb2xsZXI/IEFuZCBhbHNvIHRoZSBv cmRlciBvZiBwbSByZXN1bWUuClRoZXJlIGFyZSBzb21lIHJlc2V0IHJlZ2lzdGVycyB0aGF0IHNo b3VsZCBiZSBjb25maWd1cmVkIGJlZm9yZSB0aGUgaW5pdGlhbGl6YXRpb24Kb2YgZHdjMyBjb250 cm9sbGVyIG9uIEhpMzY2MCBwbGF0Zm9ybS4KCj4gUm9iCj4gCj4gLgo+Cg==