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: <20180501122533.GD21238@uda0271908> Date: Tue, 1 May 2018 07:25:33 -0500 To: Paul Kocialkowski Cc: Paul Kocialkowski , Maxime Ripard , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Greg Kroah-Hartman , Chen-Yu Tsai List-ID: T24gTW9uLCBBcHIgMzAsIDIwMTggYXQgMTE6MDg6NDJQTSArMDIwMCwgUGF1bCBLb2NpYWxrb3dz a2kgd3JvdGU6Cj4gSGksCj4gCj4gTGUgc2FtZWRpIDIxIGF2cmlsIDIwMTggw6AgMDk6MzQgLTA1 MDAsIEJpbiBMaXUgYSDDqWNyaXQgOgo+ID4gT2theSwgdGhpcyBjYW1lIGRvd24gdG8gYW4gYXJn dW1lbnQgdGhhdCB3aGV0aGVyIHdlIHNob3VsZCByZXF1aXJlCj4gPiBsb2FkaW5nIGEgZ2FkZ2V0 IGRyaXZlciBvbiBhIGR1YWwtcm9sZSBwb3J0IHRvIHdvcmsgaW4gaG9zdCBtb2RlLAo+ID4gd2hp Y2ggaXMgY3VycmVudGx5IHJlcXVpcmVkIG9uIG11c2Igc2luY2UgYSBsb25nIGxvbmcgdGltZSBh Z28uCj4gPiAKPiA+IEkgdW5kZXJzdGFuZCB0aGUgcmVxdWlyZW1lbnQgaXMga2luZGEgdW5uZWNl c3NhcnksIGJ1dCBzaW5jZSBpdAo+ID4gYWxyZWFkeQo+ID4gZXhpc3RzIG9uIG11c2Igc3RhY2sg Zm9yIGEgbG9uZyB0aW1lLCBJIGRvbid0IHBsYW4gdG8gY2hhbmdlIGl0Lgo+ID4gQmVjYXVzZSBJ Cj4gPiBjYW5ub3QgdGhpbmsgb2YgYSB1c2UgY2FzZSBpbiByZWFsIHByb2R1Y3RzIHRoYXQgZG9l c24ndCBhdXRvbWF0aWNhbGx5Cj4gPiBsb2FkIGEgZ2FkZ2V0IGZ1bmN0aW9uIG9uIHRoZSBkdWFs LXJvbGUgcG9ydC4KPiA+IAo+ID4gSWYgeW91IGNhbiBleHBsYWluIGEgdXNlIGNhc2UgaW4gcmVh bCB3b3JsZCAobm90IGEgZW5naW5lZXJpbmcgbGFiKQo+ID4gdGhhdCB0aGUgZ2FkZ2V0IGRyaXZl ciB3aWxsIG5vdCBiZSBsb2FkZWQgYXQgbGludXggYm9vdGluZyB1cCwgYnV0Cj4gPiBsYXRlciBi YXNlZCBvbiB1c2VyJ3MgaW5wdXQsIEkgd2lsbCByZWNvbnNpZGVyIG15IGRlY2lzaW9uLiBUbyBy ZW1vdmUKPiA+IHRoaXMgcmVxdWlyZW1lbnQgZnJvbSBtdXNiIHN0YWNrLCB0aGUgd29yayBpcyBt b3JlIHRoYW4gdGhpcyBwYXRjaC4KPiAKPiBNeSB1c2UgY2FzZSBoZXJlIGlzIHRvIHN1cHBvcnQg Y29tbW9uIEdOVS9MaW51eC1iYXNlZCBkaXN0cmlidXRpb25zLCBub3QKPiB1c2UtY2FzZS1zcGVj aWZpYyB2YXJpZXRpZXMgb2YgR05VL0xpbnV4LWJhc2VkIHJvb3Rmcy4gU28gbXkgcG9pbnQgaGVy ZQo+IHdvdWxkIGJlIHRoYXQgbW9zdCBkaXN0cm9zIHdpbGwgKGFuZCBwcm9iYWJseSBzaG91bGQp IHNoaXAgZ19ldGhlciBhcyBhCj4gbW9kdWxlIGJ1dCB3aXRob3V0IGFueSBwYXJ0aWN1bGFyIHJl YXNvbiB0byBhdXRvbG9hZCBpdCwgb3IgYW55IG90aGVyCj4gZ2FkZ2V0IG1vZHVsZSBpbiBwYXJ0 aWN1bGFyLCBzaW5jZSB0aGUgc3lzdGVtIGlzIGdlbmVyYWwtcHVycG9zZS4KClRoaXMgaXMgdGhl IGNhc2UgSSBjYWxsZWQgaXQgImluIGEgZW5naW5lZXJpbmcgbGFiIiwgbm90IGEgcmVhbCBwcm9k dWN0LgoKPiBUaGVuLCBpbWFnaW5lIGEgdXNlciB3YW50cyB0byBwbHVnIGEgVVNCIGRldmljZSB0 aHJvdWdoIE9URyAoc2F5LAo+IGJlY2F1c2UgaXQncyB0aGUgb25seSBVU0IgcG9ydCBhdmFpbGFi bGUgYXQgYWxsIG9uIHRoZSB0YWJsZXQgdGhleSdyZQo+IHVzaW5nKSwgaXQgc2ltcGx5IHdvbid0 IHdvcmsuIEl0IHdvbid0IGJlIG9idmlvdXMgdG8gdGhhdCB1c2VyIHRoYXQgdGhpcwo+IGlzIGJl Y2F1c2Ugbm8gZ2FkZ2V0IGlzIGxvYWRlZCwgc2luY2Ugd2hhdCB0aGV5IHdhbnQgdG8gZG8gZG9l cyBub3QKPiBpbnZvbHZlIHVzaW5nIGdhZGdldCBtb2RlIGF0IGFueSBwb2ludC4KCklmIGEgdGFi bGV0IGhhcyBhIGR1YWwtcm9sZSB1c2IgcG9ydCwgaXQgaXMgZGVzaWduZWQgdG8gdXNlIGEgZ2Fk Z2V0CmRyaXZlciwgd2hpY2ggaGFzIHRvIGJlIGxvYWRlZCBhdCBzb21lIHBvaW50LiBJbiB0aGUg Y2FzZSB5b3UgZGVzY3JpYmVkCmFib3ZlLCB3aGVuIHRoZSBnYWRnZXQgZHJpdmVyIHdpbGwgYmUg bG9hZGVkPyBhbmQgaG93PwoKSWYgYSBnYWRnZXQgZHJpdmVyIHdpbGwgbmV2ZXIgYmUgdXNlZCwg YSBob3N0LW9ubHkgcG9ydCBzaG91bGQgYmUgb24KdGhlIGJvYXJkLCBub3QgYSBkdWFsLXJvbGUg cG9ydC4KCj4gRG8geW91IHRoaW5rIHRoaXMgaXMgYSB2YWxpZCB1c2UgY2FzZT8gSXQgc3VyZWx5 IGlzIGEgY29tbW9uIG9uZSBhbmQKPiBwZXJmZWN0bHkgZGVwaWN0cyBteSBzaXR1YXRpb24uCgpB cyBJIGV4cGxhaW5lZCBhYm92ZSwgSSBkb24ndCB0aGluayBzby4KCj4gTm90ZSB0aGF0IGluIGFk ZGl0aW9uIHRvIEFsbHdpbm5lciBkZXZpY2VzLCBJIGFsc28gaGF2ZSBvbWFwMy80LzUKPiBkZXZp Y2VzIGZvciB0ZXN0aW5nIHRoaW5ncy4gSSBkb24ndCB0aGluayBJIGhhdmUgb3RoZXIgTVVTQi1l bmFibGVkCgpNdWNoIG1vcmUgdGhhbiB3aGF0IEkgaGF2ZSA7KQoKPiBkZXZpY2VzIGluIG15IGNv bGxlY3Rpb24gdGhvdWdoLCBidXQgSSB3b3VsZCBiZSB3aWxsaW5nIHRvIHRlc3QgZml4ZXMgdG8K PiB0aGlzIGlzc3VlIG9uIHRoZSBvbmVzIEkgaGF2ZS4KCkFwcHJlY2lhdGVkIGl0LCBidXQgc29t ZW9uZSBoYXMgdG8gbWFrZSB0aGUgcGF0Y2hlcyBmaXJzdC4gVGhlIG9uZSB5b3UKcG9zdGVkIG1p Z2h0IGJlIGEgZ29vZCBzdGFydCwgYnV0IGl0IGlzIG5vdCBjb21wbGV0ZS4gVGhlIGZpcnN0IHBy b2JsZW0KSSBzZWUgaXMgdGhhdCBtdXNiX3N0YXJ0KCkgd2lsbCBiZSBjYWxsZWQgdHdpY2UsIG9u ZSBpbiB0aGUgcGxhY2UgeW91CnBhdGNoZWQsIHRoZSBvdGhlciBpcyB3aGVuIHRoZSBnYWRnZXQg ZHJpdmVyIGlzIGJvdW5kIHRvIHRoZSBVREMuCgpSZWdhcmRzLAotQmluLgotLS0KVG8gdW5zdWJz Y3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVz YiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcK TW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8t aW5mby5odG1sCg==