From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Kaehlcke Subject: [PATCH v4 3/8] drm/msm/dsi: 28nm PHY: Get ref clock from the DT Date: Tue, 4 Dec 2018 14:42:29 -0800 Message-ID: <20181204224234.62619-4-mka@chromium.org> References: <20181204224234.62619-1-mka@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181204224234.62619-1-mka@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark , David Airlie , Rob Herring , Mark Rutland , Andy Gross , David Brown Cc: devicetree@vger.kernel.org, Rajesh Yadav , linux-arm-msm@vger.kernel.org, Douglas Anderson , dri-devel@lists.freedesktop.org, Stephen Boyd , Matthias Kaehlcke , Sean Paul , freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: devicetree@vger.kernel.org R2V0IHRoZSByZWYgY2xvY2sgb2YgdGhlIFBIWSBmcm9tIHRoZSBkZXZpY2UgdHJlZSBpbnN0ZWFk IG9mCmhhcmRjb2RpbmcgaXRzIG5hbWUgYW5kIHJhdGUuCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGlh cyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9yZz4KLS0tCkNoYW5nZXMgaW4gdjQ6Ci0gYWx3YXlz IHVzZSBwYXJlbnQgcmF0ZSBpbiBkc2lfcGxsXzI4bm1fY2xrX3NldF9yYXRlKCkgYW5kCiAgIGRz aV9wbGxfMjhubV9jbGtfcmVjYWxjX3JhdGUoKQotIHBhc3MgbmFtZSBvZiBWQ08gcmVmIGNsb2Nr IHRvIHBsbF8yOG5tX3JlZ2lzdGVyKCkgaW5zdGVhZCBvZgogIHN0b3JpbmcgaXQgaW4gYSBzdHJ1 Y3QgZmllbGQKLSB1cGRhdGVkIGNvbW1pdCBtZXNzYWdlCgpDaGFuZ2VzIGluIHYzOgotIHVzZSBk ZWZhdWx0IG5hbWUgYW5kIHJhdGUgaWYgdGhlIHJlZiBjbG9jayBpcyBub3Qgc3BlY2lmaWVkCiAg aW4gdGhlIERUCi0gc3RvcmUgdmNvX3JlZl9jbGtfbmFtZSBpbnN0ZWFkIG9mIHZjb19yZWZfY2xr Ci0gZHNpX3BsbF8yOG5tX2Nsa19zZXRfcmF0ZTogY2hhbmdlZCBkYXRhIHR5cGUgb2YgcmVmX2Ns a19yYXRlIHRvCiAgdW5zaWduZWQgbG9uZwotIGZpeGVkIGNoZWNrIGZvciBFUFJPQkVfREVGRVIK LSByZW5hbWVkIFZDT19SRUZfQ0xLX1JBVEUgdG8gVkNPX1JFRl9DTEtfREVGQVVMVF9SQVRFCgpD aGFuZ2VzIGluIHYyOgotIHBhdGNoIGFkZGVkIHRvIHRoZSBzZXJpZXMKLS0tCiBkcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9wbGwvZHNpX3BsbF8yOG5tLmMgfCAzNiArKysrKysrKysrKysrKystLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGxsL2RzaV9wbGxfMjhubS5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGxsL2RzaV9wbGxfMjhubS5jCmluZGV4IDI2ZTNhMDFh OTljMmIuLjc3NzczNDBiMDNlOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L3BsbC9kc2lfcGxsXzI4bm0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9wbGwvZHNp X3BsbF8yOG5tLmMKQEAgLTQwLDcgKzQwLDYgQEAKIAogI2RlZmluZSBOVU1fUFJPVklERURfQ0xL UwkJMgogCi0jZGVmaW5lIFZDT19SRUZfQ0xLX1JBVEUJCTE5MjAwMDAwCiAjZGVmaW5lIFZDT19N SU5fUkFURQkJCTM1MDAwMDAwMAogI2RlZmluZSBWQ09fTUFYX1JBVEUJCQk3NTAwMDAwMDAKIApA QCAtMTY2LDE3ICsxNjUsMTcgQEAgc3RhdGljIGludCBkc2lfcGxsXzI4bm1fY2xrX3NldF9yYXRl KHN0cnVjdCBjbGtfaHcgKmh3LCB1bnNpZ25lZCBsb25nIHJhdGUsCiAJcGxsX3dyaXRlKGJhc2Ug KyBSRUdfRFNJXzI4bm1fUEhZX1BMTF9MUEZDMV9DRkcsIDB4NzApOwogCXBsbF93cml0ZShiYXNl ICsgUkVHX0RTSV8yOG5tX1BIWV9QTExfTFBGQzJfQ0ZHLCAweDE1KTsKIAotCXJlbSA9IHJhdGUg JSBWQ09fUkVGX0NMS19SQVRFOworCXJlbSA9IHJhdGUgJSBwYXJlbnRfcmF0ZTsKIAlpZiAocmVt KSB7CiAJCXJlZmNsa19jZmcgPSBEU0lfMjhubV9QSFlfUExMX1JFRkNMS19DRkdfREJMUjsKIAkJ ZnJhY19uX21vZGUgPSAxOwotCQlkaXZfZmJ4MTAwMCA9IHJhdGUgLyAoVkNPX1JFRl9DTEtfUkFU RSAvIDUwMCk7Ci0JCWdlbl92Y29fY2xrID0gZGl2X2ZieDEwMDAgKiAoVkNPX1JFRl9DTEtfUkFU RSAvIDUwMCk7CisJCWRpdl9mYngxMDAwID0gcmF0ZSAvIChwYXJlbnRfcmF0ZSAvIDUwMCk7CisJ CWdlbl92Y29fY2xrID0gZGl2X2ZieDEwMDAgKiAocGFyZW50X3JhdGUgLyA1MDApOwogCX0gZWxz ZSB7CiAJCXJlZmNsa19jZmcgPSAweDA7CiAJCWZyYWNfbl9tb2RlID0gMDsKLQkJZGl2X2ZieDEw MDAgPSByYXRlIC8gKFZDT19SRUZfQ0xLX1JBVEUgLyAxMDAwKTsKLQkJZ2VuX3Zjb19jbGsgPSBk aXZfZmJ4MTAwMCAqIChWQ09fUkVGX0NMS19SQVRFIC8gMTAwMCk7CisJCWRpdl9mYngxMDAwID0g cmF0ZSAvIChwYXJlbnRfcmF0ZSAvIDEwMDApOworCQlnZW5fdmNvX2NsayA9IGRpdl9mYngxMDAw ICogKHBhcmVudF9yYXRlIC8gMTAwMCk7CiAJfQogCiAJREJHKCJyZWZjbGtfY2ZnID0gJWQiLCBy ZWZjbGtfY2ZnKTsKQEAgLTI2NSw3ICsyNjQsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBkc2lf cGxsXzI4bm1fY2xrX3JlY2FsY19yYXRlKHN0cnVjdCBjbGtfaHcgKmh3LAogCXZvaWQgX19pb21l bSAqYmFzZSA9IHBsbF8yOG5tLT5tbWlvOwogCXUzMiBzZG0wLCBkb3VibGVyLCBzZG1fYnlwX2Rp djsKIAl1MzIgc2RtX2RjX29mZiwgc2RtX2ZyZXFfc2VlZCwgc2RtMiwgc2RtMzsKLQl1MzIgcmVm X2NsayA9IFZDT19SRUZfQ0xLX1JBVEU7CisJdTMyIHJlZl9jbGsgPSBwYXJlbnRfcmF0ZTsKIAl1 bnNpZ25lZCBsb25nIHZjb19yYXRlOwogCiAJVkVSQigicGFyZW50X3JhdGU9JWx1IiwgcGFyZW50 X3JhdGUpOwpAQCAtMjczLDcgKzI3Miw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGRzaV9wbGxf MjhubV9jbGtfcmVjYWxjX3JhdGUoc3RydWN0IGNsa19odyAqaHcsCiAJLyogQ2hlY2sgdG8gc2Vl IGlmIHRoZSByZWYgY2xrIGRvdWJsZXIgaXMgZW5hYmxlZCAqLwogCWRvdWJsZXIgPSBwbGxfcmVh ZChiYXNlICsgUkVHX0RTSV8yOG5tX1BIWV9QTExfUkVGQ0xLX0NGRykgJgogCQkJRFNJXzI4bm1f UEhZX1BMTF9SRUZDTEtfQ0ZHX0RCTFI7Ci0JcmVmX2NsayArPSAoZG91YmxlciAqIFZDT19SRUZf Q0xLX1JBVEUpOworCXJlZl9jbGsgKz0gKGRvdWJsZXIgKiByZWZfY2xrKTsKIAogCS8qIHNlZSBp ZiBpdCBpcyBpbnRlZ2VyIG1vZGUgb3Igc2RtIG1vZGUgKi8KIAlzZG0wID0gcGxsX3JlYWQoYmFz ZSArIFJFR19EU0lfMjhubV9QSFlfUExMX1NETV9DRkcwKTsKQEAgLTUxNCwxMSArNTEzLDEyIEBA IHN0YXRpYyB2b2lkIGRzaV9wbGxfMjhubV9kZXN0cm95KHN0cnVjdCBtc21fZHNpX3BsbCAqcGxs KQogCXBsbF8yOG5tLT5jbGtfZGF0YS5jbGtfbnVtID0gMDsKIH0KIAotc3RhdGljIGludCBwbGxf MjhubV9yZWdpc3RlcihzdHJ1Y3QgZHNpX3BsbF8yOG5tICpwbGxfMjhubSkKK3N0YXRpYyBpbnQg cGxsXzI4bm1fcmVnaXN0ZXIoc3RydWN0IGRzaV9wbGxfMjhubSAqcGxsXzI4bm0sCisJCQkgICAg IGNvbnN0IGNoYXIgKnJlZl9jbGtfbmFtZSkKIHsKIAljaGFyIGNsa19uYW1lWzMyXSwgcGFyZW50 MVszMl0sIHBhcmVudDJbMzJdLCB2Y29fbmFtZVszMl07CiAJc3RydWN0IGNsa19pbml0X2RhdGEg dmNvX2luaXQgPSB7Ci0JCS5wYXJlbnRfbmFtZXMgPSAoY29uc3QgY2hhciAqW10peyAieG8iIH0s CisJCS5wYXJlbnRfbmFtZXMgPSAmcmVmX2Nsa19uYW1lLAogCQkubnVtX3BhcmVudHMgPSAxLAog CQkubmFtZSA9IHZjb19uYW1lLAogCQkuZmxhZ3MgPSBDTEtfSUdOT1JFX1VOVVNFRCwKQEAgLTU5 Myw2ICs1OTMsOCBAQCBzdHJ1Y3QgbXNtX2RzaV9wbGwgKm1zbV9kc2lfcGxsXzI4bm1faW5pdChz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAogewogCXN0cnVjdCBkc2lfcGxsXzI4bm0gKnBs bF8yOG5tOwogCXN0cnVjdCBtc21fZHNpX3BsbCAqcGxsOworCXN0cnVjdCBjbGsgKnZjb19yZWZf Y2xrOworCWNvbnN0IGNoYXIgKnZjb19yZWZfY2xrX25hbWU7CiAJaW50IHJldDsKIAogCWlmICgh cGRldikKQEAgLTYwNSw2ICs2MDcsMTggQEAgc3RydWN0IG1zbV9kc2lfcGxsICptc21fZHNpX3Bs bF8yOG5tX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAlwbGxfMjhubS0+cGRl diA9IHBkZXY7CiAJcGxsXzI4bm0tPmlkID0gaWQ7CiAKKwl2Y29fcmVmX2NsayA9IGRldm1fY2xr X2dldCgmcGRldi0+ZGV2LCAicmVmIik7CisJaWYgKCFJU19FUlIodmNvX3JlZl9jbGspKSB7CisJ CXZjb19yZWZfY2xrX25hbWUgPSBfX2Nsa19nZXRfbmFtZSh2Y29fcmVmX2Nsayk7CisJfSBlbHNl IHsKKwkJcmV0ID0gUFRSX0VSUih2Y29fcmVmX2Nsayk7CisJCWlmIChyZXQgPT0gLUVQUk9CRV9E RUZFUikKKwkJCUVSUl9QVFIocmV0KTsKKworCQlkZXZfd2FybigmcGRldi0+ZGV2LCAiJ3JlZicg Y2xvY2sgaXMgbm90IHNwZWNpZmllZCwgdXNpbmcgZGVmYXVsdCBuYW1lXG4iKTsKKwkJdmNvX3Jl Zl9jbGtfbmFtZSA9ICJ4byI7CisJfQorCiAJcGxsXzI4bm0tPm1taW8gPSBtc21faW9yZW1hcChw ZGV2LCAiZHNpX3BsbCIsICJEU0lfUExMIik7CiAJaWYgKElTX0VSUl9PUl9OVUxMKHBsbF8yOG5t LT5tbWlvKSkgewogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICIlczogZmFpbGVkIHRvIG1hcCBwbGwg YmFzZVxuIiwgX19mdW5jX18pOwpAQCAtNjM3LDcgKzY1MSw3IEBAIHN0cnVjdCBtc21fZHNpX3Bs bCAqbXNtX2RzaV9wbGxfMjhubV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiAJ CXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCX0KIAotCXJldCA9IHBsbF8yOG5tX3JlZ2lzdGVy KHBsbF8yOG5tKTsKKwlyZXQgPSBwbGxfMjhubV9yZWdpc3RlcihwbGxfMjhubSwgdmNvX3JlZl9j bGtfbmFtZSk7CiAJaWYgKHJldCkgewogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8g cmVnaXN0ZXIgUExMOiAlZFxuIiwgcmV0KTsKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKLS0gCjIu MjAuMC5yYzEuMzg3LmdmODUwNTc2MmUzLWdvb2cKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=