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: [V2,3/8] phy: tegra: xusb: t210: add vbus override support From: Nagarjuna Kristam Message-Id: <1552302716-18554-4-git-send-email-nkristam@nvidia.com> Date: Mon, 11 Mar 2019 16:41:51 +0530 To: balbi@kernel.org, gregkh@linuxfoundation.org, thierry.reding@gmail.com, jonathanh@nvidia.com Cc: linux-tegra@vger.kernel.org, linux-usb@vger.kernel.org, Nagarjuna Kristam List-ID: VGVncmEgWFVTQiBkZXZpY2UgY29udHJvbCBkcml2ZXIgbmVlZHMgdG8gY29udHJvbCB2YnVzIG92 ZXJyaWRlCmR1cmluZyBpdHMgb3BlcmF0aW9ucywgYWRkIEFQSSBmb3IgdGhlIHN1cHBvcnQKClNp Z25lZC1vZmYtYnk6IE5hZ2FyanVuYSBLcmlzdGFtIDxua3Jpc3RhbUBudmlkaWEuY29tPgotLS0K IGRyaXZlcnMvcGh5L3RlZ3JhL3h1c2ItdGVncmEyMTAuYyB8IDYxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9waHkvdGVncmEveHVzYi5jICAgICAgICAg IHwgMjggKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL3BoeS90ZWdyYS94dXNiLmggICAgICAg ICAgfCAgMiArKwogaW5jbHVkZS9saW51eC9waHkvdGVncmEveHVzYi5oICAgIHwgIDYgKystLQog NCBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvcGh5L3RlZ3JhL3h1c2ItdGVncmEyMTAuYyBiL2RyaXZlcnMvcGh5L3Rl Z3JhL3h1c2ItdGVncmEyMTAuYwppbmRleCA0ODQ3OGJjNC4uYmUxYTg3MCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9waHkvdGVncmEveHVzYi10ZWdyYTIxMC5jCisrKyBiL2RyaXZlcnMvcGh5L3RlZ3Jh L3h1c2ItdGVncmEyMTAuYwpAQCAtNzMsNiArNzMsMTAgQEAKICNkZWZpbmUgWFVTQl9QQURDVExf VVNCM19QQURfTVVYX1BDSUVfSUREUV9ESVNBQkxFKHgpICgxIDw8ICgxICsgKHgpKSkKICNkZWZp bmUgWFVTQl9QQURDVExfVVNCM19QQURfTVVYX1NBVEFfSUREUV9ESVNBQkxFKHgpICgxIDw8ICg4 ICsgKHgpKSkKIAorI2RlZmluZSBYVVNCX1BBRENUTF9VU0IyX0JBVFRFUllfQ0hSR19PVEdQQURY X0NUTDAoeCkgKDB4MDgwICsgKHgpICogMHg0MCkKKyNkZWZpbmUgWFVTQl9QQURDVExfVVNCMl9C QVRURVJZX0NIUkdfT1RHUEFEX0NUTDBfWklQICgxIDw8IDE4KQorI2RlZmluZSBYVVNCX1BBRENU TF9VU0IyX0JBVFRFUllfQ0hSR19PVEdQQURfQ1RMMF9aSU4gKDEgPDwgMjIpCisKICNkZWZpbmUg WFVTQl9QQURDVExfVVNCMl9CQVRURVJZX0NIUkdfT1RHUEFEWF9DVEwxKHgpICgweDA4NCArICh4 KSAqIDB4NDApCiAjZGVmaW5lIFhVU0JfUEFEQ1RMX1VTQjJfQkFUVEVSWV9DSFJHX09UR1BBRF9D VEwxX1ZSRUdfTEVWX1NISUZUIDcKICNkZWZpbmUgWFVTQl9QQURDVExfVVNCMl9CQVRURVJZX0NI UkdfT1RHUEFEX0NUTDFfVlJFR19MRVZfTUFTSyAweDMKQEAgLTIzNSw2ICsyMzksMTIgQEAKICNk ZWZpbmUgWFVTQl9QQURDVExfVVBIWV9VU0IzX1BBRFhfRUNUTDYoeCkgKDB4YTc0ICsgKHgpICog MHg0MCkKICNkZWZpbmUgWFVTQl9QQURDVExfVVBIWV9VU0IzX1BBRF9FQ1RMNl9SWF9FUV9DVFJM X0hfVkFMIDB4ZmNmMDEzNjgKIAorI2RlZmluZSBYVVNCX1BBRENUTF9VU0IyX1ZCVVNfSUQgMHhj NjAKKyNkZWZpbmUgWFVTQl9QQURDVExfVVNCMl9WQlVTX0lEX09WRVJSSURFX1ZCVVNfT04gKDEg PDwgMTQpCisjZGVmaW5lIFhVU0JfUEFEQ1RMX1VTQjJfVkJVU19JRF9PVkVSUklERV9TSElGVCAx OAorI2RlZmluZSBYVVNCX1BBRENUTF9VU0IyX1ZCVVNfSURfT1ZFUlJJREVfTUFTSyAweGYKKyNk ZWZpbmUgWFVTQl9QQURDVExfVVNCMl9WQlVTX0lEX09WRVJSSURFX0ZMT0FUSU5HIDgKKwogc3Ry dWN0IHRlZ3JhMjEwX3h1c2JfZnVzZV9jYWxpYnJhdGlvbiB7CiAJdTMyIGhzX2N1cnJfbGV2ZWxb NF07CiAJdTMyIGhzX3Rlcm1fcmFuZ2VfYWRqOwpAQCAtMjAwOSw2ICsyMDE5LDU1IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgdGVncmFfeHVzYl9wb3J0X29wcyB0ZWdyYTIxMF91c2IzX3BvcnRfb3Bz ID0gewogCS5tYXAgPSB0ZWdyYTIxMF91c2IzX3BvcnRfbWFwLAogfTsKIAorc3RhdGljIGludCB0 ZWdyYTIxMF94dXNiX3BhZGN0bF92YnVzX292ZXJyaWRlKHN0cnVjdCB0ZWdyYV94dXNiX3BhZGN0 bCAqcGFkY3RsLAorCQkJCQkgICAgICBib29sIHNldCkKK3sKKwl1MzIgcmVnOworCisJZGV2X2Ri ZyhwYWRjdGwtPmRldiwgIiVzIHZidXMgb3ZlcnJpZGVcbiIsIHNldCA/ICJzZXQiIDogImNsZWFy Iik7CisKKwlyZWcgPSBwYWRjdGxfcmVhZGwocGFkY3RsLCBYVVNCX1BBRENUTF9VU0IyX1ZCVVNf SUQpOworCWlmIChzZXQpIHsKKwkJcmVnIHw9IFhVU0JfUEFEQ1RMX1VTQjJfVkJVU19JRF9PVkVS UklERV9WQlVTX09OOworCQlyZWcgJj0gfihYVVNCX1BBRENUTF9VU0IyX1ZCVVNfSURfT1ZFUlJJ REVfTUFTSyA8PAorCQkJICAgWFVTQl9QQURDVExfVVNCMl9WQlVTX0lEX09WRVJSSURFX1NISUZU KTsKKwkJcmVnIHw9IFhVU0JfUEFEQ1RMX1VTQjJfVkJVU19JRF9PVkVSUklERV9GTE9BVElORyA8 PAorCQkJIFhVU0JfUEFEQ1RMX1VTQjJfVkJVU19JRF9PVkVSUklERV9TSElGVDsKKwl9IGVsc2UK KwkJcmVnICY9IH5YVVNCX1BBRENUTF9VU0IyX1ZCVVNfSURfT1ZFUlJJREVfVkJVU19PTjsKKwlw YWRjdGxfd3JpdGVsKHBhZGN0bCwgcmVnLCBYVVNCX1BBRENUTF9VU0IyX1ZCVVNfSUQpOworCisJ cmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVncmEyMTBfdXRtaV9wb3J0X3Jlc2V0KHN0cnVj dCBwaHkgKnBoeSkKK3sKKwlzdHJ1Y3QgdGVncmFfeHVzYl9wYWRjdGwgKnBhZGN0bDsKKwlzdHJ1 Y3QgdGVncmFfeHVzYl9sYW5lICpsYW5lOworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwl1MzIgcmVn OworCisJaWYgKCFwaHkpCisJCXJldHVybiAtRU5PREVWOworCisJbGFuZSA9IHBoeV9nZXRfZHJ2 ZGF0YShwaHkpOworCXBhZGN0bCA9IGxhbmUtPnBhZC0+cGFkY3RsOworCWRldiA9IHBhZGN0bC0+ ZGV2OworCisJcmVnID0gcGFkY3RsX3JlYWRsKHBhZGN0bCwKKwkJCQlYVVNCX1BBRENUTF9VU0Iy X0JBVFRFUllfQ0hSR19PVEdQQURYX0NUTDAoMCkpOworCWRldl9kYmcoZGV2LCAiQkFUVEVSWV9D SFJHX09UR1BBRFhfQ1RMMCgwKTogMHgleFxuIiwgcmVnKTsKKworCWlmICgocmVnICYgWFVTQl9Q QURDVExfVVNCMl9CQVRURVJZX0NIUkdfT1RHUEFEX0NUTDBfWklQKSB8fAorCSAgICAocmVnICYg WFVTQl9QQURDVExfVVNCMl9CQVRURVJZX0NIUkdfT1RHUEFEX0NUTDBfWklOKSkgeworCQlkZXZf ZGJnKGRldiwgIlRvZ2dsZSB2YnVzXG4iKTsKKwkJdGVncmEyMTBfeHVzYl9wYWRjdGxfdmJ1c19v dmVycmlkZShwYWRjdGwsIGZhbHNlKTsKKwkJdGVncmEyMTBfeHVzYl9wYWRjdGxfdmJ1c19vdmVy cmlkZShwYWRjdGwsIHRydWUpOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKIHN0 YXRpYyBpbnQKIHRlZ3JhMjEwX3h1c2JfcmVhZF9mdXNlX2NhbGlicmF0aW9uKHN0cnVjdCB0ZWdy YTIxMF94dXNiX2Z1c2VfY2FsaWJyYXRpb24gKmZ1c2UpCiB7CkBAIC0yMDcxLDYgKzIxMzAsOCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHRlZ3JhX3h1c2JfcGFkY3RsX29wcyB0ZWdyYTIxMF94dXNi X3BhZGN0bF9vcHMgPSB7CiAJLnJlbW92ZSA9IHRlZ3JhMjEwX3h1c2JfcGFkY3RsX3JlbW92ZSwK IAkudXNiM19zZXRfbGZwc19kZXRlY3QgPSB0ZWdyYTIxMF91c2IzX3NldF9sZnBzX2RldGVjdCwK IAkuaHNpY19zZXRfaWRsZSA9IHRlZ3JhMjEwX2hzaWNfc2V0X2lkbGUsCisJLnZidXNfb3ZlcnJp ZGUgPSB0ZWdyYTIxMF94dXNiX3BhZGN0bF92YnVzX292ZXJyaWRlLAorCS51dG1pX3BvcnRfcmVz ZXQgPSB0ZWdyYTIxMF91dG1pX3BvcnRfcmVzZXQsCiB9OwogCiBjb25zdCBzdHJ1Y3QgdGVncmFf eHVzYl9wYWRjdGxfc29jIHRlZ3JhMjEwX3h1c2JfcGFkY3RsX3NvYyA9IHsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvcGh5L3RlZ3JhL3h1c2IuYyBiL2RyaXZlcnMvcGh5L3RlZ3JhL3h1c2IuYwppbmRl eCBlODk3NDZkLi5iYmI4MzliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BoeS90ZWdyYS94dXNiLmMK KysrIGIvZHJpdmVycy9waHkvdGVncmEveHVzYi5jCkBAIC0xMDI3LDcgKzEwMjcsNyBAQCBpbnQg dGVncmFfeHVzYl9wYWRjdGxfdXNiM19zYXZlX2NvbnRleHQoc3RydWN0IHRlZ3JhX3h1c2JfcGFk Y3RsICpwYWRjdGwsCiAJaWYgKHBhZGN0bC0+c29jLT5vcHMtPnVzYjNfc2F2ZV9jb250ZXh0KQog CQlyZXR1cm4gcGFkY3RsLT5zb2MtPm9wcy0+dXNiM19zYXZlX2NvbnRleHQocGFkY3RsLCBwb3J0 KTsKIAotCXJldHVybiAtRU5PU1lTOworCXJldHVybiAtRU5PVFNVUFA7CiB9CiBFWFBPUlRfU1lN Qk9MX0dQTCh0ZWdyYV94dXNiX3BhZGN0bF91c2IzX3NhdmVfY29udGV4dCk7CiAKQEAgLTEwMzcs NyArMTAzNyw3IEBAIGludCB0ZWdyYV94dXNiX3BhZGN0bF9oc2ljX3NldF9pZGxlKHN0cnVjdCB0 ZWdyYV94dXNiX3BhZGN0bCAqcGFkY3RsLAogCWlmIChwYWRjdGwtPnNvYy0+b3BzLT5oc2ljX3Nl dF9pZGxlKQogCQlyZXR1cm4gcGFkY3RsLT5zb2MtPm9wcy0+aHNpY19zZXRfaWRsZShwYWRjdGws IHBvcnQsIGlkbGUpOwogCi0JcmV0dXJuIC1FTk9TWVM7CisJcmV0dXJuIC1FTk9UU1VQUDsKIH0K IEVYUE9SVF9TWU1CT0xfR1BMKHRlZ3JhX3h1c2JfcGFkY3RsX2hzaWNfc2V0X2lkbGUpOwogCkBA IC0xMDQ4LDEwICsxMDQ4LDMyIEBAIGludCB0ZWdyYV94dXNiX3BhZGN0bF91c2IzX3NldF9sZnBz X2RldGVjdChzdHJ1Y3QgdGVncmFfeHVzYl9wYWRjdGwgKnBhZGN0bCwKIAkJcmV0dXJuIHBhZGN0 bC0+c29jLT5vcHMtPnVzYjNfc2V0X2xmcHNfZGV0ZWN0KHBhZGN0bCwgcG9ydCwKIAkJCQkJCQkg ICAgICBlbmFibGUpOwogCi0JcmV0dXJuIC1FTk9TWVM7CisJcmV0dXJuIC1FTk9UU1VQUDsKIH0K IEVYUE9SVF9TWU1CT0xfR1BMKHRlZ3JhX3h1c2JfcGFkY3RsX3VzYjNfc2V0X2xmcHNfZGV0ZWN0 KTsKIAoraW50IHRlZ3JhX3h1c2JfcGFkY3RsX3NldF92YnVzX292ZXJyaWRlKHN0cnVjdCB0ZWdy YV94dXNiX3BhZGN0bCAqcGFkY3RsLAorCQkJCQkJCWJvb2wgdmFsKQoreworCWlmIChwYWRjdGwt PnNvYy0+b3BzLT52YnVzX292ZXJyaWRlKQorCQlyZXR1cm4gcGFkY3RsLT5zb2MtPm9wcy0+dmJ1 c19vdmVycmlkZShwYWRjdGwsIHZhbCk7CisKKwlyZXR1cm4gLUVOT1RTVVBQOworfQorRVhQT1JU X1NZTUJPTF9HUEwodGVncmFfeHVzYl9wYWRjdGxfc2V0X3ZidXNfb3ZlcnJpZGUpOworCitpbnQg dGVncmFfcGh5X3h1c2JfdXRtaV9wb3J0X3Jlc2V0KHN0cnVjdCBwaHkgKnBoeSkKK3sKKwlzdHJ1 Y3QgdGVncmFfeHVzYl9sYW5lICpsYW5lID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7CisJc3RydWN0 IHRlZ3JhX3h1c2JfcGFkY3RsICpwYWRjdGwgPSBsYW5lLT5wYWQtPnBhZGN0bDsKKworCWlmIChw YWRjdGwtPnNvYy0+b3BzLT51dG1pX3BvcnRfcmVzZXQpCisJCXJldHVybiBwYWRjdGwtPnNvYy0+ b3BzLT51dG1pX3BvcnRfcmVzZXQocGh5KTsKKworCXJldHVybiAtRU5PVFNVUFA7Cit9CitFWFBP UlRfU1lNQk9MX0dQTCh0ZWdyYV9waHlfeHVzYl91dG1pX3BvcnRfcmVzZXQpOworCiBNT0RVTEVf QVVUSE9SKCJUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPiIpOwogTU9EVUxFX0RF U0NSSVBUSU9OKCJUZWdyYSBYVVNCIFBhZCBDb250cm9sbGVyIGRyaXZlciIpOwogTU9EVUxFX0xJ Q0VOU0UoIkdQTCB2MiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvdGVncmEveHVzYi5oIGIv ZHJpdmVycy9waHkvdGVncmEveHVzYi5oCmluZGV4IGIyNjMxNjUuLjlhMzliMDUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvcGh5L3RlZ3JhL3h1c2IuaAorKysgYi9kcml2ZXJzL3BoeS90ZWdyYS94dXNi LmgKQEAgLTM1Niw2ICszNTYsOCBAQCBzdHJ1Y3QgdGVncmFfeHVzYl9wYWRjdGxfb3BzIHsKIAkJ CSAgICAgdW5zaWduZWQgaW50IGluZGV4LCBib29sIGlkbGUpOwogCWludCAoKnVzYjNfc2V0X2xm cHNfZGV0ZWN0KShzdHJ1Y3QgdGVncmFfeHVzYl9wYWRjdGwgKnBhZGN0bCwKIAkJCQkgICAgdW5z aWduZWQgaW50IGluZGV4LCBib29sIGVuYWJsZSk7CisJaW50ICgqdmJ1c19vdmVycmlkZSkoc3Ry dWN0IHRlZ3JhX3h1c2JfcGFkY3RsICpwYWRjdGwsIGJvb2wgc2V0KTsKKwlpbnQgKCp1dG1pX3Bv cnRfcmVzZXQpKHN0cnVjdCBwaHkgKnBoeSk7CiB9OwogCiBzdHJ1Y3QgdGVncmFfeHVzYl9wYWRj dGxfc29jIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGh5L3RlZ3JhL3h1c2IuaCBiL2lu Y2x1ZGUvbGludXgvcGh5L3RlZ3JhL3h1c2IuaAppbmRleCA4ZTFhNTdhLi45YjgzNTFjIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BoeS90ZWdyYS94dXNiLmgKKysrIGIvaW5jbHVkZS9saW51 eC9waHkvdGVncmEveHVzYi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoYykg MjAxNiwgTlZJRElBIENPUlBPUkFUSU9OLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly aWdodCAoYykgMjAxNi0yMDE5LCBOVklESUEgQ09SUE9SQVRJT04uICBBbGwgcmlnaHRzIHJlc2Vy dmVkLgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CiAgKiB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRp dGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLApAQCAtMjYsNSArMjYsNyBA QCBpbnQgdGVncmFfeHVzYl9wYWRjdGxfaHNpY19zZXRfaWRsZShzdHJ1Y3QgdGVncmFfeHVzYl9w YWRjdGwgKnBhZGN0bCwKIAkJCQkgICAgdW5zaWduZWQgaW50IHBvcnQsIGJvb2wgaWRsZSk7CiBp bnQgdGVncmFfeHVzYl9wYWRjdGxfdXNiM19zZXRfbGZwc19kZXRlY3Qoc3RydWN0IHRlZ3JhX3h1 c2JfcGFkY3RsICpwYWRjdGwsCiAJCQkJCSAgIHVuc2lnbmVkIGludCBwb3J0LCBib29sIGVuYWJs ZSk7Ci0KK2ludCB0ZWdyYV94dXNiX3BhZGN0bF9zZXRfdmJ1c19vdmVycmlkZShzdHJ1Y3QgdGVn cmFfeHVzYl9wYWRjdGwgKnBhZGN0bCwKKwkJCQkJYm9vbCB2YWwpOworaW50IHRlZ3JhX3BoeV94 dXNiX3V0bWlfcG9ydF9yZXNldChzdHJ1Y3QgcGh5ICpwaHkpOwogI2VuZGlmIC8qIFBIWV9URUdS QV9YVVNCX0ggKi8K