From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Andersson Subject: Re: [PATCH v2 3/6] phy: qcom-qusb2: Add QUSB2 PHY support for msm8998 Date: Tue, 15 Jan 2019 10:11:14 -0800 Message-ID: <20190115181114.GE28907@builder> References: <1547483802-5408-1-git-send-email-jhugo@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1547483802-5408-1-git-send-email-jhugo@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org To: Jeffrey Hugo Cc: kishon@ti.com, andy.gross@linaro.org, david.brown@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, devicetree@vger.kernel.org, gregkh@linuxfoundation.org, balbi@kernel.org, linux-usb@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org On Mon 14 Jan 08:36 PST 2019, Jeffrey Hugo wrote: > MSM8998 contains one QUSB2 PHY which is very similar to the existing > sdm845 support. > Reviewed-by: Bjorn Andersson > Signed-off-by: Jeffrey Hugo > --- > drivers/phy/qualcomm/phy-qcom-qusb2.c | 41 +++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/drivers/phy/qualcomm/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c > index 9177989f..e5e4f36 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qusb2.c > +++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c > @@ -152,6 +152,32 @@ enum qusb2phy_reg_layout { > QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_PWR_CTRL, 0x00), > }; > > +static const unsigned int msm8998_regs_layout[] = { > + [QUSB2PHY_PLL_CORE_INPUT_OVERRIDE] = 0xa8, > + [QUSB2PHY_PLL_STATUS] = 0x1a0, > + [QUSB2PHY_PORT_TUNE1] = 0x23c, > + [QUSB2PHY_PORT_TUNE2] = 0x240, > + [QUSB2PHY_PORT_TUNE3] = 0x244, > + [QUSB2PHY_PORT_TUNE4] = 0x248, > + [QUSB2PHY_PORT_TEST1] = 0x24c, > + [QUSB2PHY_PORT_TEST2] = 0x250, > + [QUSB2PHY_PORT_POWERDOWN] = 0x210, > + [QUSB2PHY_INTR_CTRL] = 0x22c, > +}; > + > +static const struct qusb2_phy_init_tbl msm8998_init_tbl[] = { > + QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_ANALOG_CONTROLS_TWO, 0x13), > + QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_CLOCK_INVERTERS, 0x7c), > + QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_CMODE, 0x80), > + QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_LOCK_DELAY, 0x0a), > + > + QUSB2_PHY_INIT_CFG_L(QUSB2PHY_PORT_TUNE1, 0xa5), > + QUSB2_PHY_INIT_CFG_L(QUSB2PHY_PORT_TUNE2, 0x09), > + > + QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_DIGITAL_TIMERS_TWO, 0x19), > +}; > + > + > static const unsigned int sdm845_regs_layout[] = { > [QUSB2PHY_PLL_CORE_INPUT_OVERRIDE] = 0xa8, > [QUSB2PHY_PLL_STATUS] = 0x1a0, > @@ -221,6 +247,18 @@ struct qusb2_phy_cfg { > .autoresume_en = BIT(3), > }; > > +static const struct qusb2_phy_cfg msm8998_phy_cfg = { > + .tbl = msm8998_init_tbl, > + .tbl_num = ARRAY_SIZE(msm8998_init_tbl), > + .regs = msm8998_regs_layout, > + > + .disable_ctrl = POWER_DOWN, > + .mask_core_ready = CORE_READY_STATUS, > + .has_pll_override = true, > + .autoresume_en = BIT(0), > + .update_tune1_with_efuse = true, > +}; > + > static const struct qusb2_phy_cfg sdm845_phy_cfg = { > .tbl = sdm845_init_tbl, > .tbl_num = ARRAY_SIZE(sdm845_init_tbl), > @@ -734,6 +772,9 @@ static int qusb2_phy_exit(struct phy *phy) > .compatible = "qcom,msm8996-qusb2-phy", > .data = &msm8996_phy_cfg, > }, { > + .compatible = "qcom,msm8998-qusb2-phy", > + .data = &msm8998_phy_cfg, > + }, { > .compatible = "qcom,sdm845-qusb2-phy", > .data = &sdm845_phy_cfg, > }, > -- > Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. > Qualcomm Technologies, Inc. is a member of the > Code Aurora Forum, a Linux Foundation Collaborative Project. > 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/6] phy: qcom-qusb2: Add QUSB2 PHY support for msm8998 From: Bjorn Andersson Message-Id: <20190115181114.GE28907@builder> Date: Tue, 15 Jan 2019 10:11:14 -0800 To: Jeffrey Hugo Cc: kishon@ti.com, andy.gross@linaro.org, david.brown@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, devicetree@vger.kernel.org, gregkh@linuxfoundation.org, balbi@kernel.org, linux-usb@vger.kernel.org List-ID: T24gTW9uIDE0IEphbiAwODozNiBQU1QgMjAxOSwgSmVmZnJleSBIdWdvIHdyb3RlOgoKPiBNU004 OTk4IGNvbnRhaW5zIG9uZSBRVVNCMiBQSFkgd2hpY2ggaXMgdmVyeSBzaW1pbGFyIHRvIHRoZSBl eGlzdGluZwo+IHNkbTg0NSBzdXBwb3J0Lgo+IAoKUmV2aWV3ZWQtYnk6IEJqb3JuIEFuZGVyc3Nv biA8Ympvcm4uYW5kZXJzc29uQGxpbmFyby5vcmc+Cgo+IFNpZ25lZC1vZmYtYnk6IEplZmZyZXkg SHVnbyA8amh1Z29AY29kZWF1cm9yYS5vcmc+Cj4gLS0tCj4gIGRyaXZlcnMvcGh5L3F1YWxjb21t L3BoeS1xY29tLXF1c2IyLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kwo+ICAxIGZpbGUgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xdXNiMi5jIGIvZHJpdmVycy9waHkvcXVhbGNv bW0vcGh5LXFjb20tcXVzYjIuYwo+IGluZGV4IDkxNzc5ODlmLi5lNWU0ZjM2IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXF1c2IyLmMKPiArKysgYi9kcml2ZXJz L3BoeS9xdWFsY29tbS9waHktcWNvbS1xdXNiMi5jCj4gQEAgLTE1Miw2ICsxNTIsMzIgQEAgZW51 bSBxdXNiMnBoeV9yZWdfbGF5b3V0IHsKPiAgCVFVU0IyX1BIWV9JTklUX0NGRyhRVVNCMlBIWV9Q TExfUFdSX0NUUkwsIDB4MDApLAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHVuc2lnbmVkIGlu dCBtc204OTk4X3JlZ3NfbGF5b3V0W10gPSB7Cj4gKwlbUVVTQjJQSFlfUExMX0NPUkVfSU5QVVRf T1ZFUlJJREVdID0gMHhhOCwKPiArCVtRVVNCMlBIWV9QTExfU1RBVFVTXSAgICAgICAgICAgICAg PSAweDFhMCwKPiArCVtRVVNCMlBIWV9QT1JUX1RVTkUxXSAgICAgICAgICAgICAgPSAweDIzYywK PiArCVtRVVNCMlBIWV9QT1JUX1RVTkUyXSAgICAgICAgICAgICAgPSAweDI0MCwKPiArCVtRVVNC MlBIWV9QT1JUX1RVTkUzXSAgICAgICAgICAgICAgPSAweDI0NCwKPiArCVtRVVNCMlBIWV9QT1JU X1RVTkU0XSAgICAgICAgICAgICAgPSAweDI0OCwKPiArCVtRVVNCMlBIWV9QT1JUX1RFU1QxXSAg ICAgICAgICAgICAgPSAweDI0YywKPiArCVtRVVNCMlBIWV9QT1JUX1RFU1QyXSAgICAgICAgICAg ICAgPSAweDI1MCwKPiArCVtRVVNCMlBIWV9QT1JUX1BPV0VSRE9XTl0gICAgICAgICAgPSAweDIx MCwKPiArCVtRVVNCMlBIWV9JTlRSX0NUUkxdICAgICAgICAgICAgICAgPSAweDIyYywKPiArfTsK PiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcXVzYjJfcGh5X2luaXRfdGJsIG1zbTg5OThfaW5p dF90YmxbXSA9IHsKPiArCVFVU0IyX1BIWV9JTklUX0NGRyhRVVNCMlBIWV9QTExfQU5BTE9HX0NP TlRST0xTX1RXTywgMHgxMyksCj4gKwlRVVNCMl9QSFlfSU5JVF9DRkcoUVVTQjJQSFlfUExMX0NM T0NLX0lOVkVSVEVSUywgMHg3YyksCj4gKwlRVVNCMl9QSFlfSU5JVF9DRkcoUVVTQjJQSFlfUExM X0NNT0RFLCAweDgwKSwKPiArCVFVU0IyX1BIWV9JTklUX0NGRyhRVVNCMlBIWV9QTExfTE9DS19E RUxBWSwgMHgwYSksCj4gKwo+ICsJUVVTQjJfUEhZX0lOSVRfQ0ZHX0woUVVTQjJQSFlfUE9SVF9U VU5FMSwgMHhhNSksCj4gKwlRVVNCMl9QSFlfSU5JVF9DRkdfTChRVVNCMlBIWV9QT1JUX1RVTkUy LCAweDA5KSwKPiArCj4gKwlRVVNCMl9QSFlfSU5JVF9DRkcoUVVTQjJQSFlfUExMX0RJR0lUQUxf VElNRVJTX1RXTywgMHgxOSksCj4gK307Cj4gKwo+ICsKPiAgc3RhdGljIGNvbnN0IHVuc2lnbmVk IGludCBzZG04NDVfcmVnc19sYXlvdXRbXSA9IHsKPiAgCVtRVVNCMlBIWV9QTExfQ09SRV9JTlBV VF9PVkVSUklERV0gPSAweGE4LAo+ICAJW1FVU0IyUEhZX1BMTF9TVEFUVVNdCQk9IDB4MWEwLAo+ IEBAIC0yMjEsNiArMjQ3LDE4IEBAIHN0cnVjdCBxdXNiMl9waHlfY2ZnIHsKPiAgCS5hdXRvcmVz dW1lX2VuCSA9IEJJVCgzKSwKPiAgfTsKPiAgCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcXVzYjJf cGh5X2NmZyBtc204OTk4X3BoeV9jZmcgPSB7Cj4gKwkudGJsICAgICAgICAgICAgPSBtc204OTk4 X2luaXRfdGJsLAo+ICsJLnRibF9udW0gICAgICAgID0gQVJSQVlfU0laRShtc204OTk4X2luaXRf dGJsKSwKPiArCS5yZWdzICAgICAgICAgICA9IG1zbTg5OThfcmVnc19sYXlvdXQsCj4gKwo+ICsJ LmRpc2FibGVfY3RybCAgID0gUE9XRVJfRE9XTiwKPiArCS5tYXNrX2NvcmVfcmVhZHkgPSBDT1JF X1JFQURZX1NUQVRVUywKPiArCS5oYXNfcGxsX292ZXJyaWRlID0gdHJ1ZSwKPiArCS5hdXRvcmVz dW1lX2VuICAgPSBCSVQoMCksCj4gKwkudXBkYXRlX3R1bmUxX3dpdGhfZWZ1c2UgPSB0cnVlLAo+ ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBxdXNiMl9waHlfY2ZnIHNkbTg0NV9waHlf Y2ZnID0gewo+ICAJLnRibAkJPSBzZG04NDVfaW5pdF90YmwsCj4gIAkudGJsX251bQk9IEFSUkFZ X1NJWkUoc2RtODQ1X2luaXRfdGJsKSwKPiBAQCAtNzM0LDYgKzc3Miw5IEBAIHN0YXRpYyBpbnQg cXVzYjJfcGh5X2V4aXQoc3RydWN0IHBoeSAqcGh5KQo+ICAJCS5jb21wYXRpYmxlCT0gInFjb20s bXNtODk5Ni1xdXNiMi1waHkiLAo+ICAJCS5kYXRhCQk9ICZtc204OTk2X3BoeV9jZmcsCj4gIAl9 LCB7Cj4gKwkJLmNvbXBhdGlibGUJPSAicWNvbSxtc204OTk4LXF1c2IyLXBoeSIsCj4gKwkJLmRh dGEJCT0gJm1zbTg5OThfcGh5X2NmZywKPiArCX0sIHsKPiAgCQkuY29tcGF0aWJsZQk9ICJxY29t LHNkbTg0NS1xdXNiMi1waHkiLAo+ICAJCS5kYXRhCQk9ICZzZG04NDVfcGh5X2NmZywKPiAgCX0s Cj4gLS0gCj4gUXVhbGNvbW0gRGF0YWNlbnRlciBUZWNobm9sb2dpZXMgYXMgYW4gYWZmaWxpYXRl IG9mIFF1YWxjb21tIFRlY2hub2xvZ2llcywgSW5jLgo+IFF1YWxjb21tIFRlY2hub2xvZ2llcywg SW5jLiBpcyBhIG1lbWJlciBvZiB0aGUKPiBDb2RlIEF1cm9yYSBGb3J1bSwgYSBMaW51eCBGb3Vu ZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdC4KPgo=