From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jack Pham Subject: Re: [PATCH v2 2/3] usb: dwc3: Add Qualcomm DWC3 glue driver Date: Fri, 13 Apr 2018 10:33:22 -0700 Message-ID: <20180413173322.GA30306@usblab-sd-06.qualcomm.com> References: <1523638285-5742-1-git-send-email-mgautam@codeaurora.org> <1523638285-5742-3-git-send-email-mgautam@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1523638285-5742-3-git-send-email-mgautam@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org To: Manu Gautam Cc: balbi@kernel.org, robh@kernel.org, andy.gross@linaro.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org, linux-arm-msm@vger.kernel.org, Greg Kroah-Hartman List-Id: linux-arm-msm@vger.kernel.org Hi Manu, On Fri, Apr 13, 2018 at 10:21:23PM +0530, Manu Gautam wrote: > DWC3 controller on Qualcomm SOCs has a Qscratch wrapper. > Some of its uses are described below resulting in need to > have a separate glue driver instead of using dwc3-of-simple: > - It exposes register interface to override vbus-override > and lane0-pwr-present signals going to hardware. These > must be updated in peripheral mode for DWC3 if vbus lines > are not connected to hardware block. Otherwise RX termination > in SS mode or DP pull-up is not applied by device controller. > - pwr_events_irq_stat support to check if USB2 PHY is in L2 state > before glue driver proceeds with suspend. > - Support for wakeup interrupts lines that are asserted whenever > there is any wakeup event on USB3 or USB2 bus. > - Support to replace pip3 clock going to DWC3 with utmi clock > for hardware configuration where SSPHY is not used with DWC3. > > Signed-off-by: Manu Gautam > +static int dwc3_qcom_register_extcon(struct dwc3_qcom *qcom) > +{ > + struct device *dev = qcom->dev; > + struct extcon_dev *host_edev; > + int ret; > + > + if (!of_property_read_bool(dev->of_node, "extcon")) > + return 0; > + > + qcom->edev = extcon_get_edev_by_phandle(dev, 0); Are the extcon phandles bound to the glue node? I don't see the description in the bindings doc in PATCH 1/3. And if so, would it be a duplicate of the child node's extcon binding? Then again, the alternative would be to grab it directly from the child (i.e. qcom->dwc3->dev.of_node) which I'm not sure is ok to do or not. Jack -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project 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: [v2,2/3] usb: dwc3: Add Qualcomm DWC3 glue driver From: Jack Pham Message-Id: <20180413173322.GA30306@usblab-sd-06.qualcomm.com> Date: Fri, 13 Apr 2018 10:33:22 -0700 To: Manu Gautam Cc: balbi@kernel.org, robh@kernel.org, andy.gross@linaro.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org, linux-arm-msm@vger.kernel.org, Greg Kroah-Hartman List-ID: SGkgTWFudSwKCk9uIEZyaSwgQXByIDEzLCAyMDE4IGF0IDEwOjIxOjIzUE0gKzA1MzAsIE1hbnUg R2F1dGFtIHdyb3RlOgo+IERXQzMgY29udHJvbGxlciBvbiBRdWFsY29tbSBTT0NzIGhhcyBhIFFz Y3JhdGNoIHdyYXBwZXIuCj4gU29tZSBvZiBpdHMgdXNlcyBhcmUgZGVzY3JpYmVkIGJlbG93IHJl c3VsdGluZyBpbiBuZWVkIHRvCj4gaGF2ZSBhIHNlcGFyYXRlIGdsdWUgZHJpdmVyIGluc3RlYWQg b2YgdXNpbmcgZHdjMy1vZi1zaW1wbGU6Cj4gIC0gSXQgZXhwb3NlcyByZWdpc3RlciBpbnRlcmZh Y2UgdG8gb3ZlcnJpZGUgdmJ1cy1vdmVycmlkZQo+ICAgIGFuZCBsYW5lMC1wd3ItcHJlc2VudCBz aWduYWxzIGdvaW5nIHRvIGhhcmR3YXJlLiBUaGVzZQo+ICAgIG11c3QgYmUgdXBkYXRlZCBpbiBw ZXJpcGhlcmFsIG1vZGUgZm9yIERXQzMgaWYgdmJ1cyBsaW5lcwo+ICAgIGFyZSBub3QgY29ubmVj dGVkIHRvIGhhcmR3YXJlIGJsb2NrLiBPdGhlcndpc2UgUlggdGVybWluYXRpb24KPiAgICBpbiBT UyBtb2RlIG9yIERQIHB1bGwtdXAgaXMgbm90IGFwcGxpZWQgYnkgZGV2aWNlIGNvbnRyb2xsZXIu Cj4gIC0gcHdyX2V2ZW50c19pcnFfc3RhdCBzdXBwb3J0IHRvIGNoZWNrIGlmIFVTQjIgUEhZIGlz IGluIEwyIHN0YXRlCj4gICAgYmVmb3JlIGdsdWUgZHJpdmVyIHByb2NlZWRzIHdpdGggc3VzcGVu ZC4KPiAgLSBTdXBwb3J0IGZvciB3YWtldXAgaW50ZXJydXB0cyBsaW5lcyB0aGF0IGFyZSBhc3Nl cnRlZCB3aGVuZXZlcgo+ICAgIHRoZXJlIGlzIGFueSB3YWtldXAgZXZlbnQgb24gVVNCMyBvciBV U0IyIGJ1cy4KPiAgLSBTdXBwb3J0IHRvIHJlcGxhY2UgcGlwMyBjbG9jayBnb2luZyB0byBEV0Mz IHdpdGggdXRtaSBjbG9jawo+ICAgIGZvciBoYXJkd2FyZSBjb25maWd1cmF0aW9uIHdoZXJlIFNT UEhZIGlzIG5vdCB1c2VkIHdpdGggRFdDMy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYW51IEdhdXRh bSA8bWdhdXRhbUBjb2RlYXVyb3JhLm9yZz4KCjxzbmlwPgoKPiArc3RhdGljIGludCBkd2MzX3Fj b21fcmVnaXN0ZXJfZXh0Y29uKHN0cnVjdCBkd2MzX3Fjb20gKnFjb20pCj4gK3sKPiArCXN0cnVj dCBkZXZpY2UJCSpkZXYgPSBxY29tLT5kZXY7Cj4gKwlzdHJ1Y3QgZXh0Y29uX2RldgkqaG9zdF9l ZGV2Owo+ICsJaW50CQkJcmV0Owo+ICsKPiArCWlmICghb2ZfcHJvcGVydHlfcmVhZF9ib29sKGRl di0+b2Zfbm9kZSwgImV4dGNvbiIpKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCXFjb20tPmVkZXYg PSBleHRjb25fZ2V0X2VkZXZfYnlfcGhhbmRsZShkZXYsIDApOwoKQXJlIHRoZSBleHRjb24gcGhh bmRsZXMgYm91bmQgdG8gdGhlIGdsdWUgbm9kZT8gSSBkb24ndCBzZWUgdGhlCmRlc2NyaXB0aW9u IGluIHRoZSBiaW5kaW5ncyBkb2MgaW4gUEFUQ0ggMS8zLiBBbmQgaWYgc28sIHdvdWxkIGl0IGJl CmEgZHVwbGljYXRlIG9mIHRoZSBjaGlsZCBub2RlJ3MgZXh0Y29uIGJpbmRpbmc/IFRoZW4gYWdh aW4sIHRoZQphbHRlcm5hdGl2ZSB3b3VsZCBiZSB0byBncmFiIGl0IGRpcmVjdGx5IGZyb20gdGhl IGNoaWxkIChpLmUuCnFjb20tPmR3YzMtPmRldi5vZl9ub2RlKSB3aGljaCBJJ20gbm90IHN1cmUg aXMgb2sgdG8gZG8gb3Igbm90LgoKSmFjawo=