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,1/8] phy: tegra: xusb: t210: add XUSB dual mode support From: Nagarjuna Kristam Message-Id: <1552302716-18554-2-git-send-email-nkristam@nvidia.com> Date: Mon, 11 Mar 2019 16:41:49 +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: VGhlIGRldmljZSB0cmVlIGJpbmRpbmdzIGRvY3VtZW50IHRoZSAibW9kZSIgcHJvcGVydHkgb2Yg InBvcnRzIgpzdWJub2RlcywgYnV0IHRoZSBkcml2ZXIgd2FzIG5vdCBwYXJzaW5nIHRoZSBwcm9w ZXJ0eS4gSW4gcHJlcGFyYXRpb24KZm9yIGFkZGluZyByb2xlIHN3aXRjaGluZywgcGFyc2UgdGhl IHByb3BlcnR5IGF0IHByb2JlIHRpbWUgYW5kCmNvbmZnaXVyZSB0aGUgcG9ydCBjYXBhYmlsaXRp ZXMgYWNjb3JkaW5nbHkKCkJhc2VkIG9uIHdvcmsgYnkgSkMgS3VvIDxqY2t1b0BudmlkaWEuY29t Pi4KClNpZ25lZC1vZmYtYnk6IE5hZ2FyanVuYSBLcmlzdGFtIDxua3Jpc3RhbUBudmlkaWEuY29t PgotLS0KIGRyaXZlcnMvcGh5L3RlZ3JhL3h1c2ItdGVncmEyMTAuYyB8IDIyICsrKysrKysrKysr KysrKysrKystLS0KIGRyaXZlcnMvcGh5L3RlZ3JhL3h1c2IuYyAgICAgICAgICB8IDI0ICsrKysr KysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9waHkvdGVncmEveHVzYi5oICAgICAgICAgIHwg IDQgKysrLQogMyBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L3RlZ3JhL3h1c2ItdGVncmEyMTAuYyBiL2RyaXZl cnMvcGh5L3RlZ3JhL3h1c2ItdGVncmEyMTAuYwppbmRleCAwNWJlZTMyLi40YmVlYmNjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3BoeS90ZWdyYS94dXNiLXRlZ3JhMjEwLmMKKysrIGIvZHJpdmVycy9w aHkvdGVncmEveHVzYi10ZWdyYTIxMC5jCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo dCAoYykgMjAxNCwgTlZJRElBIENPUlBPUkFUSU9OLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq IENvcHlyaWdodCAoYykgMjAxNC0yMDE5LCBOVklESUEgQ09SUE9SQVRJT04uICBBbGwgcmlnaHRz IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDE1IEdvb2dsZSwgSW5jLgogICoKICAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5IGl0CkBAIC00Nyw3ICs0NywxMCBAQAogI2RlZmluZSBYVVNCX1BBRENUTF9VU0Iy X1BBRF9NVVhfVVNCMl9CSUFTX1BBRF9YVVNCIDB4MQogCiAjZGVmaW5lIFhVU0JfUEFEQ1RMX1VT QjJfUE9SVF9DQVAgMHgwMDgKKyNkZWZpbmUgWFVTQl9QQURDVExfVVNCMl9QT1JUX0NBUF9QT1JU WF9DQVBfRElTQUJMRUQoeCkgKDB4MCA8PCAoKHgpICogNCkpCiAjZGVmaW5lIFhVU0JfUEFEQ1RM X1VTQjJfUE9SVF9DQVBfUE9SVFhfQ0FQX0hPU1QoeCkgKDB4MSA8PCAoKHgpICogNCkpCisjZGVm aW5lIFhVU0JfUEFEQ1RMX1VTQjJfUE9SVF9DQVBfUE9SVFhfQ0FQX0RFVklDRSh4KSAoMHgyIDw8 ICgoeCkgKiA0KSkKKyNkZWZpbmUgWFVTQl9QQURDVExfVVNCMl9QT1JUX0NBUF9QT1JUWF9DQVBf T1RHKHgpICgweDMgPDwgKCh4KSAqIDQpKQogI2RlZmluZSBYVVNCX1BBRENUTF9VU0IyX1BPUlRf Q0FQX1BPUlRYX0NBUF9NQVNLKHgpICgweDMgPDwgKCh4KSAqIDQpKQogCiAjZGVmaW5lIFhVU0Jf UEFEQ1RMX1NTX1BPUlRfTUFQIDB4MDE0CkBAIC03Miw2ICs3NSw3IEBACiAjZGVmaW5lIFhVU0Jf UEFEQ1RMX1VTQjJfQkFUVEVSWV9DSFJHX09UR1BBRFhfQ1RMMSh4KSAoMHgwODQgKyAoeCkgKiAw eDQwKQogI2RlZmluZSBYVVNCX1BBRENUTF9VU0IyX0JBVFRFUllfQ0hSR19PVEdQQURfQ1RMMV9W UkVHX0xFVl9TSElGVCA3CiAjZGVmaW5lIFhVU0JfUEFEQ1RMX1VTQjJfQkFUVEVSWV9DSFJHX09U R1BBRF9DVEwxX1ZSRUdfTEVWX01BU0sgMHgzCisjZGVmaW5lIFhVU0JfUEFEQ1RMX1VTQjJfQkFU VEVSWV9DSFJHX09UR1BBRF9DVEwxX1ZSRUdfTEVWX1ZBTCAweDEKICNkZWZpbmUgWFVTQl9QQURD VExfVVNCMl9CQVRURVJZX0NIUkdfT1RHUEFEX0NUTDFfVlJFR19GSVgxOCAoMSA8PCA2KQogCiAj ZGVmaW5lIFhVU0JfUEFEQ1RMX1VTQjJfT1RHX1BBRFhfQ1RMMCh4KSAoMHgwODggKyAoeCkgKiAw eDQwKQpAQCAtOTY1LDcgKzk2OSwxNCBAQCBzdGF0aWMgaW50IHRlZ3JhMjEwX3VzYjJfcGh5X3Bv d2VyX29uKHN0cnVjdCBwaHkgKnBoeSkKIAogCXZhbHVlID0gcGFkY3RsX3JlYWRsKHBhZGN0bCwg WFVTQl9QQURDVExfVVNCMl9QT1JUX0NBUCk7CiAJdmFsdWUgJj0gflhVU0JfUEFEQ1RMX1VTQjJf UE9SVF9DQVBfUE9SVFhfQ0FQX01BU0soaW5kZXgpOwotCXZhbHVlIHw9IFhVU0JfUEFEQ1RMX1VT QjJfUE9SVF9DQVBfUE9SVFhfQ0FQX0hPU1QoaW5kZXgpOworCWlmIChwb3J0LT5tb2RlID09IFVT Ql9EUl9NT0RFX1VOS05PV04pCisJCXZhbHVlIHw9IFhVU0JfUEFEQ1RMX1VTQjJfUE9SVF9DQVBf UE9SVFhfQ0FQX0RJU0FCTEVEKGluZGV4KTsKKwllbHNlIGlmIChwb3J0LT5tb2RlID09IFVTQl9E Ul9NT0RFX1BFUklQSEVSQUwpCisJCXZhbHVlIHw9IFhVU0JfUEFEQ1RMX1VTQjJfUE9SVF9DQVBf UE9SVFhfQ0FQX0RFVklDRShpbmRleCk7CisJZWxzZSBpZiAocG9ydC0+bW9kZSA9PSBVU0JfRFJf TU9ERV9IT1NUKQorCQl2YWx1ZSB8PSBYVVNCX1BBRENUTF9VU0IyX1BPUlRfQ0FQX1BPUlRYX0NB UF9IT1NUKGluZGV4KTsKKwllbHNlIGlmIChwb3J0LT5tb2RlID09IFVTQl9EUl9NT0RFX09URykK KwkJdmFsdWUgfD0gWFVTQl9QQURDVExfVVNCMl9QT1JUX0NBUF9QT1JUWF9DQVBfT1RHKGluZGV4 KTsKIAlwYWRjdGxfd3JpdGVsKHBhZGN0bCwgdmFsdWUsIFhVU0JfUEFEQ1RMX1VTQjJfUE9SVF9D QVApOwogCiAJdmFsdWUgPSBwYWRjdGxfcmVhZGwocGFkY3RsLCBYVVNCX1BBRENUTF9VU0IyX09U R19QQURYX0NUTDAoaW5kZXgpKTsKQEAgLTk5Nyw3ICsxMDA4LDEyIEBAIHN0YXRpYyBpbnQgdGVn cmEyMTBfdXNiMl9waHlfcG93ZXJfb24oc3RydWN0IHBoeSAqcGh5KQogCQkJICAgICBYVVNCX1BB RENUTF9VU0IyX0JBVFRFUllfQ0hSR19PVEdQQURYX0NUTDEoaW5kZXgpKTsKIAl2YWx1ZSAmPSB+ KFhVU0JfUEFEQ1RMX1VTQjJfQkFUVEVSWV9DSFJHX09UR1BBRF9DVEwxX1ZSRUdfTEVWX01BU0sg PDwKIAkJICAgWFVTQl9QQURDVExfVVNCMl9CQVRURVJZX0NIUkdfT1RHUEFEX0NUTDFfVlJFR19M RVZfU0hJRlQpOwotCXZhbHVlIHw9IFhVU0JfUEFEQ1RMX1VTQjJfQkFUVEVSWV9DSFJHX09UR1BB RF9DVEwxX1ZSRUdfRklYMTg7CisJaWYgKHBvcnQtPm1vZGUgPT0gVVNCX0RSX01PREVfSE9TVCkK KwkJdmFsdWUgfD0gWFVTQl9QQURDVExfVVNCMl9CQVRURVJZX0NIUkdfT1RHUEFEX0NUTDFfVlJF R19GSVgxODsKKwllbHNlCisJCXZhbHVlIHw9CisJCSAgICAgIFhVU0JfUEFEQ1RMX1VTQjJfQkFU VEVSWV9DSFJHX09UR1BBRF9DVEwxX1ZSRUdfTEVWX1ZBTCA8PAorCQkgICAgICBYVVNCX1BBRENU TF9VU0IyX0JBVFRFUllfQ0hSR19PVEdQQURfQ1RMMV9WUkVHX0xFVl9TSElGVDsKIAlwYWRjdGxf d3JpdGVsKHBhZGN0bCwgdmFsdWUsCiAJCSAgICAgIFhVU0JfUEFEQ1RMX1VTQjJfQkFUVEVSWV9D SFJHX09UR1BBRFhfQ1RMMShpbmRleCkpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS90ZWdy YS94dXNiLmMgYi9kcml2ZXJzL3BoeS90ZWdyYS94dXNiLmMKaW5kZXggNWIzYjg4Ni4uYzYxNzhh MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9waHkvdGVncmEveHVzYi5jCisrKyBiL2RyaXZlcnMvcGh5 L3RlZ3JhL3h1c2IuYwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQt MjAxNSwgTlZJRElBIENPUlBPUkFUSU9OLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly aWdodCAoYykgMjAxNC0yMDE5LCBOVklESUEgQ09SUE9SQVRJT04uICBBbGwgcmlnaHRzIHJlc2Vy dmVkLgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CiAgKiB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRp dGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLApAQCAtNTQyLDEzICs1NDIs MzUgQEAgc3RhdGljIHZvaWQgdGVncmFfeHVzYl9wb3J0X3VucmVnaXN0ZXIoc3RydWN0IHRlZ3Jh X3h1c2JfcG9ydCAqcG9ydCkKIAlkZXZpY2VfdW5yZWdpc3RlcigmcG9ydC0+ZGV2KTsKIH0KIAor c3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IG1vZGVzW10gPSB7CisJW1VTQl9EUl9NT0RFX1VOS05P V05dID0gIiIsCisJW1VTQl9EUl9NT0RFX0hPU1RdID0gImhvc3QiLAorCVtVU0JfRFJfTU9ERV9Q RVJJUEhFUkFMXSA9ICJwZXJpcGhlcmFsIiwKKwlbVVNCX0RSX01PREVfT1RHXSA9ICJvdGciLAor fTsKKwogc3RhdGljIGludCB0ZWdyYV94dXNiX3VzYjJfcG9ydF9wYXJzZV9kdChzdHJ1Y3QgdGVn cmFfeHVzYl91c2IyX3BvcnQgKnVzYjIpCiB7CiAJc3RydWN0IHRlZ3JhX3h1c2JfcG9ydCAqcG9y dCA9ICZ1c2IyLT5iYXNlOwogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBwb3J0LT5kZXYub2Zf bm9kZTsKKwljb25zdCBjaGFyICptb2RlOwogCiAJdXNiMi0+aW50ZXJuYWwgPSBvZl9wcm9wZXJ0 eV9yZWFkX2Jvb2wobnAsICJudmlkaWEsaW50ZXJuYWwiKTsKIAorCWlmICghb2ZfcHJvcGVydHlf cmVhZF9zdHJpbmcobnAsICJtb2RlIiwgJm1vZGUpKSB7CisJCWludCBlcnIgPSBtYXRjaF9zdHJp bmcobW9kZXMsIEFSUkFZX1NJWkUobW9kZXMpLCBtb2RlKTsKKworCQlpZiAoZXJyIDwgMCkgewor CQkJZGV2X2VycigmcG9ydC0+ZGV2LCAiaW52YWxpZCB2YWx1ZSAlcyBmb3IgXCJtb2RlXCJcbiIs CisJCQkJbW9kZSk7CisJCQl1c2IyLT5tb2RlID0gVVNCX0RSX01PREVfVU5LTk9XTjsKKwkJfSBl bHNlIHsKKwkJCXVzYjItPm1vZGUgPSBlcnI7CisJCX0KKwl9IGVsc2UgeworCQl1c2IyLT5tb2Rl ID0gVVNCX0RSX01PREVfSE9TVDsKKwl9CisKIAl1c2IyLT5zdXBwbHkgPSBkZXZtX3JlZ3VsYXRv cl9nZXQoJnBvcnQtPmRldiwgInZidXMiKTsKIAlyZXR1cm4gUFRSX0VSUl9PUl9aRVJPKHVzYjIt PnN1cHBseSk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS90ZWdyYS94dXNiLmggYi9kcml2 ZXJzL3BoeS90ZWdyYS94dXNiLmgKaW5kZXggYjQ5ZGJjMy4uMTdjYzhkYyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9waHkvdGVncmEveHVzYi5oCisrKyBiL2RyaXZlcnMvcGh5L3RlZ3JhL3h1c2IuaApA QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSwgTlZJRElBIENP UlBPUkFUSU9OLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNC0y MDE5LCBOVklESUEgQ09SUE9SQVRJT04uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp Z2h0IChjKSAyMDE1LCBHb29nbGUgSW5jLgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CkBAIC0xOCw2 ICsxOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW8uaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5o PgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VzYi9vdGcu aD4KIAogLyogbGVnYWN5IGVudHJ5IHBvaW50cyBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkg Ki8KIGludCB0ZWdyYV94dXNiX3BhZGN0bF9sZWdhY3lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldik7CkBAIC0yNzIsNiArMjczLDcgQEAgc3RydWN0IHRlZ3JhX3h1c2JfdXNiMl9w b3J0IHsKIAogCXN0cnVjdCByZWd1bGF0b3IgKnN1cHBseTsKIAlib29sIGludGVybmFsOworCWVu dW0gdXNiX2RyX21vZGUgbW9kZTsKIH07CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IHRlZ3JhX3h1 c2JfdXNiMl9wb3J0ICoK