Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Use device tree to disable U1/U2 in gadget devices based on DWC3 From: Rob Weber Message-Id: <20190425201103.GA26402@coops> Date: Thu, 25 Apr 2019 13:11:03 -0700 To: Alan Stern Cc: "Claus H. Stovgaard" , "balbi@kernel.org" , "linux-usb@vger.kernel.org" , "mnarani@xilinx.com" , Michal Simek List-ID: SGkgRXZlcnlvbmUsCgpPbiBXZWQsIEFwciAyNCwgMjAxOSBhdCAwMjozMzo0OFBNIC0wNDAwLCBB bGFuIFN0ZXJuIHdyb3RlOgo+IE9uIFdlZCwgMjQgQXByIDIwMTksIENsYXVzIEguIFN0b3ZnYWFy ZCB3cm90ZToKPiAKPiA+IEhpIEJhbGJpIGFuZCBvdGhlciBVU0IgZGV2ZWxvcGVycy4KPiA+IAo+ ID4gSSBhbSBkZXZlbG9waW5nIGNhbWVyYSBkZXZpY2VzIGJhc2VkIG9uIFhpbGlueCBaeW5xTVAs IHVzaW5nIHRoZQo+ID4gZ2FkZ2V0IGZyYW1ld29yayBhbmQgdGhlIGJ1aWxkLWluIGR3YzMgY29y ZSBvZiB0aGUgWnlucU1QIGFzIFVTQjMKPiA+IGNvbnRyb2xsZXIgYW5kIHRoZSBidWlsZC1pbiBD aXJydXMgU0VSREVTIGFzIHBoeS4KPiA+IFRlc3Rpbmcgd2l0aCBhIG51bWJlciBvZiBob3N0cyBh bmQgV2luZG93cyA3LCBoYXMgc2hvd24gc3BvcmFkaWMKPiA+IHJlY29ubmVjdHMgd2hlbiBsZWF2 aW5nIFUyL1UxLCBjYXVzZWQgYnkgZmFpbGluZyBsaW5rIHRyYWluaW5nLCB3aGVyZQo+ID4gdGhl IGhvc3QgcmVzZXRzIHRoZSBidXMuIFNvbWV0aW1lIGl0IGFsc28gbWVhbnMgaXQgcmVjb25uZWN0 IHZpYQo+ID4gVVNCMi4KPiA+IAo+ID4gU28gdG8gb3ZlcmNvbWUgdGhpcywgSSB3aWxsIGxpa2Ug dG8gaGF2ZSB0aGUgb3B0aW9uIGZvciBkaXNhYmxpbmcKPiA+IFUxL1UyIG9uIHRoZSBjb3JlIHdo ZW4gd29ya2luZyB3aXRoIHRob3NlIGhvc3RzLgo+ID4gCj4gPiBDdXJyZW50bHkgSSBoYXZlIG1h ZGUgYSBoYWNrIGluIGVwMC5jIHdoZXJlIEkgcmV0dXJuIEVJTlZBTCBpbgo+ID4gZHdjM19lcDBf aGFuZGxlX3UxIGFuZCBkd2MzX2VwMF9oYW5kbGVfdTIgdG9nZXRoZXIgd2l0aCBub3Qgc2V0dGlu Zwo+ID4gRFdDM19EQ1RMX0FDQ0VQVFUxRU5BIGFuZCBEV0MzX0RDVExfQUNDRVBUVTJFTkEgaW4K PiA+IGR3YzNfZXAwX3NldF9jb25maWcKPiA+IFdpbGwgdGhvdWdoIHByZWZlciBhIHNvbHV0aW9u IHBvc3NpYmxlIHRvIHVwc3RyZWFtLCBzbyB3YXMgdGhpbmtpbmcKPiA+IGFib3V0IGFkZGluZyB0 d28gZGV2aWNldHJlZSBiaW5kaW5ncy4KPiA+IAo+ID4gKiBzbnBzLHUxX2Rpc2FibGVfYXNfZ2Fk Z2V0OiBXaGVuIHNldCB0aGUgY29yZSB3aWxsIG5vdCBlbmFibGUgVTEgaWYKPiA+IHJlcXVlc3Rl ZCBmcm9tIGhvc3QsIG5vciBpbml0aWF0ZSBVMS4KPiA+ICogc25wcyx1Ml9kaXNhYmxlX2FzX2dh ZGdldDogV2hlbiBzZXQgdGhlIGNvcmUgd2lsbCBub3QgZW5hYmxlIFUyIGlmCj4gPiByZXF1ZXN0 ZWQgZnJvbSBob3N0LCBub3IgaW5pdGlhdGUgVTIuCj4gPiAKPiA+IElmIHlvdSB0aGluayB0aGlz IG1pZ2h0IGJlIHNvbWV0aGluZyB3aGljaCBjYW4gYmUgdXBzdHJlYW1lZCBJIHdpbGwKPiA+IHBy ZXBhcmUgdGhlIGNvZGUgYW5kIHNlbmQgYSBwYXRjaCBmb3IgZGlzY3Vzc2lvbi4KPiA+IE9uIHRo ZSBvdGhlciBoYW5kLCBpZiB5b3UgdGhpbmsgdGhhdCBkaXNhYmxpbmcgVTEvVTIgdmlhIGRldmlj ZSB0cmVlCj4gPiBhcyBzdWdnZXN0ZWQgc2hvdWxkIG5vdCBiZSBhIGZlYXR1cmUgbm8gbmVlZCBm b3IgbWUgdG8gdHJ5IG1ha2luZyBpdAo+ID4gYSBmZWF0dXJlLgo+IAo+IFNwZWFraW5nIGFzIGFu IGludGVyZXN0ZWQgYnlzdGFuZGVyLCBJIHdvdWxkIGZpcnN0IHdvbmRlciB3aHkgeW91cgo+IGhh cmR3YXJlIGZhaWxzIGR1cmluZyBsaW5rIHRyYWluaW5nLiAgSWYgaXQgaXMgcHJvcGVybHkgZGVz aWduZWQsIHRoYXQKPiBzaG91bGQgbm90IGhhcHBlbi4gIFRoZSBmYWN0IHRoYXQgaXQgZG9lcyBo YXBwZW4gc3VnZ2VzdHMgeW91ciBkZXZpY2VzCj4gbWlnaHQgYWxzbyBleHBlcmllbmNlIHByb2Js ZW1zIGR1cmluZyBub3JtYWwgZGF0YSB0cmFuc3BvcnQuCgpJIHdhcyByZWNlbnRseSBkZWJ1Z2dp bmcgYSBzaW1pbGFyIHByb2JsZW0gd2hlcmUgbXkgZGV2aWNlIHdvdWxkCmltcHJvcGVybHkgdHJh bnNpdGlvbiBmcm9tIFUyIHRvIFUwLiBUaGlzIGNhdXNlZCB0aGUgY29ubmVjdGlvbiB0byByZXNl dAphbmQgdGhlIGRldmljZSB0byBiZSByZS1lbnVtZXJhdGVkIGFzIGEgVVNCMiBkZXZpY2UuIE91 ciBkZXNpZ24gdXNlcyBhbgpJbnRlbCBDaGVycnlUcmFpbCB6ODU1MCBTb0MgdGhhdCBoYXMgYW4g aW50ZXJuYWwgZHdjMyBVU0IgZGV2aWNlCmNvbnRyb2xsZXIuIEkgd29ya2VkIHdpdGggRmVsaXBl IGEgY291cGxlIG9mIHdlZWtzIGFnbyBbMV0gdG8gY29tZSB1cCB3aXRoCnRoZSBzYW1lIHdvcmth cm91bmQgeW91IG1lbnRpb25lZCBhYm92ZS4gSSBkaXNhYmxlIGRldmljZS1pbml0aWF0ZWQgVTEv VTIKaW4gZXAwX3NldF9jb25maWcgYW5kIGFsc28gcmV0dXJuIC1FSU5WQUwgd2hlbiBoYW5kbGlu ZyBTZXRGZWF0dXJlCnJlcXVlc3RzIGZyb20gdGhlIFVTQiBob3N0LiBJJ3ZlIGF0dGFjaGVkIG15 IHBhdGNoIGZvciBrZXJuZWwgNC45LjExNQpiZWxvdyBmb3IgcmVmZXJlbmNlLgoKQWx0aG91Z2gg d2UgaGF2ZSBhcHBsaWVkIHRoaXMgd29ya2Fyb3VuZCwgd2Ugc3RpbGwgaGF2ZSBub3QgaWRlbnRp ZmllZCBhCnJvb3QgY2F1c2Ugb2YgdGhlIGlzc3VlLiBJbnRlbCBoYXMgbm8ga25vd24gZXJyYXRh IHJlbGF0ZWQgdG8gdGhlIHN5bXB0b21zCndlIGFyZSBleHBlcmllbmNpbmcuIFdlJ3ZlIGRvbmUg cXVpdGUgYSBiaXQgb2YgYW5hbHlzaXMgb24gb3VyIGRlc2lnbiBhbmQKYXJlIHByZXR0eSBjb25m aWRlbnQgd2UndmUgZm9sbG93ZWQgYWxsIGRlc2lnbiBndWlkZWxpbmVzIGZvciBVU0IuCgpDaGVl cnMsClJvYiBXZWJlcgoKWzFdIGh0dHBzOi8vbWFyYy5pbmZvLz90PTE1NTM0OTkzNTYwMDAwMSZy PTEmdz0yCi0tLQpkcml2ZXJzL3VzYi9kd2MzL2VwMC5jIHwgMjYgKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0KMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQoKLS0KCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9kd2MzL2VwMC5jIGIvZHJpdmVycy91c2Iv ZHdjMy9lcDAuYwppbmRleCAyMzMxNDY5Zjk0M2QuLjc4Yjc1ZDY1YjQzNSAxMDA2NDQKLS0tIGEv ZHJpdmVycy91c2IvZHdjMy9lcDAuYworKysgYi9kcml2ZXJzL3VzYi9kd2MzL2VwMC5jCkBAIC00 MzMsMTAgKzQzMywxMyBAQCBzdGF0aWMgaW50IGR3YzNfZXAwX2hhbmRsZV9mZWF0dXJlKHN0cnVj dCBkd2MzICpkd2MsCiAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKCiAgICAgICAgICAg IHJlZyA9IGR3YzNfcmVhZGwoZHdjLT5yZWdzLCBEV0MzX0RDVEwpOwotICAgICAgICAgICAgaWYg KHNldCkKLSAgICAgICAgICAgICAgICByZWcgfD0gRFdDM19EQ1RMX0lOSVRVMUVOQTsKLSAgICAg ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIChzZXQpIHsKKyAgICAgICAgICAgICAgICAvKiBy ZWcgfD0gRFdDM19EQ1RMX0lOSVRVMUVOQTsgKi8KKyAgICAgICAgICAgICAgICBkd2MzX3RyYWNl KHRyYWNlX2R3YzNfZXAwLCAiR0JYOiBTa2lwcGluZyBVMSBFbmFibGUiKTsKKyAgICAgICAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg ICByZWcgJj0gfkRXQzNfRENUTF9JTklUVTFFTkE7CisgICAgICAgICAgICB9CiAgICAgICAgICAg IGR3YzNfd3JpdGVsKGR3Yy0+cmVncywgRFdDM19EQ1RMLCByZWcpOwogICAgICAgICAgICBicmVh azsKCkBAIC00NDgsMTAgKzQ1MSwxMyBAQCBzdGF0aWMgaW50IGR3YzNfZXAwX2hhbmRsZV9mZWF0 dXJlKHN0cnVjdCBkd2MzICpkd2MsCiAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKCiAg ICAgICAgICAgIHJlZyA9IGR3YzNfcmVhZGwoZHdjLT5yZWdzLCBEV0MzX0RDVEwpOwotICAgICAg ICAgICAgaWYgKHNldCkKLSAgICAgICAgICAgICAgICByZWcgfD0gRFdDM19EQ1RMX0lOSVRVMkVO QTsKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIChzZXQpIHsKKyAgICAgICAgICAg ICAgICAvKiByZWcgfD0gRFdDM19EQ1RMX0lOSVRVMkVOQTsgKi8KKyAgICAgICAgICAgICAgICBk d2MzX3RyYWNlKHRyYWNlX2R3YzNfZXAwLCAiR0JYOiBTa2lwcGluZyBVMiBFbmFibGUiKTsKKyAg ICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg ICAgICAgICAgICByZWcgJj0gfkRXQzNfRENUTF9JTklUVTJFTkE7CisgICAgICAgICAgICB9CiAg ICAgICAgICAgIGR3YzNfd3JpdGVsKGR3Yy0+cmVncywgRFdDM19EQ1RMLCByZWcpOwogICAgICAg ICAgICBicmVhazsKCkBAIC01NjcsNyArNTczLDcgQEAgc3RhdGljIGludCBkd2MzX2VwMF9zZXRf Y29uZmlnKHN0cnVjdCBkd2MzICpkd2MsIHN0cnVjdCB1c2JfY3RybHJlcXVlc3QgKmN0cmwpCiAg ICBlbnVtIHVzYl9kZXZpY2Vfc3RhdGUgc3RhdGUgPSBkd2MtPmdhZGdldC5zdGF0ZTsKICAgIHUz MiBjZmc7CiAgICBpbnQgcmV0OwotICAgIHUzMiByZWc7CisgICAgLyogdTMyIHJlZzsgKi8KCiAg ICBjZmcgPSBsZTE2X3RvX2NwdShjdHJsLT53VmFsdWUpOwoKQEAgLTU5NCw5ICs2MDAsOSBAQCBz dGF0aWMgaW50IGR3YzNfZXAwX3NldF9jb25maWcoc3RydWN0IGR3YzMgKmR3Yywgc3RydWN0IHVz Yl9jdHJscmVxdWVzdCAqY3RybCkKICAgICAgICAgICAgICogRW5hYmxlIHRyYW5zaXRpb24gdG8g VTEvVTIgc3RhdGUgd2hlbgogICAgICAgICAgICAgKiBub3RoaW5nIGlzIHBlbmRpbmcgZnJvbSBh cHBsaWNhdGlvbi4KICAgICAgICAgICAgICovCi0gICAgICAgICAgICByZWcgPSBkd2MzX3JlYWRs KGR3Yy0+cmVncywgRFdDM19EQ1RMKTsKLSAgICAgICAgICAgIHJlZyB8PSAoRFdDM19EQ1RMX0FD Q0VQVFUxRU5BIHwgRFdDM19EQ1RMX0FDQ0VQVFUyRU5BKTsKLSAgICAgICAgICAgIGR3YzNfd3Jp dGVsKGR3Yy0+cmVncywgRFdDM19EQ1RMLCByZWcpOworICAgICAgICAgICAgLyogcmVnID0gZHdj M19yZWFkbChkd2MtPnJlZ3MsIERXQzNfRENUTCk7ICovCisgICAgICAgICAgICAvKiByZWcgfD0g KERXQzNfRENUTF9BQ0NFUFRVMUVOQSB8IERXQzNfRENUTF9BQ0NFUFRVMkVOQSk7ICovCisgICAg ICAgICAgICAvKiBkd2MzX3dyaXRlbChkd2MtPnJlZ3MsIERXQzNfRENUTCwgcmVnKTsgKi8KICAg ICAgICB9CiAgICAgICAgYnJlYWs7Cgo=