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: usb: musb: Support gadget mode when the port is set to dual role From: Bin Liu Message-Id: <20180420142524.GB29011@uda0271908> Date: Fri, 20 Apr 2018 09:25:24 -0500 To: Paul Kocialkowski Cc: Maxime Ripard , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Greg Kroah-Hartman , Chen-Yu Tsai , Paul Kocialkowski List-ID: T24gVGh1LCBNYXIgMjksIDIwMTggYXQgMDE6NTc6MjRQTSArMDIwMCwgUGF1bCBLb2NpYWxrb3dz a2kgd3JvdGU6Cj4gSGksCj4gCj4gT24gVGh1LCAyMDE4LTAzLTI5IGF0IDExOjIzICswMjAwLCBN YXhpbWUgUmlwYXJkIHdyb3RlOgo+ID4gT24gV2VkLCBNYXIgMjgsIDIwMTggYXQgMTE6NTI6MTNQ TSArMDIwMCwgUGF1bCBLb2NpYWxrb3dza2kgd3JvdGU6Cj4gPiA+IFRoaXMgYWxsb3dzIGR1YWwt cm9sZSBwb3J0cyB0byBiZSByZXBvcnRlZCBhcyBoYXZpbmcgZ2FkZ2V0IG1vZGUgYnkKPiA+ID4g dGhlCj4gPiA+IG11c2JfaGFzX2dhZGdldCBoZWxwZXIuIFRoaXMgaXMgcmVxdWlyZWQgdG8gZW5h YmxlIE1VU0IgYXQgYWxsIHdpdGgKPiA+ID4gTVVTQgo+ID4gPiBnbHVlIGxheWVycyB0aGF0IHNl dCB0aGUgcG9ydCBtb2RlIHRvIE1VU0JfUE9SVF9NT0RFX0RVQUxfUk9MRSBhdAo+ID4gPiBpbml0 Lgo+ID4gPiAKPiA+ID4gTW9zdCBub3RhYmx5LCB0aGlzIGFsbG93cyBjYWxsaW5nIG11c2Jfc3Rh cnQgd2hlbiBuZWVkZWQgaW4gdGhlCj4gPiA+IHZpcnR1YWwKPiA+ID4gTVVTQiByb290IEhVQiwg cmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBjdXJyZW50IG1vZGUgc2hvdWxkIGJlCj4gPiA+IGdh ZGdldAo+ID4gPiBvciBob3N0Lgo+ID4gPiAKPiA+ID4gVGhpcyBmaXhlcyBVU0IgT1RHIG9uIEFs bHdpbm5lciBkZXZpY2VzIHRoYXQgSSBjb3VsZCB0ZXN0IGl0IHdpdGgsCj4gPiA+IG1haW5seSBB MjAgZGV2aWNlcy4KPiA+ID4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhdWwgS29jaWFsa293c2tp IDxjb250YWN0QHBhdWxrLmZyPgo+ID4gCj4gPiBTdXJlbHkgdGhlcmUncyBtb3JlIHRvIGl0IHRo YW4gdGhhdC4gVGhlIGdhZGdldCBtb2RlIG9mIEEyMCBib2FyZHMKPiA+IGhhdmUgYmVlbiB3b3Jr aW5nIGluIHRoZSBwYXN0LCBpbmNsdWRpbmcgd2hlbiBjb21waWxpbmcgd2l0aCBtVVNCCj4gPiBz ZXR1cCBhcyBkdWFsIHJvbGUuCj4gPgo+ID4gSXMgdGhpcyBhIHJlZ3Jlc3Npb24gc2luY2UgYSBw YXJ0aWN1bGFyIGNvbW1pdD8gT3IgaXMgdGhlcmUgYW5vdGhlciwKPiA+IGRlZXBlciBpc3N1ZSBv dmVybG9va2VkIGluIHRoZSBjb21taXQgbG9nPwo+IAo+IFRoZSByb290IG9mIHRoZSBpc3N1ZSBo ZXJlIGlzIHRoYXQgbXVzYl9zdGFydCBpcyBub3QgY2FsbGVkIGF0IGFueSBwb2ludAo+IHdpdGhv dXQgdGhpcyBwYXRjaC4gTXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgZmxvdyBpcyB0aGUgZm9sbG93 aW5nOiB3aGVuCj4gdGhlIFBIWSBkZXRlY3RzIHRoYXQgdGhlcmUgd2FzIGEgVkJVUy9JRCBjaGFu Z2UsIGl0IHdpbGwgbm90aWZ5IGl0cwo+IGxpc3RlbmVycyAobWFpbmx5IHRoZSBtdXNiIHN1bnhp IGdsdWUgbGF5ZXIpLiBUaGlzIHdpbGwgdGhlbiBzY2hlZHVsZQo+IHRoZSBkcml2ZXIncyB3b3Jr IChzdW54aV9tdXNiX3dvcmspLCB3aGljaCBkb2VzIG5vdGhpbmcgc2luY2UgdGhlCj4gU1VOWElf TVVTQl9GTF9FTkFCTEVEIGJpdCB3YXMgbmV2ZXIgc2V0LiBUaGlzIGJpdCBpcyBvbmx5IHNldCBh ZnRlcgo+IGNhbGxpbmcgc3VueGlfbXVzYl9lbmFibGUsIHdoaWNoIGlzIGNhbGxlZCBmcm9tIG11 c2JfcGxhdGZvcm1fZW5hYmxlLAo+IHRoYXQgb3JpZ2luYXRlcyBmcm9tIG11c2Jfc3RhcnQuCj4g Cj4gQ3VycmVudGx5IEkgc2VlIHR3byBwbGFjZXMgd2hlcmUgbXVzYl9zdGFydCBpcyBjYWxsZWQ6 Cj4gKiBtdXNiX3ZpcnRodWIKPiAqIG11c2JfZ2FkZ2V0Cj4gCj4gSW4gdGhlIGxhdHRlciBjYXNl LCBpdCBpcyBpbiB0dXJuIGNhbGxlZCBmcm9tIHVkY19zdGFydCwgd2hpY2ggc2hvdWxkCj4gcHJv YmFibHkgKGNvcnJlY3QgbWUgaWYgSSdtIHdyb25nKSBoYXBwZW4gbGF0ZXIgaW4gdGhlIGNhbGwg Y2hhaW4gdGhhbgo+IElEL1ZCVVMgY2hhbmdlIG5vdGlmaWNhdGlvbiB0aW1lLgoKSSBkb24ndCB0 aGluayBpdCBpcyBjb3JyZWN0IHRoYXQgdWRjX3N0YXJ0KCkgaXMgdHJpZ2dlcmVkIGJ5IElEL1ZC VVMKZXZlbnRzLCBidXQgSSBkb24ndCBoYXZlIGFuIEFsbHdpbm5lciBwbGF0Zm9ybSB0byB2ZXJp ZnkgdGhlIGNhbGxmbG93LgoKSGF2ZSB5b3UgdHJpZWQgdG8gbG9hZCB3aXRoIGEgZ2FkZ2V0IGRy aXZlcj8gV2hlbiBhIGdhZGdldCBmdW5jdGlvbiBpcwpib3VuZCB0byBVREMsIHVkY19zdGFydCgp IGlzIHRyaWdnZXJlZCwgd2hpY2ggaW4gdHVybiBjYWxscwptdXNiX3N0YXJ0KCkuCgo+IAo+IElu IHRoZSBmb3JtZXIgY2FzZSwgbXVzYl9zdGFydCBpcyBjYWxsZWQgaW4gdGhlIHJvb3QgY29udHJv bGxlciBodWIKPiBjb250cm9sLCB3aGVuIHNldHRpbmcgdGhlIFVTQl9QT1JUX0ZFQVRfUE9XRVIg ZmVhdHVyZS4gVGhpcyBsb29rcwo+IHBlcmZlY3RseSBsZWdpdCBhbmQgSU1PIHRoaXMgaXMgd2hl cmUgaXQgc2hvdWxkIGJlIGluaXRpYWxseSBjYWxsaW5nCj4gbXVzYl9zdGFydCBpbiB0aGUgZHVh bCByb2xlIGNhc2UuIFRoZSBrZXJuZWwgaXMgaW5kZWVkIHNldHRpbmcgdGhlCgpObyBhY3R1YWxs eS4gQSBkdWFsLXJvbGUgcG9ydCBzaG91bGQgYmUgaW4gYl9pZGxlIHN0YXRlIGJ5IGRlZmF1bHQs IHNvCmxvZ2ljYWxseSBhbGwgYWN0aW9ucyBzaG91bGQgZ28gdG8gdGhlIGdhZGdldCBwYXRoIHVu dGlsIHRoZSBwb3J0CnN3aXRjaGVzIHRvIGhvc3QgbW9kZS4KCj4gZmVhdHVyZSwgb25seSB0aGF0 IGl0IGZhaWxzIHRvIGVuYWJsZSBtdXNiIHdpdGhvdXQgdGhpcyBwYXRjaC4KPiAKPiBGaXJzdCwg SSdkIGxpa2UgdG8gbWFrZSBzdXJlIHRoYXQgdGhpcyB1bmRlcnN0YW5kaW5nIG9mIHRoZSBmbG93 IGlzCj4gY29ycmVjdCBhcyBJIG1heSBoYXZlIG1pc3NlZCBzb21ldGhpbmcgaGVyZS4gRG9lcyBp dCBtYWtlIHNlbnNlPwoKSSBhbSBndWVzc2luZyB5b3UgZGlkbid0IGxvYWQgYSBnYWRnZXQgZHJp dmVyIHdoZW4gdGVzdGluZz8KCj4gVGhlbiwgaXQgc2VlbXMgdGhhdCB0aGUgb2ZmZW5kaW5nIGNv bW1pdCBpczogYmU5ZDM5ODgxZmM0Zgo+ICgidXNiOiBtdXNiOiBob3N0OiByZWx5IG9uIHBvcnRf bW9kZSB0byBjYWxsIG11c2Jfc3RhcnQoKSIpCj4gCj4gVGhhdCBpdHNlbGYgZml4ZWQ6IGFlNDRk ZjJlMjFiNQo+ICgidXNiOiBtdXNiOiBjYWxsIG11c2Jfc3RhcnQoKSBvbmx5IG9uY2UgaW4gT1RH IG1vZGUiKQo+IAo+IFN0aWxsLCB0aGlzIGNvbW1pdCB3YXMgYXV0aG9yZWQgaW4gSnVuZSAyMDE1 LCBzbyBhbG1vc3QgMyB5ZWFycyBhZ28uCj4gSW4gdGhlIG1lYW50aW1lLCB0aGUgc3VueGkgZHJp dmVyIGhhcyByZWNlaXZlZCBmZWF0dXJlIGltcHJvdmVtZW50cywgc28KPiBpdCBzZWVtcyBoYXJk IHRvIGJlbGlldmUgdGhhdCBpdCB3YXMgYnJva2VuIGFsbCB0aGlzIHRpbWUuLi4KPiAKPiBDaGVl cnMsCgpSZWdhcmRzLAotQmluLgotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNl bmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNz YWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAg aHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==