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: [07/10] hikey960: Support usb functionality of Hikey960 From: Heikki Krogerus Message-Id: <20181030101635.GC14534@kuha.fi.intel.com> Date: Tue, 30 Oct 2018 12:16:35 +0200 To: Chen Yu Cc: wangbinghui@hisilicon.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, suzhuangluan@hisilicon.com, kongfei@hisilicon.com, Arnd Bergmann , Greg Kroah-Hartman , John Stultz List-ID: T24gVHVlLCBPY3QgMzAsIDIwMTggYXQgMTA6NTA6MjJBTSArMDgwMCwgQ2hlbiBZdSB3cm90ZToK PiA+IEkgdGhpbmsgeW91IGhhdmUgdG9vIG1hbnkgdGhpbmdzIGludGVncmF0ZWQgaW50byB0aGlz IG9uZSBkcml2ZXIuIElNTwo+ID4gaXQgd291bGQgYXQgbGVhc3QgYmUgYmV0dGVyIHRvIGp1c3Qg bGV0IHRoZSBUeXBlLUMgcG9ydCBkcml2ZXIgdGFrZQo+ID4gY2FyZSBvZiBWQlVTIGxpa2UgSSBt ZW50aW9uZWQgYWJvdmUuIEknbSBhbHNvIHdvbmRlcmluZyBpZiBpdCB3b3VsZAo+ID4gbWFrZSBz ZW5zZSB0byBoYW5kbGUgdGhlIHJvbGUgc3dpdGNoIGFuZCB0aGUgImh1YiIgaW4gdGhlaXIgb3du Cj4gPiBkcml2ZXJzLCBidXQgSSBkb24ndCBrbm93IGVub3VnaCBhYm91dCB5b3VyIHBsYXRmb3Jt IGF0IHRoaXMgcG9pbnQgdG8KPiA+IHNheSBmb3Igc3VyZS4KPiAKPiBUaGFua3MgZm9yIHlvdXIg YWR2aWNlISBUaGUgSGlLZXkgOTYwIGRldmVsb3BtZW50IHBsYXRmb3JtIGlzIGJhc2VkIGFyb3Vu ZCB0aGUgSHVhd2VpIEtpcmluIDk2MC4KPiBUaGUgSGlrZXk5NjAgRGV2ZWxvcG1lbnQgQm9hcmQg c3VwcG9ydHMgdGhyZWUgVVNCIGhvc3QgcG9ydCB2aWEgYSBVU0IgaHViIChVMTgwMyBVU0I1NzM0 KS4KPiBUaGUgSGlrZXk5NjAgRGV2ZWxvcG1lbnQgQm9hcmQgYWxzbyBpbXBsZW1lbnRzIGEgVVNC Mi4wIHR5cGVDIE9URyBwb3J0Lj8/Cj4gVGhlIERwIGFuZCBEbSBvZiBTb2MgY2FuIGJlIHN3aXRj aGVkIGJldHdlZW4gdGhlIHR5cGVDIHBvcnQgYW5kIHRoZSBVU0IgaHViLgo+IElmIHRoZXJlIGlz IG5vIGNhYmxlIG9uIHRoZSB0eXBlQyBwb3J0LCB0aGVuIGR3YzMgY29yZSBvZiBTb2Mgd2lsbCBi ZSBzd2l0Y2ggdG8gaG9zdCBtb2RlIGFuZCB0aGUKPiBkcml2ZXIgb2YgdGhpcyBwYXRjaCB3aWxs IHN3aXRjaCBEcCBhbmQgRHAgdG8gdGhlIGh1Yi4gVGhlIGRyaXZlciBhbHNvIHBvd2VyIG9uIHRo ZSBodWIgaW4gdGhlIG1lYW50aW1lLgoKVGhhbmsgeW91IGZvciB0aGUgZXhwbGFuYXRpb24uIEkg Z290IHRoZSBwaWN0dXJlIG5vdy4gSSByZWFsaXplZCB0aGF0CnRoZXJlIGlzIHNvbWUgb25saW5l IGluZm9ybWF0aW9uIGZvciB0aGlzIGJvYXJkOgpodHRwczovL3d3dy45NmJvYXJkcy5vcmcvZG9j dW1lbnRhdGlvbi9jb25zdW1lci9oaWtleS9oaWtleTk2MC9oYXJkd2FyZS1kb2NzL2hhcmR3YXJl LXVzZXItbWFudWFsLm1kLmh0bWwjdXNiLXBvcnRzCgpTbyB0aGF0IG11eCBpcyBhY3R1YWxseSBf bm90XyBzd2l0Y2hpbmcgYmV0d2VlbiB0aGUgaG9zdCBhbmQgZGV2aWNlCm1vZGVzLCBidXQgaW5z dGVhZCwgaXQncyBzd2l0Y2hpbmcgYmV0d2VlbiBUeXBlLUMgYW5kIFR5cGUtQQpjb25uZWN0b3Jz IChJJ20gc2tpcHBpbmcgdGhlIGh1YiwgYXMgaXQncyBpcnJlbGV2YW50IGZyb20gdGhlIFBvVyBv Zgp0aGUgbXV4KSwgc28gSSd2ZSBtaXN1bmRlcnN0b29kLiBBbmQgeWVzLCB5b3UgZGlkIHNheSB0 aGF0IGl0IGlzCnN3aXRjaGluZyBiZXR3ZWVuIGNvbm5lY3RvcnMgaW4gdGhlIGNvbW1pdCBtZXNz YWdlLCBidXQgSSBnb3QgY29uZnVzZWQKYmVjYXVzZSB5b3UgYXJlIHJlZ2lzdGVycyBhIHJvbGUg c3dpdGNoLgoKSSBkb24ndCB0aGluayB5b3Ugc2hvdWxkIHJlZ2lzdGVyIGEgcm9sZSBzd2l0Y2gg ZnJvbSB0aGlzIGRyaXZlci4gVGhpcwpkcml2ZXIgaXMgbm90IHJlYWxseSByZXByZXNlbnRpbmcg VVNCIHJvbGUgc3dpdGNoLiBUaGUgbXV4IG9uIHRoaXMKYm9hcmQgaXMgc29tZXRoaW5nIGVsc2Uu IEluc3RlYWQgeW91IHNob3VsZCByZWdpc3RlciB0aGUgcm9sZSBzd2l0Y2gKZnJvbSB0aGUgZHdj MyBkcmQgY29kZS4gVGhhdCBpcyB0aGUgcGFydCB0aGF0IGlzIHJlcHJlc2VudGluZyB0aGUgcm9s ZQpzd2l0Y2ggaGVyZS4gSSBhY3R1YWxseSB0aGluayB0aGF0IHdlIHNob3VsZCBkbyB0aGF0IGlu IGFueSBjYXNlLiBUaGUKZHdjMyBkcmQgY29kZSBzaG91bGQgYWx3YXlzIHJlZ2lzdGVyIGEgcm9s ZSBzd2l0Y2guCgpXZSBjYW4gc29sdmUgdGhlIHByb2JsZW0gb2YgZ2V0dGluZyB0aGUgcm9sZSBj aGFuZ2UgZXZlbnRzIGluIHRoaXMKZHJpdmVyIGJ5IGFkZGluZyBub3RpZmljYXRpb24gY2hhaW4g dG8gc3RydWN0IHVzYl9yb2xlX3N3aXRjaCAoY2hlY2sKdGhlIGF0dGFjaGVkIGRpZmYpLiBZb3Ug d291bGQgdGhlbiBqdXN0IG5lZWQgdG8gY2FsbAp1c2Jfcm9sZV9zd2l0Y2hfZ2V0KCkgYW5kIHVz Yl9yb2xlX3N3aXRjaF9yZWdpc3Rlcl9ub3RpZmllcigpLCBhbmQKd2FpdCBmb3IgdGhvc2Ugbm90 aWZpY2F0aW9ucy4gVGhlIGV4dGNvbiBkZXZpY2UgZG9lcyBub3Qgc2VydmUgYW55CnB1cnBvc2Ug YW55bW9yZS4KClRoaXMgZHJpdmVyIHdvdWxkIGNvbnRpbnVlIHRvIHRha2UgY2FyZSBvZiB0aGUg aHViIHBvd2VyaW5nIGFuZCB0aGUKbXV4LCBhbmQgYWxzbyB0aGUgVkJVUyBsaWtlIGJlZm9yZS4K CgpiciwKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb21tb24vcm9sZXMuYyBiL2RyaXZlcnMv dXNiL2NvbW1vbi9yb2xlcy5jCmluZGV4IGJiNTJlMDA2ZDIwMy4uMjg4MTc3N2MxNmU1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL3VzYi9jb21tb24vcm9sZXMuYworKysgYi9kcml2ZXJzL3VzYi9jb21t b24vcm9sZXMuYwpAQCAtMjAsNiArMjAsNyBAQCBzdHJ1Y3QgdXNiX3JvbGVfc3dpdGNoIHsKIAlz dHJ1Y3QgZGV2aWNlIGRldjsKIAlzdHJ1Y3QgbXV0ZXggbG9jazsgLyogZGV2aWNlIGxvY2sqLwog CWVudW0gdXNiX3JvbGUgcm9sZTsKKwlzdHJ1Y3QgYmxvY2tpbmdfbm90aWZpZXJfaGVhZCBuaDsK IAogCS8qIEZyb20gZGVzY3JpcHRvciAqLwogCXN0cnVjdCBkZXZpY2UgKnVzYjJfcG9ydDsKQEAg LTQ5LDggKzUwLDEwIEBAIGludCB1c2Jfcm9sZV9zd2l0Y2hfc2V0X3JvbGUoc3RydWN0IHVzYl9y b2xlX3N3aXRjaCAqc3csIGVudW0gdXNiX3JvbGUgcm9sZSkKIAltdXRleF9sb2NrKCZzdy0+bG9j ayk7CiAKIAlyZXQgPSBzdy0+c2V0KHN3LT5kZXYucGFyZW50LCByb2xlKTsKLQlpZiAoIXJldCkK KwlpZiAoIXJldCkgewogCQlzdy0+cm9sZSA9IHJvbGU7CisJCWJsb2NraW5nX25vdGlmaWVyX2Nh bGxfY2hhaW4oJnN3LT5uaCwgcm9sZSwgTlVMTCk7CisJfQogCiAJbXV0ZXhfdW5sb2NrKCZzdy0+ bG9jayk7CiAKQEAgLTExMCw2ICsxMTMsMjAgQEAgc3RhdGljIHZvaWQgKnVzYl9yb2xlX3N3aXRj aF9tYXRjaChzdHJ1Y3QgZGV2aWNlX2Nvbm5lY3Rpb24gKmNvbiwgaW50IGVwLAogCXJldHVybiBk ZXYgPyB0b19yb2xlX3N3aXRjaChkZXYpIDogRVJSX1BUUigtRVBST0JFX0RFRkVSKTsKIH0KIAor aW50IHVzYl9yb2xlX3N3aXRjaF9yZWdpc3Rlcl9ub3RpZmllcihzdHJ1Y3QgdXNiX3JvbGVfc3dp dGNoICpzdywKKwkJCQkgICAgICBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQoreworCXJldHVy biBibG9ja2luZ19ub3RpZmllcl9jaGFpbl9yZWdpc3Rlcigmc3ctPm5oLCBuYik7Cit9CitFWFBP UlRfU1lNQk9MX0dQTCh1c2Jfcm9sZV9zd2l0Y2hfcmVnaXN0ZXJfbm90aWZpZXIpOworCitpbnQg dXNiX3JvbGVfc3dpdGNoX3VucmVnaXN0ZXJfbm90aWZpZXIoc3RydWN0IHVzYl9yb2xlX3N3aXRj aCAqc3csCisJCQkJCXN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpCit7CisJcmV0dXJuIGJsb2Nr aW5nX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJnN3LT5uaCwgbmIpOworfQorRVhQT1JUX1NZ TUJPTF9HUEwodXNiX3JvbGVfc3dpdGNoX3VucmVnaXN0ZXJfbm90aWZpZXIpOworCiAvKioKICAq IHVzYl9yb2xlX3N3aXRjaF9nZXQgLSBGaW5kIFVTQiByb2xlIHN3aXRjaCBsaW5rZWQgd2l0aCB0 aGUgY2FsbGVyCiAgKiBAZGV2OiBUaGUgY2FsbGVyIGRldmljZQpAQCAtMjY3LDYgKzI4NCw3IEBA IHVzYl9yb2xlX3N3aXRjaF9yZWdpc3RlcihzdHJ1Y3QgZGV2aWNlICpwYXJlbnQsCiAJCXJldHVy biBFUlJfUFRSKC1FTk9NRU0pOwogCiAJbXV0ZXhfaW5pdCgmc3ctPmxvY2spOworCUJMT0NLSU5H X0lOSVRfTk9USUZJRVJfSEVBRCgmc3ctPm5oKTsKIAogCXN3LT5hbGxvd191c2Vyc3BhY2VfY29u dHJvbCA9IGRlc2MtPmFsbG93X3VzZXJzcGFjZV9jb250cm9sOwogCXN3LT51c2IyX3BvcnQgPSBk ZXNjLT51c2IyX3BvcnQ7Cg==