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: [v7,05/14] usb: typec: add API to get typec basic port power and data config From: Heikki Krogerus Message-Id: <20180626081427.GF16601@kuha.fi.intel.com> Date: Tue, 26 Jun 2018 11:14:27 +0300 To: Li Jun Cc: robh+dt@kernel.org, gregkh@linuxfoundation.org, linux@roeck-us.net, a.hajda@samsung.com, cw00.choi@samsung.com, shufan_lee@richtek.com, peter.chen@nxp.com, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-imx@nxp.com List-ID: T24gTW9uLCBKdW4gMjUsIDIwMTggYXQgMDQ6MDg6MzdQTSArMDgwMCwgTGkgSnVuIHdyb3RlOgo+ IFRoaXMgcGF0Y2ggYWRkcyAzIEFQSXMgdG8gZ2V0IHRoZSB0eXBlYyBwb3J0IHBvd2VyIGFuZCBk YXRhIHR5cGUsCj4gYW5kIHByZWZlcnJlZCBwb3dlciByb2xlIGJ5IGl0cyBuYW1lIHN0cmluZy4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBMaSBKdW4gPGp1bi5saUBueHAuY29tPgoKUmV2aWV3ZWQtYnk6 IEhlaWtraSBLcm9nZXJ1cyA8aGVpa2tpLmtyb2dlcnVzQGxpbnV4LmludGVsLmNvbT4KCj4gLS0t Cj4gIGRyaXZlcnMvdXNiL3R5cGVjL2NsYXNzLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLQo+ICBpbmNsdWRlL2xpbnV4L3VzYi90eXBlYy5oIHwg IDMgKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvdHlwZWMvY2xhc3MuYyBiL2RyaXZlcnMv dXNiL3R5cGVjL2NsYXNzLmMKPiBpbmRleCA1M2RmMTBkLi42MzMxMDU5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvdXNiL3R5cGVjL2NsYXNzLmMKPiArKysgYi9kcml2ZXJzL3VzYi90eXBlYy9jbGFz cy5jCj4gQEAgLTc5NiwxMiArNzk2LDE4IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdHlw ZWNfZGF0YV9yb2xlc1tdID0gewo+ICAJW1RZUEVDX0hPU1RdCT0gImhvc3QiLAo+ICB9Owo+ICAK PiAtc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0eXBlY19wb3J0X3R5cGVzW10gPSB7Cj4gK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgdHlwZWNfcG9ydF9wb3dlcl9yb2xlc1tdID0gewo+ICAJ W1RZUEVDX1BPUlRfU1JDXSA9ICJzb3VyY2UiLAo+ICAJW1RZUEVDX1BPUlRfU05LXSA9ICJzaW5r IiwKPiAgCVtUWVBFQ19QT1JUX0RSUF0gPSAiZHVhbCIsCj4gIH07Cj4gIAo+ICtzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IHR5cGVjX3BvcnRfZGF0YV9yb2xlc1tdID0gewo+ICsJW1RZUEVDX1BP UlRfREZQXSA9ICJob3N0IiwKPiArCVtUWVBFQ19QT1JUX1VGUF0gPSAiZGV2aWNlIiwKPiArCVtU WVBFQ19QT1JUX0RSRF0gPSAiZHVhbCIsCj4gK307Cj4gKwo+ICBzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IHR5cGVjX3BvcnRfdHlwZXNfZHJwW10gPSB7Cj4gIAlbVFlQRUNfUE9SVF9TUkNdID0g ImR1YWwgW3NvdXJjZV0gc2luayIsCj4gIAlbVFlQRUNfUE9SVF9TTktdID0gImR1YWwgc291cmNl IFtzaW5rXSIsCj4gQEAgLTkzMiw3ICs5MzgsNyBAQCBzdGF0aWMgc3NpemVfdCBwb3dlcl9yb2xl X3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwKPiAgCW11dGV4X2xvY2soJnBvcnQtPnBvcnRfdHlw ZV9sb2NrKTsKPiAgCWlmIChwb3J0LT5wb3J0X3R5cGUgIT0gVFlQRUNfUE9SVF9EUlApIHsKPiAg CQlkZXZfZGJnKGRldiwgInBvcnQgdHlwZSBmaXhlZCBhdCBcIiVzXCIiLAo+IC0JCQkgICAgIHR5 cGVjX3BvcnRfdHlwZXNbcG9ydC0+cG9ydF90eXBlXSk7Cj4gKwkJCSAgICAgdHlwZWNfcG9ydF9w b3dlcl9yb2xlc1twb3J0LT5wb3J0X3R5cGVdKTsKPiAgCQlyZXQgPSAtRU9QTk9UU1VQUDsKPiAg CQlnb3RvIHVubG9ja19hbmRfcmV0Owo+ICAJfQo+IEBAIC05NzMsNyArOTc5LDcgQEAgcG9ydF90 eXBlX3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0 dHIsCj4gIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwo+ICAJfQo+ICAKPiAtCXJldCA9IHN5c2ZzX21h dGNoX3N0cmluZyh0eXBlY19wb3J0X3R5cGVzLCBidWYpOwo+ICsJcmV0ID0gc3lzZnNfbWF0Y2hf c3RyaW5nKHR5cGVjX3BvcnRfcG93ZXJfcm9sZXMsIGJ1Zik7Cj4gIAlpZiAocmV0IDwgMCkKPiAg CQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAtMTAwNyw3ICsxMDEzLDcgQEAgcG9ydF90eXBlX3Nob3co c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKPiAgCQly ZXR1cm4gc3ByaW50ZihidWYsICIlc1xuIiwKPiAgCQkJICAgICAgIHR5cGVjX3BvcnRfdHlwZXNf ZHJwW3BvcnQtPnBvcnRfdHlwZV0pOwo+ICAKPiAtCXJldHVybiBzcHJpbnRmKGJ1ZiwgIlslc11c biIsIHR5cGVjX3BvcnRfdHlwZXNbcG9ydC0+Y2FwLT50eXBlXSk7Cj4gKwlyZXR1cm4gc3ByaW50 ZihidWYsICJbJXNdXG4iLCB0eXBlY19wb3J0X3Bvd2VyX3JvbGVzW3BvcnQtPmNhcC0+dHlwZV0p Owo+ICB9Cj4gIHN0YXRpYyBERVZJQ0VfQVRUUl9SVyhwb3J0X3R5cGUpOwo+ICAKPiBAQCAtMTI1 Miw2ICsxMjU4LDUwIEBAIHZvaWQgdHlwZWNfc2V0X3B3cl9vcG1vZGUoc3RydWN0IHR5cGVjX3Bv cnQgKnBvcnQsCj4gIH0KPiAgRVhQT1JUX1NZTUJPTF9HUEwodHlwZWNfc2V0X3B3cl9vcG1vZGUp Owo+ICAKPiArLyoqCj4gKyAqIHR5cGVjX2ZpbmRfcG9ydF9wb3dlcl9yb2xlIC0gR2V0IHRoZSB0 eXBlYyBwb3J0IHBvd2VyIGNhcGFiaWxpdHkKPiArICogQG5hbWU6IHBvcnQgcG93ZXIgY2FwYWJp bGl0eSBzdHJpbmcKPiArICoKPiArICogVGhpcyByb3V0aW5lIGlzIHVzZWQgdG8gZmluZCB0aGUg dHlwZWNfcG9ydF90eXBlIGJ5IGl0cyBzdHJpbmcgbmFtZS4KPiArICoKPiArICogUmV0dXJucyB0 eXBlY19wb3J0X3R5cGUgaWYgc3VjY2Vzcywgb3RoZXJ3aXNlIG5lZ2F0aXZlIGVycm9yIGNvZGUu Cj4gKyAqLwo+ICtpbnQgdHlwZWNfZmluZF9wb3J0X3Bvd2VyX3JvbGUoY29uc3QgY2hhciAqbmFt ZSkKPiArewo+ICsJcmV0dXJuIG1hdGNoX3N0cmluZyh0eXBlY19wb3J0X3Bvd2VyX3JvbGVzLAo+ ICsJCQkgICAgQVJSQVlfU0laRSh0eXBlY19wb3J0X3Bvd2VyX3JvbGVzKSwgbmFtZSk7Cj4gK30K PiArRVhQT1JUX1NZTUJPTF9HUEwodHlwZWNfZmluZF9wb3J0X3Bvd2VyX3JvbGUpOwo+ICsKPiAr LyoqCj4gKyAqIHR5cGVjX2ZpbmRfcG93ZXJfcm9sZSAtIEZpbmQgdGhlIHR5cGVjIG9uZSBzcGVj aWZpYyBwb3dlciByb2xlCj4gKyAqIEBuYW1lOiBwb3dlciByb2xlIHN0cmluZwo+ICsgKgo+ICsg KiBUaGlzIHJvdXRpbmUgaXMgdXNlZCB0byBmaW5kIHRoZSB0eXBlY19yb2xlIGJ5IGl0cyBzdHJp bmcgbmFtZS4KPiArICoKPiArICogUmV0dXJucyB0eXBlY19yb2xlIGlmIHN1Y2Nlc3MsIG90aGVy d2lzZSBuZWdhdGl2ZSBlcnJvciBjb2RlLgo+ICsgKi8KPiAraW50IHR5cGVjX2ZpbmRfcG93ZXJf cm9sZShjb25zdCBjaGFyICpuYW1lKQo+ICt7Cj4gKwlyZXR1cm4gbWF0Y2hfc3RyaW5nKHR5cGVj X3JvbGVzLCBBUlJBWV9TSVpFKHR5cGVjX3JvbGVzKSwgbmFtZSk7Cj4gK30KPiArRVhQT1JUX1NZ TUJPTF9HUEwodHlwZWNfZmluZF9wb3dlcl9yb2xlKTsKPiArCj4gKy8qKgo+ICsgKiB0eXBlY19m aW5kX3BvcnRfZGF0YV9yb2xlIC0gR2V0IHRoZSB0eXBlYyBwb3J0IGRhdGEgY2FwYWJpbGl0eQo+ ICsgKiBAbmFtZTogcG9ydCBkYXRhIGNhcGFiaWxpdHkgc3RyaW5nCj4gKyAqCj4gKyAqIFRoaXMg cm91dGluZSBpcyB1c2VkIHRvIGZpbmQgdGhlIHR5cGVjX3BvcnRfZGF0YSBieSBpdHMgc3RyaW5n IG5hbWUuCj4gKyAqCj4gKyAqIFJldHVybnMgdHlwZWNfcG9ydF9kYXRhIGlmIHN1Y2Nlc3MsIG90 aGVyd2lzZSBuZWdhdGl2ZSBlcnJvciBjb2RlLgo+ICsgKi8KPiAraW50IHR5cGVjX2ZpbmRfcG9y dF9kYXRhX3JvbGUoY29uc3QgY2hhciAqbmFtZSkKPiArewo+ICsJcmV0dXJuIG1hdGNoX3N0cmlu Zyh0eXBlY19wb3J0X2RhdGFfcm9sZXMsCj4gKwkJCSAgICBBUlJBWV9TSVpFKHR5cGVjX3BvcnRf ZGF0YV9yb2xlcyksIG5hbWUpOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0xfR1BMKHR5cGVjX2ZpbmRf cG9ydF9kYXRhX3JvbGUpOwo+ICsKPiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tICovCj4gIC8qIEFQSSBmb3IgTXVsdGlwbGV4ZXIvRGVNdWx0aXBsZXhlciBT d2l0Y2hlcyAqLwo+ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC91c2IvdHlwZWMuaCBi L2luY2x1ZGUvbGludXgvdXNiL3R5cGVjLmgKPiBpbmRleCA2NzJiMzliLi4xNWY4ZDlhIDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvdXNiL3R5cGVjLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4 L3VzYi90eXBlYy5oCj4gQEAgLTI2Nyw0ICsyNjcsNyBAQCBpbnQgdHlwZWNfc2V0X29yaWVudGF0 aW9uKHN0cnVjdCB0eXBlY19wb3J0ICpwb3J0LAo+ICAJCQkgIGVudW0gdHlwZWNfb3JpZW50YXRp b24gb3JpZW50YXRpb24pOwo+ICBpbnQgdHlwZWNfc2V0X21vZGUoc3RydWN0IHR5cGVjX3BvcnQg KnBvcnQsIGludCBtb2RlKTsKPiAgCj4gK2ludCB0eXBlY19maW5kX3BvcnRfcG93ZXJfcm9sZShj b25zdCBjaGFyICpuYW1lKTsKPiAraW50IHR5cGVjX2ZpbmRfcG93ZXJfcm9sZShjb25zdCBjaGFy ICpuYW1lKTsKPiAraW50IHR5cGVjX2ZpbmRfcG9ydF9kYXRhX3JvbGUoY29uc3QgY2hhciAqbmFt ZSk7Cj4gICNlbmRpZiAvKiBfX0xJTlVYX1VTQl9UWVBFQ19IICovCgpUaGFua3MsCg==