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: [1/2] usb: dwc3: Add avoiding vbus glitch happen during xhci reset From: Ran Wang Message-Id: <20190116064820.20007-2-ran.wang_1@nxp.com> Date: Wed, 16 Jan 2019 06:48:06 +0000 To: Greg Kroah-Hartman , Rob Herring , Mark Rutland , Felipe Balbi Cc: "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Ran Wang List-ID: V2hlbiBEV0MzIGlzIHNldCB0byBob3N0IG1vZGUgYnkgcHJvZ3JhbW1pbmcgcmVnaXN0ZXIgRFdD M19HQ1RMLCBWVUJTCihvciBpdHMgY29udHJvbCBzaWduYWwpIHdpbGwgb24gaW1tZWRpYXRlbHkg b24gcmVsYXRlZCBSb290IEh1YiBwb3J0cy4KVGhlbiB0aGUgVlVCUyB3aWxsIGJlIGRlLWFzc2Vy dGVkIGZvciBhIGxpdHRsZSB3aGlsZSBkdXJpbmcgeGhjaQpyZXNldCAoY29uZHVjdGVkIGJ5IHho Y2kgZHJpdmVyKSBmb3IgYSBsaXR0bGUgd2hpbGUgYW5kIGJhY2sgdG8gbm9ybWFsLgoKVGhpcyBW QlVTIGdsaXRjaCBtaWdodCBjYXVzZSBzb21lIFVTQiBkZXZpY2VzIGVtdXJhdGlvbiBmYWlsIGlm IGtlcm5lbCBib290CndpdGggdGhlbSBjb25uZWN0ZWQuIE9uZSBTVyB3b3JrYXJvdW5kIHdoaWNo IGNhbiBmaXggdGhpcyBpcyB0byBwcm9ncmFtCmFsbCBQT1JUU0NbUFBdIHRvIDAgdG8gdHVybiBv ZmYgVkJVUyBpbW1lZGlhdGVseSBhZnRlciBzZXR0aW5nIGhvc3QgbW9kZQppbiBEV0MzIGRyaXZl cihwZXIgc2lnbmFsIG1lYXN1cmVtZW50IHJlc3VsdCwgaXQgd2lsbCBiZSB0b28gbGF0ZSB0byBk bwppdCBpbiB4aGNpLXBsYXQuYyBvciB4aGNpLmMpLgoKU2lnbmVkLW9mZi1ieTogUmFuIFdhbmcg PHJhbi53YW5nXzFAbnhwLmNvbT4KLS0tCiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvdXNiL2R3YzMudHh0IHwgICAgMyArKysKIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy91c2IvZHdjMy50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvdXNiL2R3YzMudHh0CmluZGV4IDhlNTI2NWUuLmRhZGI1MzAgMTAwNjQ0Ci0tLSBhL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKKysrIGIvRG9jdW1lbnRh dGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4dApAQCAtMTA2LDYgKzEwNiw5IEBA IE9wdGlvbmFsIHByb3BlcnRpZXM6CiAJCQlXaGVuIGp1c3Qgb25lIHZhbHVlLCB3aGljaCBtZWFu cyBJTkNSWCBidXJzdCBtb2RlIGVuYWJsZWQuIFdoZW4KIAkJCW1vcmUgdGhhbiBvbmUgdmFsdWUs IHdoaWNoIG1lYW5zIHVuZGVmaW5lZCBsZW5ndGggSU5DUiBidXJzdCB0eXBlCiAJCQllbmFibGVk LiBUaGUgdmFsdWVzIGNhbiBiZSAxLCA0LCA4LCAxNiwgMzIsIDY0LCAxMjggYW5kIDI1Ni4KKyAt IHNucHMsYXZvaWQtdmJ1cy1nbGl0Y2gtd2hlbi1zZXQtaG9zdDogUG93ZXIgb2ZmIGFsbCBSb290 IEh1YiBwb3J0cyBpbW1lZGlhdGVseQorCQkJYWZ0ZXIgc2V0dGluZyBob3N0IG1vZGUgdG8gYXZv aWQgdmJ1cyAobmVnYXRpdmUpIGdsaXRjaCBoYXBwZW4gaW4gbGF0ZXIKKwkJCXhoY2kgcmVzZXQu IEFuZCB0aGUgdmJ1cyB3aWxsIGJhY2sgdG8gNVYgYXV0b21hdGljYWxseSB3aGVuIHJlc2V0IGRv bmUuCiAKICAtIGluIGFkZGl0aW9uIGFsbCBwcm9wZXJ0aWVzIGZyb20gdXNiLXhoY2kudHh0IGZy b20gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFyZQogICAgc3VwcG9ydGVkIGFzIHdlbGwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ran Wang Subject: [PATCH 1/2] usb: dwc3: Add avoiding vbus glitch happen during xhci reset Date: Wed, 16 Jan 2019 06:48:06 +0000 Message-ID: <20190116064820.20007-2-ran.wang_1@nxp.com> References: <20190116064820.20007-1-ran.wang_1@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20190116064820.20007-1-ran.wang_1@nxp.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Greg Kroah-Hartman , Rob Herring , Mark Rutland , Felipe Balbi Cc: "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Ran Wang List-Id: devicetree@vger.kernel.org When DWC3 is set to host mode by programming register DWC3_GCTL, VUBS (or its control signal) will on immediately on related Root Hub ports. Then the VUBS will be de-asserted for a little while during xhci reset (conducted by xhci driver) for a little while and back to normal. This VBUS glitch might cause some USB devices emuration fail if kernel boot with them connected. One SW workaround which can fix this is to program all PORTSC[PP] to 0 to turn off VBUS immediately after setting host mode in DWC3 driver(per signal measurement result, it will be too late to do it in xhci-plat.c or xhci.c). Signed-off-by: Ran Wang --- Documentation/devicetree/bindings/usb/dwc3.txt | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation= /devicetree/bindings/usb/dwc3.txt index 8e5265e..dadb530 100644 --- a/Documentation/devicetree/bindings/usb/dwc3.txt +++ b/Documentation/devicetree/bindings/usb/dwc3.txt @@ -106,6 +106,9 @@ Optional properties: When just one value, which means INCRX burst mode enabled. When more than one value, which means undefined length INCR burst type enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256. + - snps,avoid-vbus-glitch-when-set-host: Power off all Root Hub ports imme= diately + after setting host mode to avoid vbus (negative) glitch happen in later + xhci reset. And the vbus will back to 5V automatically when reset done. =20 - in addition all properties from usb-xhci.txt from the current directory= are supported as well --=20 1.7.1