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: [4/4] usb: musb: Add support for MediaTek musb controller From: min.guo@mediatek.com Message-Id: <1547184277.4433.164.camel@mhfsdcap03> Date: Fri, 11 Jan 2019 13:24:37 +0800 To: Bin Liu 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, Yonglong Wu List-ID: SGkgQmluLAoKSSBoYXZlIHNvbWUgcXVlc3Rpb25zIGFib3V0Cm11c2Joc19kbWFfY29udHJvbGxl cl9kZXN0cm95L2NyZWF0ZV9ub2lycSgpLgoxLEJlY2F1c2Ugb2YgY29udHJvbGxlci0+aXJxPTAg aW4gbm9pcnEgY2FzZSwgZGVzdHJveV9ub2lycSBjYW4gcmV1c2UKbXVzYmhzX2RtYV9jb250cm9s bGVyX2Rlc3Ryb3kuIElzIGl0IG5lY2Vzc2FyeSB0byB3cml0ZSBhIGRlc3Ryb3lfbm9pcnEKZnVu Y3Rpb24/CjIsIEhvdyBhYm91dCBjcmVhdGluZyBhIGNvbW1vbiBmdW5jdGlvbiBmb3IgY3JlYXRl IG11c2IgZG1hIGNvbnRyb2xsZXIKYXMgZm9sbG93aW5nOgpzdGF0aWMgc3RydWN0IG11c2JfZG1h X2NvbnRyb2xsZXIgKmRtYV9jb250cm9sbGVyX2FsbG9jKHN0cnVjdCBtdXNiCiptdXNiLCB2b2lk IF9faW9tZW0gKmJhc2UpCnRoZW4gbXVzYmhzX2RtYV9jb250cm9sbGVyX2NyZWF0ZSgpIGFuZApt dXNiaHNfZG1hX2NvbnRyb2xsZXJfY3JlYXRlX25vaXJxKCkgY2FsbCBpdCB0byBhbGxvYyBjb21t b24gcmVzb3VyY2UuCgoKT24gVHVlLCAyMDE5LTAxLTA4IGF0IDA5OjQ0IC0wNjAwLCBCaW4gTGl1 IHdyb3RlOgo+IEhpLAo+IAo+IE9uIFRodSwgRGVjIDI3LCAyMDE4IGF0IDAzOjM0OjI2UE0gKzA4 MDAsIG1pbi5ndW9AbWVkaWF0ZWsuY29tIHdyb3RlOgo+ID4gRnJvbTogTWluIEd1byA8bWluLmd1 b0BtZWRpYXRlay5jb20+Cj4gPiAKPiA+IFRoaXMgYWRkcyBzdXBwb3J0IGZvciBNZWRpYVRlayBt dXNiIGNvbnRyb2xsZXIgaW4KPiA+IGhvc3QsIHBlcmlwaGVyYWwgYW5kIG90ZyBtb2RlCj4gPiAK Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYyBiL2RyaXZlcnMv dXNiL211c2IvbXVzYmhzZG1hLmMKPiA+IGluZGV4IDgyNGFkY2IuLmM1NDU0NzUgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL3VzYi9tdXNiL211c2Joc2RtYS5jCj4gPiArKysgYi9kcml2ZXJzL3Vz Yi9tdXNiL211c2Joc2RtYS5jCgo+ID4gIAo+ID4gIHZvaWQgbXVzYmhzX2RtYV9jb250cm9sbGVy X2Rlc3Ryb3koc3RydWN0IGRtYV9jb250cm9sbGVyICpjKQo+ID4gIHsKPiA+ICAJc3RydWN0IG11 c2JfZG1hX2NvbnRyb2xsZXIgKmNvbnRyb2xsZXIgPSBjb250YWluZXJfb2YoYywKPiA+ICAJCQlz dHJ1Y3QgbXVzYl9kbWFfY29udHJvbGxlciwgY29udHJvbGxlcik7Cj4gPiArCXN0cnVjdCBtdXNi ICptdXNiID0gY29udHJvbGxlci0+cHJpdmF0ZV9kYXRhOwo+ID4gIAo+ID4gIAlkbWFfY29udHJv bGxlcl9zdG9wKGNvbnRyb2xsZXIpOwo+ID4gIAo+ID4gLQlpZiAoY29udHJvbGxlci0+aXJxKQo+ ID4gKwlpZiAoIShtdXNiLT5vcHMtPnF1aXJrcyAmIE1VU0JfTVRLX1FVSVJLUykgJiYgY29udHJv bGxlci0+aXJxKQo+ID4gIAkJZnJlZV9pcnEoY29udHJvbGxlci0+aXJxLCBjKTsKPiA+ICAKPiA+ ICAJa2ZyZWUoY29udHJvbGxlcik7Cj4gPiBAQCAtMzk4LDExICs0MDIsMTUgQEAgc3RydWN0IGRt YV9jb250cm9sbGVyICptdXNiaHNfZG1hX2NvbnRyb2xsZXJfY3JlYXRlKHN0cnVjdCBtdXNiICpt dXNiLAo+ID4gIAlzdHJ1Y3QgbXVzYl9kbWFfY29udHJvbGxlciAqY29udHJvbGxlcjsKPiA+ICAJ c3RydWN0IGRldmljZSAqZGV2ID0gbXVzYi0+Y29udHJvbGxlcjsKPiA+ICAJc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRmb3JtX2RldmljZShkZXYpOwo+ID4gLQlpbnQgaXJx ID0gcGxhdGZvcm1fZ2V0X2lycV9ieW5hbWUocGRldiwgImRtYSIpOwo+ID4gKwlpbnQgaXJxID0g LTE7Cj4gPiAgCj4gPiAtCWlmIChpcnEgPD0gMCkgewo+ID4gLQkJZGV2X2VycihkZXYsICJObyBE TUEgaW50ZXJydXB0IGxpbmUhXG4iKTsKPiA+IC0JCXJldHVybiBOVUxMOwo+ID4gKwlpZiAoISht dXNiLT5vcHMtPnF1aXJrcyAmIE1VU0JfTVRLX1FVSVJLUykpIHsKPiA+ICsJCWlycSA9IHBsYXRm b3JtX2dldF9pcnFfYnluYW1lKHBkZXYsICJkbWEiKTsKPiA+ICsKPiA+ICsJCWlmIChpcnEgPCAw KSB7Cj4gPiArCQkJZGV2X2VycihkZXYsICJObyBETUEgaW50ZXJydXB0IGxpbmUhXG4iKTsKPiA+ ICsJCQlyZXR1cm4gTlVMTDsKPiA+ICsJCX0KPiA+ICAJfQo+IAo+IFBsZWFzZSBjcmVhdGUgbXVz YmhzX2RtYV9jb250cm9sbGVyX2Rlc3Ryb3lfbm9pcnEoKSBmb3IgeW91ciBwbGF0Zm9ybSB0bwo+ IG5vdCB1c2UgdGhlIHF1aXJrLgo+IAo+ID4gIAo+ID4gIAljb250cm9sbGVyID0ga3phbGxvYyhz aXplb2YoKmNvbnRyb2xsZXIpLCBHRlBfS0VSTkVMKTsKPiA+IEBAIC00MTgsMTUgKzQyNiwxNyBA QCBzdHJ1Y3QgZG1hX2NvbnRyb2xsZXIgKm11c2Joc19kbWFfY29udHJvbGxlcl9jcmVhdGUoc3Ry dWN0IG11c2IgKm11c2IsCj4gPiAgCWNvbnRyb2xsZXItPmNvbnRyb2xsZXIuY2hhbm5lbF9wcm9n cmFtID0gZG1hX2NoYW5uZWxfcHJvZ3JhbTsKPiA+ICAJY29udHJvbGxlci0+Y29udHJvbGxlci5j aGFubmVsX2Fib3J0ID0gZG1hX2NoYW5uZWxfYWJvcnQ7Cj4gPiAgCj4gPiAtCWlmIChyZXF1ZXN0 X2lycShpcnEsIGRtYV9jb250cm9sbGVyX2lycSwgMCwKPiA+ICsJaWYgKCEobXVzYi0+b3BzLT5x dWlya3MgJiBNVVNCX01US19RVUlSS1MpKSB7Cj4gPiArCQlpZiAocmVxdWVzdF9pcnEoaXJxLCBk bWFfY29udHJvbGxlcl9pcnEsIDAsCj4gPiAgCQkJZGV2X25hbWUobXVzYi0+Y29udHJvbGxlciks ICZjb250cm9sbGVyLT5jb250cm9sbGVyKSkgewo+ID4gLQkJZGV2X2VycihkZXYsICJyZXF1ZXN0 X2lycSAlZCBmYWlsZWQhXG4iLCBpcnEpOwo+ID4gLQkJbXVzYl9kbWFfY29udHJvbGxlcl9kZXN0 cm95KCZjb250cm9sbGVyLT5jb250cm9sbGVyKTsKPiA+ICsJCQlkZXZfZXJyKGRldiwgInJlcXVl c3RfaXJxICVkIGZhaWxlZCFcbiIsIGlycSk7Cj4gPiArCQkJbXVzYl9kbWFfY29udHJvbGxlcl9k ZXN0cm95KCZjb250cm9sbGVyLT5jb250cm9sbGVyKTsKPiA+ICAKPiA+IC0JCXJldHVybiBOVUxM Owo+ID4gLQl9Cj4gPiArCQkJcmV0dXJuIE5VTEw7Cj4gPiArCQl9Cj4gPiAgCj4gPiAtCWNvbnRy b2xsZXItPmlycSA9IGlycTsKPiA+ICsJCWNvbnRyb2xsZXItPmlycSA9IGlycTsKPiA+ICsJfQo+ ID4gIAo+ID4gIAlyZXR1cm4gJmNvbnRyb2xsZXItPmNvbnRyb2xsZXI7Cj4gPiAgfQo+IAo+IFNh bWUgaGVyZSwgY3JlYXRlIG11c2Joc19kbWFfY29udHJvbGxlcl9jcmVhdGVfbm9pcnEoKS4gVGhl biB1c2UgYm90aAo+IG5ldyBBUEkgZm9yIHRoZSBtdGsgZ2x1ZSBkcml2ZXIuCgoKCj4gUmVnYXJk cywKPiAtQmluLgo=