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: [v4,6/6] usb: musb: Add support for MediaTek musb controller From: Bin Liu Message-Id: <20190121160749.GD30080@uda0271908> Date: Mon, 21 Jan 2019 10:07:49 -0600 To: min.guo@mediatek.com Cc: Rob Herring , Greg Kroah-Hartman , Mark Rutland , Matthias Brugger , Alan Stern , chunfeng.yun@mediatek.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, tony@atomide.com, hdegoede@redhat.com, Yonglong Wu List-ID: SGkgTWluLAoKT24gTW9uLCBKYW4gMjEsIDIwMTkgYXQgMDg6MjI6MzFQTSArMDgwMCwgbWluLmd1 b0BtZWRpYXRlay5jb20gd3JvdGU6Cj4gRnJvbTogTWluIEd1byA8bWluLmd1b0BtZWRpYXRlay5j b20+Cj4gCj4gVGhpcyBhZGRzIHN1cHBvcnQgZm9yIE1lZGlhVGVrIG11c2IgY29udHJvbGxlciBp bgo+IGhvc3QsIHBlcmlwaGVyYWwgYW5kIG90ZyBtb2RlLgo+IFRoZXJlIGFyZSBzb21lIHF1aXJr IG9mIE1lZGlhVGVrIG11c2IgY29udHJvbGxlciwgc3VjaCBhczoKPiAgLVcxQyBpbnRlcnJ1cHQg c3RhdHVzIHJlZ2lzdGVycwo+ICAtUHJpdmF0ZSBkYXRhIHRvZ2dsZSByZWdpc3RlcnMKPiAgLU5v IGRlZGljYXRlZCBETUEgaW50ZXJydXB0IGxpbmUKPiAKPiBTaWduZWQtb2ZmLWJ5OiBNaW4gR3Vv IDxtaW4uZ3VvQG1lZGlhdGVrLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBZb25nbG9uZyBXdSA8eW9u Z2xvbmcud3VAbWVkaWF0ZWsuY29tPgo+IC0tLQo+IGNoYW5nZXMgaW4gdjQ6Cj4gMS4gbm8gY2hh bmdlcwo+IAo+IGNoYW5nZXMgaW4gdjM6Cj4gc3VnZ2VzdGVkIGJ5IEJpbjoKPiAxLiBSZW1vdmUg J3U4L3UxNiBkYXRhJyBwYXJhbWV0ZXIgaW4gY2xlYXJiL3coKSBob29rcwo+IDIuIFJlcGxhY2Ug bXVzYl9yZWFkYi93KCkgd2l0aCBtdXNiX2NsZWFyYi93KCkgdG8gY2xlYXIgaW50ZXJydXB0cyBz dGF0dXMKPiAKPiBjaGFuZ2VzIGluIHYyOgo+IHN1Z2dlc3RlZCBieSBCaW46Cj4gMS4gQWRkIHN1 bW1hcml6ZSBvZiBNZWRpYVRlayBtdXNiIGNvbnRyb2xsZXIgZGlmZmVyZW5jZXMgaW4gdGhlIGNv bW1pdCBsb2cKPiAyLiBBZGQgInx8IENPTVBJTEVfVEVTVCIgaW4gS2NvbmZpZwo+IDMuIE1vdmUg TWVkaWFUZWsncyBwcml2YXRlIHRvZ2dsZSByZWdpc3RlcnMgZnJvbSBtdXNiX3JlZ3MuaCB0byBt ZWRpYXRlay5jCj4gNC4gUmVwbGFjZSBtdXNiX3JlYWRsKCkgd2l0aCBtdXNiX3JlYWR3KCkgdG8g cmVhZCAxNmJpdCB0b2dnbGUgcmVnaXN0ZXIKPiAtLS0KPiAgZHJpdmVycy91c2IvbXVzYi9LY29u ZmlnICAgIHwgICA4ICstCj4gIGRyaXZlcnMvdXNiL211c2IvTWFrZWZpbGUgICB8ICAgMSArCj4g IGRyaXZlcnMvdXNiL211c2IvbWVkaWF0ZWsuYyB8IDYyNCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDYzMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3VzYi9tdXNi L21lZGlhdGVrLmMKPiAKCltzbmlwXQoKPiArc3RhdGljIGlycXJldHVybl90IGdlbmVyaWNfaW50 ZXJydXB0KGludCBpcnEsIHZvaWQgKl9faGNpKQo+ICt7Cj4gKwl1bnNpZ25lZCBsb25nIGZsYWdz Owo+ICsJaXJxcmV0dXJuX3QgcmV0dmFsID0gSVJRX05PTkU7Cj4gKwlzdHJ1Y3QgbXVzYiAqbXVz YiA9IF9faGNpOwo+ICsKPiArCXNwaW5fbG9ja19pcnFzYXZlKCZtdXNiLT5sb2NrLCBmbGFncyk7 Cj4gKwltdXNiLT5pbnRfdXNiID0gbXVzYl9yZWFkYihtdXNiLT5tcmVncywgTVVTQl9JTlRSVVNC KSAmCj4gKwkgICAgbXVzYl9yZWFkYihtdXNiLT5tcmVncywgTVVTQl9JTlRSVVNCRSk7Cj4gKwlt dXNiLT5pbnRfdHggPSBtdXNiX3JlYWR3KG11c2ItPm1yZWdzLCBNVVNCX0lOVFJUWCkKPiArCSAg ICAmIG11c2JfcmVhZHcobXVzYi0+bXJlZ3MsIE1VU0JfSU5UUlRYRSk7Cj4gKwltdXNiLT5pbnRf cnggPSBtdXNiX3JlYWR3KG11c2ItPm1yZWdzLCBNVVNCX0lOVFJSWCkKPiArCSAgICAmIG11c2Jf cmVhZHcobXVzYi0+bXJlZ3MsIE1VU0JfSU5UUlJYRSk7CgpCYXNlZCBvbiBteSBjb21tZW50IGlu IDUvNiwgdGhlIGFib3ZlIDMgbXVzYl9yZWFkYi93KCkgY2FuIGJlIGNoYW5nZWQgdG8KCj4gKwkv KiBNZWRpYVRlayBjb250cm9sbGVyIGludGVycnVwdCBzdGF0dXMgaXMgVzFDICovCj4gKwltdXNi X2NsZWFydyhtdXNiLT5tcmVncywgTVVTQl9JTlRSUlgpOwo+ICsJbXVzYl9jbGVhcncobXVzYi0+ bXJlZ3MsIE1VU0JfSU5UUlRYKTsKPiArCW11c2JfY2xlYXJiKG11c2ItPm1yZWdzLCBNVVNCX0lO VFJVU0IpOwoKCW11c2ItPmludF91c2IgPSBtdXNiX2NsZWFyYihtdXNiLT5tcmVncywgTVVTQl9J TlRSVVNCKQoJbXVzYi0+aW50X3R4ID0gbXVzYl9jbGVhcncobXVzYi0+bXJlZ3MsIE1VU0JfSU5U UlRYKTsKCW11c2ItPmludF9yeCA9IG11c2JfY2xlYXJ3KG11c2ItPm1yZWdzLCBNVVNCX0lOVFJS WCk7Cgo+ICsKPiArCWlmIChtdXNiLT5pbnRfdXNiIHx8IG11c2ItPmludF90eCB8fCBtdXNiLT5p bnRfcngpCj4gKwkJcmV0dmFsID0gbXVzYl9pbnRlcnJ1cHQobXVzYik7Cj4gKwo+ICsJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmbXVzYi0+bG9jaywgZmxhZ3MpOwo+ICsKPiArCXJldHVybiByZXR2 YWw7Cj4gK30KPiArCgpbc25pcF0KCj4gKwo+ICtzdGF0aWMgdTggbXRrX211c2JfY2xlYXJiKHZv aWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgaW50IG9mZnNldCkKPiArewo+ICsJdTggZGF0YTsK PiArCj4gKwkvKiBXMUMgKi8KPiArCWRhdGEgPSBtdXNiX3JlYWRiKGFkZHIsIG9mZnNldCk7Cj4g KwltdXNiX3dyaXRlYihhZGRyLCBvZmZzZXQsIGRhdGEpOwo+ICsJcmV0dXJuIG11c2JfcmVhZGIo YWRkciwgb2Zmc2V0KTsKCglyZXR1cm4gZGF0YTsKCj4gK30KPiArCj4gK3N0YXRpYyB1MTYgbXRr X211c2JfY2xlYXJ3KHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgaW50IG9mZnNldCkKPiAr ewo+ICsJdTE2IGRhdGE7Cj4gKwo+ICsJLyogVzFDICovCj4gKwlkYXRhID0gbXVzYl9yZWFkdyhh ZGRyLCBvZmZzZXQpOwo+ICsJbXVzYl93cml0ZXcoYWRkciwgb2Zmc2V0LCBkYXRhKTsKPiArCXJl dHVybiBtdXNiX3JlYWR3KGFkZHIsIG9mZnNldCk7CgoJcmV0dXJuIGRhdGE7CgoKUmVnYXJkcywK LUJpbi4K