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: Maxime Ripard Message-Id: <20180403092910.wcgjn3r4job5y5pb@flea> Date: Tue, 3 Apr 2018 11:29:10 +0200 To: Paul Kocialkowski Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Greg Kroah-Hartman , Bin Liu , Chen-Yu Tsai , Paul Kocialkowski List-ID: SGksCgpPbiBUaHUsIE1hciAyOSwgMjAxOCBhdCAwMTo1NzoyNFBNICswMjAwLCBQYXVsIEtvY2lh bGtvd3NraSB3cm90ZToKPiBPbiBUaHUsIDIwMTgtMDMtMjkgYXQgMTE6MjMgKzAyMDAsIE1heGlt ZSBSaXBhcmQgd3JvdGU6Cj4gPiBPbiBXZWQsIE1hciAyOCwgMjAxOCBhdCAxMTo1MjoxM1BNICsw MjAwLCBQYXVsIEtvY2lhbGtvd3NraSB3cm90ZToKPiA+ID4gVGhpcyBhbGxvd3MgZHVhbC1yb2xl IHBvcnRzIHRvIGJlIHJlcG9ydGVkIGFzIGhhdmluZyBnYWRnZXQgbW9kZSBieQo+ID4gPiB0aGUK PiA+ID4gbXVzYl9oYXNfZ2FkZ2V0IGhlbHBlci4gVGhpcyBpcyByZXF1aXJlZCB0byBlbmFibGUg TVVTQiBhdCBhbGwgd2l0aAo+ID4gPiBNVVNCCj4gPiA+IGdsdWUgbGF5ZXJzIHRoYXQgc2V0IHRo ZSBwb3J0IG1vZGUgdG8gTVVTQl9QT1JUX01PREVfRFVBTF9ST0xFIGF0Cj4gPiA+IGluaXQuCj4g PiA+IAo+ID4gPiBNb3N0IG5vdGFibHksIHRoaXMgYWxsb3dzIGNhbGxpbmcgbXVzYl9zdGFydCB3 aGVuIG5lZWRlZCBpbiB0aGUKPiA+ID4gdmlydHVhbAo+ID4gPiBNVVNCIHJvb3QgSFVCLCByZWdh cmRsZXNzIG9mIHdoZXRoZXIgdGhlIGN1cnJlbnQgbW9kZSBzaG91bGQgYmUKPiA+ID4gZ2FkZ2V0 Cj4gPiA+IG9yIGhvc3QuCj4gPiA+IAo+ID4gPiBUaGlzIGZpeGVzIFVTQiBPVEcgb24gQWxsd2lu bmVyIGRldmljZXMgdGhhdCBJIGNvdWxkIHRlc3QgaXQgd2l0aCwKPiA+ID4gbWFpbmx5IEEyMCBk ZXZpY2VzLgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogUGF1bCBLb2NpYWxrb3dza2kgPGNv bnRhY3RAcGF1bGsuZnI+Cj4gPiAKPiA+IFN1cmVseSB0aGVyZSdzIG1vcmUgdG8gaXQgdGhhbiB0 aGF0LiBUaGUgZ2FkZ2V0IG1vZGUgb2YgQTIwIGJvYXJkcwo+ID4gaGF2ZSBiZWVuIHdvcmtpbmcg aW4gdGhlIHBhc3QsIGluY2x1ZGluZyB3aGVuIGNvbXBpbGluZyB3aXRoIG1VU0IKPiA+IHNldHVw IGFzIGR1YWwgcm9sZS4KPiA+Cj4gPiBJcyB0aGlzIGEgcmVncmVzc2lvbiBzaW5jZSBhIHBhcnRp Y3VsYXIgY29tbWl0PyBPciBpcyB0aGVyZSBhbm90aGVyLAo+ID4gZGVlcGVyIGlzc3VlIG92ZXJs b29rZWQgaW4gdGhlIGNvbW1pdCBsb2c/Cj4gCj4gVGhlIHJvb3Qgb2YgdGhlIGlzc3VlIGhlcmUg aXMgdGhhdCBtdXNiX3N0YXJ0IGlzIG5vdCBjYWxsZWQgYXQgYW55IHBvaW50Cj4gd2l0aG91dCB0 aGlzIHBhdGNoLiBNeSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBmbG93IGlzIHRoZSBmb2xsb3dpbmc6 IHdoZW4KPiB0aGUgUEhZIGRldGVjdHMgdGhhdCB0aGVyZSB3YXMgYSBWQlVTL0lEIGNoYW5nZSwg aXQgd2lsbCBub3RpZnkgaXRzCj4gbGlzdGVuZXJzIChtYWlubHkgdGhlIG11c2Igc3VueGkgZ2x1 ZSBsYXllcikuIFRoaXMgd2lsbCB0aGVuIHNjaGVkdWxlCj4gdGhlIGRyaXZlcidzIHdvcmsgKHN1 bnhpX211c2Jfd29yayksIHdoaWNoIGRvZXMgbm90aGluZyBzaW5jZSB0aGUKPiBTVU5YSV9NVVNC X0ZMX0VOQUJMRUQgYml0IHdhcyBuZXZlciBzZXQuIFRoaXMgYml0IGlzIG9ubHkgc2V0IGFmdGVy Cj4gY2FsbGluZyBzdW54aV9tdXNiX2VuYWJsZSwgd2hpY2ggaXMgY2FsbGVkIGZyb20gbXVzYl9w bGF0Zm9ybV9lbmFibGUsCj4gdGhhdCBvcmlnaW5hdGVzIGZyb20gbXVzYl9zdGFydC4KPiAKPiBD dXJyZW50bHkgSSBzZWUgdHdvIHBsYWNlcyB3aGVyZSBtdXNiX3N0YXJ0IGlzIGNhbGxlZDoKPiAq IG11c2JfdmlydGh1Ygo+ICogbXVzYl9nYWRnZXQKPiAKPiBJbiB0aGUgbGF0dGVyIGNhc2UsIGl0 IGlzIGluIHR1cm4gY2FsbGVkIGZyb20gdWRjX3N0YXJ0LCB3aGljaCBzaG91bGQKPiBwcm9iYWJs eSAoY29ycmVjdCBtZSBpZiBJJ20gd3JvbmcpIGhhcHBlbiBsYXRlciBpbiB0aGUgY2FsbCBjaGFp biB0aGFuCj4gSUQvVkJVUyBjaGFuZ2Ugbm90aWZpY2F0aW9uIHRpbWUuCj4gCj4gSW4gdGhlIGZv cm1lciBjYXNlLCBtdXNiX3N0YXJ0IGlzIGNhbGxlZCBpbiB0aGUgcm9vdCBjb250cm9sbGVyIGh1 Ygo+IGNvbnRyb2wsIHdoZW4gc2V0dGluZyB0aGUgVVNCX1BPUlRfRkVBVF9QT1dFUiBmZWF0dXJl LiBUaGlzIGxvb2tzCj4gcGVyZmVjdGx5IGxlZ2l0IGFuZCBJTU8gdGhpcyBpcyB3aGVyZSBpdCBz aG91bGQgYmUgaW5pdGlhbGx5IGNhbGxpbmcKPiBtdXNiX3N0YXJ0IGluIHRoZSBkdWFsIHJvbGUg Y2FzZS4gVGhlIGtlcm5lbCBpcyBpbmRlZWQgc2V0dGluZyB0aGUKPiBmZWF0dXJlLCBvbmx5IHRo YXQgaXQgZmFpbHMgdG8gZW5hYmxlIG11c2Igd2l0aG91dCB0aGlzIHBhdGNoLgo+IAo+IEZpcnN0 LCBJJ2QgbGlrZSB0byBtYWtlIHN1cmUgdGhhdCB0aGlzIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGZs b3cgaXMKPiBjb3JyZWN0IGFzIEkgbWF5IGhhdmUgbWlzc2VkIHNvbWV0aGluZyBoZXJlLiBEb2Vz IGl0IG1ha2Ugc2Vuc2U/Cj4gCj4gVGhlbiwgaXQgc2VlbXMgdGhhdCB0aGUgb2ZmZW5kaW5nIGNv bW1pdCBpczogYmU5ZDM5ODgxZmM0Zgo+ICgidXNiOiBtdXNiOiBob3N0OiByZWx5IG9uIHBvcnRf bW9kZSB0byBjYWxsIG11c2Jfc3RhcnQoKSIpCj4gCj4gVGhhdCBpdHNlbGYgZml4ZWQ6IGFlNDRk ZjJlMjFiNQo+ICgidXNiOiBtdXNiOiBjYWxsIG11c2Jfc3RhcnQoKSBvbmx5IG9uY2UgaW4gT1RH IG1vZGUiKQo+IAo+IFN0aWxsLCB0aGlzIGNvbW1pdCB3YXMgYXV0aG9yZWQgaW4gSnVuZSAyMDE1 LCBzbyBhbG1vc3QgMyB5ZWFycyBhZ28uCj4gSW4gdGhlIG1lYW50aW1lLCB0aGUgc3VueGkgZHJp dmVyIGhhcyByZWNlaXZlZCBmZWF0dXJlIGltcHJvdmVtZW50cywgc28KPiBpdCBzZWVtcyBoYXJk IHRvIGJlbGlldmUgdGhhdCBpdCB3YXMgYnJva2VuIGFsbCB0aGlzIHRpbWUuLi4KCkknbSBub3Qg dGhhdCBrbm93bGVnZGVhYmxlIGFib3V0IHRoZSBtdXNiIGRyaXZlciwgc28gSSBjYW4ndCByZWFs bHkKY29tbWVudCBvbiB3aGV0aGVyIHdoYXQgeW91J3JlIHNheWluZyBhY3R1YWxseSBtYWtlcyBz ZW5zZSwgYnV0IGZyb20Kd2hhdCB5b3Ugc2VlbSB0byBzYXksIHRoZSBpc3N1ZSBpcyBqdXN0IGhh cHBlbmluZyB1cG9uIFZCVVMgLyBJRApub3RpZmljYXRpb24uCgpIYXZlIHlvdSB0ZXN0ZWQgd2l0 aG91dCB0aGUgcm9sZSBzd2l0Y2hpbmc/IEZvciBleGFtcGxlLCB0cnlpbmcgdG8KYm9vdCB3aGls ZSBhY3RpbmcgYXMgYSBnYWRnZXQ/CgpNYXhpbWUK