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: [v1,2/2] usb: dwc3: Add Qualcomm DWC3 glue driver From: Felipe Balbi Message-Id: <87woyfrqgr.fsf@linux.intel.com> Date: Wed, 14 Mar 2018 10:50:12 +0200 To: Manu Gautam , Rob Herring , Andy Gross , Heikki Krogerus Cc: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, Greg Kroah-Hartman , open list List-ID: SGksCgpNYW51IEdhdXRhbSA8bWdhdXRhbUBjb2RlYXVyb3JhLm9yZz4gd3JpdGVzOgo+IEhpLAo+ Cj4KPiBPbiAzLzEzLzIwMTggNDozOCBQTSwgRmVsaXBlIEJhbGJpIHdyb3RlOgo+PiBIaSwKPj4K Pj4gK0FuZHkKPj4KPj4gTWFudSBHYXV0YW0gPG1nYXV0YW1AY29kZWF1cm9yYS5vcmc+IHdyaXRl czoKPj4+IERXQzMgY29udHJvbGxlciBvbiBRdWFsY29tbSBTT0NzIGhhcyBhIFFzY3JhdGNoIHdy YXBwZXIuCj4+PiBTb21lIG9mIGl0cyB1c2VzIGFyZSBkZXNjcmliZWQgYmVsb3cgcmVzdWx0aW5n IGluIG5lZWQgdG8KPj4+IGhhdmUgYSBzZXBhcmF0ZSBnbHVlIGRyaXZlciBpbnN0ZWFkIG9mIHVz aW5nIGR3YzMtb2Ytc2ltcGxlOgo+Pj4gIC0gSXQgZXhwb3NlcyByZWdpc3RlciBpbnRlcmZhY2Ug dG8gb3ZlcnJpZGUgdmJ1cy1vdmVycmlkZQo+Pj4gICAgYW5kIGxhbmUwLXB3ci1wcmVzZW50IHNp Z25hbHMgZ29pbmcgdG8gaGFyZHdhcmUuIFRoZXNlCj4+PiAgICBtdXN0IGJlIHVwZGF0ZWQgaW4g cGVyaXBoZXJhbCBtb2RlIGZvciBEV0MzIGlmIHZidXMgbGluZXMKPj4+ICAgIGFyZSBub3QgY29u bmVjdGVkIHRvIGhhcmR3YXJlIGJsb2NrLiBPdGhlcndpc2UgUlggdGVybWluYXRpb24KPj4+ICAg IGluIFNTIG1vZGUgb3IgRFAgcHVsbC11cCBpcyBub3QgYXBwbGllZCBieSBkZXZpY2UgY29udHJv bGxlci4KPj4gcmlnaHQsIGNvcmUgbmVlZHMgdG8ga25vdyB0aGF0IFZCVVMgaXMgYWJvdmUgNC40 Vi4gV2h5IHdhc24ndCB0aGlzIGEKPj4gcHJvYmxlbSB3aGVuIHRoZSBvcmlnaW5hbCBnbHVlIGxh eWVyIHdhcyBmaXJzdCBwdWJsaXNoZWQ/Cj4KPiBUaGFua3MgZm9yIHJldmlld2luZy4KPiBPcmln aW5hbCBnbHVlIGxheWVyIHN1cHBvcnRlZCBvbmx5IGhvc3QgbW9kZSwgaGVuY2UgdGhpcyB3YXNu J3QgbmVlZGVkLgoKb2theQoKPj4+ICAtIHB3cl9ldmVudHNfaXJxX3N0YXQgc3VwcG9ydCB0byBl bnN1cmUgVVNCMiBQSFkgaXMgaW4gTDIgc3RhdGUKPj4+ICAgIGJlZm9yZSBnbHVlIGRyaXZlciBj YW4gdHVybi1vZmYgY2xvY2tzIGFuZCBzdXNwZW5kIFBIWS4KPj4gQ29yZSBtYW5hZ2VzIFBIWSBz dXNwZW5kIGF1dG9tYXRpY2FsbHkuIElzbid0IHRoYXQgd29ya2luZyBmb3IgeW91PyBXaHk/Cj4K PiBZZXMsIGl0IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBRVVNCMiBQSFkgKHVzYjItcGh5IG9uIFF1 YWxjb21tIFNPQ3MpLgoKYnV0IHRoZSBQSFkgZG9lc24ndCBuZWVkIHRvIHN1cHBvcnQgaXQsIERX QzMgZG9lcyA6LSkKCj4gSXNzdWUgaXMgdGhhdCBJZiBjb3JlIHN1c3BlbmRzIFVTQjIgUEhZIChz YXkgaW4gaG9zdCBtb2RlIGlmIHNvbWUgU1MgZGV2aWNlIGNvbm5lY3RlZCksCj4gVVNCMiBQSFkg c3RvcHMgcmVzcG9uZGluZyB0byBhbnkgYXR0YWNoIGV2ZW50IGFzIGl0IGNhbid0IGV4aXQgc3Vz cGVuZCBzdGF0ZSBieSBpdHNlbGYuCgpPa2F5LCBzbyB3ZSBtaXNzIHJlbW90ZSB3YWtldXAgZXZl bnRzLiBGYWlyIGVub3VnaC4KCj4+PiAgLSBTdXBwb3J0IHRvIHJlcGxhY2UgcGlwMyBjbG9jayBn b2luZyB0byBEV0MzIHdpdGggdXRtaSBjbG9jawo+Pj4gICAgZm9yIGhhcmR3YXJlIGNvbmZpZ3Vy YXRpb24gd2hlcmUgU1NQSFkgaXMgbm90IHVzZWQgd2l0aCBEV0MzLgo+PiBJcyB0aGF0IFNXIGNv bmZpZ3VyYWJsZT8gUmVhbGx5PyBJbiBhbnkgY2FzZSBzZWVtcyBsaWtlIHRoaXMgYW5kIFNFU1NW TEQKPj4gdmFsaWQgc2hvdWxkIGJlIGhhbmRsZWQgdXNpbmcgSGFucycgYW5kIEhlaWtraSdzIG11 eCBzdXBwb3J0Lgo+Cj4gWWVzLCB3aXRoIHRoaXMgd2UgY2FuIHVzZSBkd2MzIHdpdGhvdXQgdXNp bmcgU1NQSFkuIFBsZWFzZSBwb2ludCBtZSB0bwo+IHRob3NlIHBhdGNoZXMuIFRoZXJlIGFyZSBv bmx5IGJ1bmNoIG9mIHJlZ2lzdGVyIHdyaXRlcyBpbiBnbHVlIHdyYXBwZXIgdG8KPiBhY2hpZXZl IHRoZSBzYW1lLgoKaHR0cHM6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtdXNiL21zZzE2 MDg2OC5odG1sCgo+Pj4gK3N0YXRpYyBpbnQgZHdjM19xY29tX3N1c3BlbmQoc3RydWN0IGR3YzNf cWNvbSAqcWNvbSkKPj4+ICt7Cj4+PiArCXN0cnVjdCBkd2MzCSpkd2MgPSBwbGF0Zm9ybV9nZXRf ZHJ2ZGF0YShxY29tLT5kd2MzKTsKPj4gbm9wZSEgR2x1ZSBzaG91bGRuJ3QgdG91Y2ggZHdjMyBh dCBhbGwuCj4gT3RoZXIgdGhhbiBQSFkgaGFuZGxlcywgbmVlZCB0aGlzIHRvIGZhaWwgcnVudGlt ZSBzdXNwZW5kIGlmIGR3YzMgaGFzbid0Cj4gcHJvYmVkIHlldC4KCldpbGwgdGhhdCBldmVuIGhh cHBlbj8gWW91IHNob3VsZCBwbV9ydW50aW1lX2ZvcmJpZCgpIGJ5IGRlZmF1bHQsCmFueXdheSBh bmQgZXhwZWN0IGl0IHRvIGJlIGVuYWJsZWQgdmlhIHN5c2ZzIGxhdGVyLCBubz8KCj4+PiArCWR3 YzNfcWNvbV9zdXNwZW5kX2hzcGh5KHFjb20pOwo+Pj4gKwo+Pj4gKwlpZiAoZHdjLT51c2IyX2dl bmVyaWNfcGh5KQo+Pj4gKwkJcGh5X3BtX3J1bnRpbWVfcHV0X3N5bmMoZHdjLT51c2IyX2dlbmVy aWNfcGh5KTsKPj4+ICsJaWYgKGR3Yy0+dXNiM19nZW5lcmljX3BoeSkKPj4+ICsJCXBoeV9wbV9y dW50aW1lX3B1dF9zeW5jKGR3Yy0+dXNiM19nZW5lcmljX3BoeSk7Cj4+IGNvcmUuYyBzaG91bGQg ZG8gdGhpcy4KPiBSZWNvbW1lbmRlZCBzZXF1ZW5jZSBmcm9tIGgvdyBwcm9ncmFtbWluZyBndWlk ZSBpcyB0aGF0Ogo+IDEuIFBIWSBhdXRvc3VzcGVuZCBtdXN0IGJlIGxlZnQgZGlzYWJsZWQgLSBz bnBzLGRpc191Ml9zdXNwaHlfcXVpcmsvZGlzX2VuYmxzbHBtX3F1aXJrCj4gMi4gRHVyaW5nIHJ1 bnRpbWUtc3VzcGVuZCAoc2F5IG9uIHhoY2kgYnVzX3N1c3BlbmQpICwgUEhZIHNob3VsZCBiZSBz dXNwZW5kZWQKPiDCoCDCoCB1c2luZyBHVVNCMlBIWUNGRyByZWdpc3RlcgoKdGhpcyBpcyBzb21l dGhpbmcgdGhhdCBkd2MzIGNvcmUgY2FuIGRvIG9uIGl0cyBvd24gc3VzcGVuZCBpbXBsZW1lbnRh dGlvbi4KCj4gMy4gV2FpdCB1bnRpbCBwd3JfZXZlbnRfaXJxX3N0YXQgaW4gcXNjcmF0Y2ggcmVm bGVjdHMgUEhZIHRyYW5zaXRpb24gdG8gTDIuCgp0aGlzIGlzIGludGVyZXN0aW5nIHBhcnQuIElz IHRoaXMgcmVnaXN0ZXIgYWNjZXNzaWJsZSBieSB0aGUgUEhZIGRyaXZlcj8KU2VlbXMgbGlrZSB0 aGF0IHdvdWxkIGJlIHRoZSBiZXN0IHBsYWNlIHRvIHN0dWZmIHRoaXMuLi4KCj4gMy4gVVNCMiBQ SFkgZHJpdmVyIGNhbiBzdXNwZW5kIC0gZW5hYmxlIHdha2V1cCBldmVudHMgYW5kIHR1cm5zIG9m ZiBjbG9ja3MgZXRjLgoKLi4uIHRvZ2V0aGVyIHdpdGggdGhpcy4KCj4gNC4gZHdjMyBnbHVlIGRy aXZlciBjYW4gc3VzcGVuZC4KPgo+IFNpbmNlLCBwd3JfZXZlbnRfaXJxIHN0YXQgY2FuJ3QgYmUg Y2hlY2tlZCBpbiBjb3JlIGRyaXZlciwgSSBhZGRlZCB0aGlzIGhhbmRsaW5nCj4gaW4gZ2x1ZSBk cml2ZXIuIEFsdGVybmF0aXZlIGFwcHJvYWNoIEkgY2FuIHRoaW5rIG9mIGlzIHRvIGxldCBkd2Mz IGNvcmUgc3VzcGVuZAo+IFBIWSB1c2luZyBHVVNCUEhZQ0ZHIHJlZ2lzdGVyIG9uIHN1c3BlbmQs wqAgYWRkIHNvbWUgZGVsYXkgYmVmb3JlCj4gc3VzcGVuZGluZyBQSFkuIEdsdWUgZHJpdmVyIGNh biBjaGVjayBmb3IgcHdyX2V2ZW50X2lycSBzdGF0IGFuZCB0aHJvdyBhCj4gd2FybmluZyBpZiBQ SFkgbm90IGluIEwyLgoKYWxtb3N0IDotKSBjb3JlX3N1c3BlbmQgZmlkZGxlcyB3aXRoIEdVU0Iy UEhZQ0ZHIGZvciBzdXNwZW5kIGFuZCBjYWxscwpwaHlfc3VzcGVuZCgpIChvciB3aGF0ZXZlciB0 aGUgZnVuY3Rpb24gaXMgY2FsbGVkIGhlaCksIHRoYXQgd2lsbCBnbyB0bwp5b3VyIHBoeSBkcml2 ZXIncyBzdXNwZW5kIGNhbGxiYWNrLCB3aGljaCBjaGVja3MgcHdyX2V2ZW50X2lycV9zdGF0IGFu ZAp0aGVuIHBtX3J1bnRpbWVfcHV0KCkgdG8gc2NoZWR1bGUgLT5ydW50aW1lX3N1c3BlbmQoKSBz byB0aGF0IGNhbiBlbmFibGUKd2FrZXVwcyBhbmQgc3dpdGNoIG9mZiBjbG9ja3MuCgo+Pj4gKwlp cnEgPSBwbGF0Zm9ybV9nZXRfaXJxX2J5bmFtZShwZGV2LCAiZHBfaHNfcGh5X2lycSIpOwo+Pj4g KwlpZiAoaXJxID4gMCkgewo+Pj4gKwkJaXJxX3NldF9zdGF0dXNfZmxhZ3MoaXJxLCBJUlFfTk9B VVRPRU4pOwo+PiB3aHkgZG8geW91IG5lZWQgdG8gc2V0IHRoaXMgZmxhZz8KPiBUaGVzZSB3YWtl dXBfaXJxcyBzaG91bGQgYmUgZW5hYmxlZCBvbmx5IGR1cmluZyBzdXNwZW5kLiBXaXRoIHRoaXMg ZmxhZyBJCj4gZG9uJ3QgbmVlZCB0byBkaXNhYmxlIGlycSBpbW1lZGlhdGVseSBhZnRlciByZXF1 ZXN0aW5nIGl0LgoKb2gsIG9rYXkuIFlvdSBtYXkgd2FudCB0byBhZGQgYSBjb21tZW50IGhlcmUg Oi0pCgo+Cj4+Cj4+PiArCQlyZXQgPSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJxKHFjb20tPmRl diwgaXJxLCBOVUxMLAo+Pj4gKwkJCQkJcWNvbV9kd2MzX3Jlc3VtZV9pcnEsCj4+PiArCQkJCQlJ UlFGX1RSSUdHRVJfSElHSCB8IElSUUZfT05FU0hPVCwKPj4+ICsJCQkJCSJxY29tX2R3YzMgRFBf SFMiLCBxY29tKTsKPj4gdGhpcyBpcyB0aGUgc2FtZSBhcyBkZXZtX3JlcXVlc3RfaXJxKCkKPiBJ IGFtIHBhc3NpbmcgaGFyZF9pcnEgaGFuZGxlciBhcyBOVUxMIHdoZXJlYXMgdGhyZWFkX2ZuIGlz IG5vdCBOVUxMLgo+IGRldm1fcmVxdWVzdF9pcnEgaXMganVzdCB0aGUgb3Bwb3NpdGUuCgpvaCwg aW5kZWVkLiBJIG1pc3BhcnNlZCBpdC4KCj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1f b3BzIGR3YzNfcWNvbV9kZXZfcG1fb3BzID0gewo+Pj4gKwlTRVRfU1lTVEVNX1NMRUVQX1BNX09Q Uyhkd2MzX3Fjb21fcG1fc3VzcGVuZCwgZHdjM19xY29tX3BtX3Jlc3VtZSkKPj4+ICsJU0VUX1JV TlRJTUVfUE1fT1BTKGR3YzNfcWNvbV9ydW50aW1lX3N1c3BlbmQsIGR3YzNfcWNvbV9ydW50aW1l X3Jlc3VtZSwKPj4+ICsJCQkgICBOVUxMKQo+PiB3aHkgZG9uJ3QgeW91IGhhdmUgcnVudGltZV9p ZGxlPwo+Cj4gSSBkaWRuJ3Qgc2VlIGFueSBuZWVkIGZvciB0aGF0LiBycG1faWRsZSB3aWxsIGlu dm9rZSBycG1fc3VzcGVuZCBpZiBpZGxlIGNhbGxiYWNrCj4gaXMgbm90IHNwZWNpZmllZC4KClJp Z2h0LCBidXQgLT5ydW50aW1lX2lkbGUoKSBoZWxwcyBtYWtpbmcgdGhpbmdzIGEgbGl0dGxlIG1v cmUKcmVhZGFibGUuIEl0IGlzLCBob3dldmVyLCBhIG1hdHRlciBvZiB0YXN0ZS4gTm8gc3Ryb25n IGZlZWxpbmdzIGhlcmUuIDotKQo=