mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
Merge tag 'phy-for-5.7-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy into char-misc-linus
phy: for 5.7 -rc *) Update MAINTAINER to include Vinod Koul as co-maintainer of PHY *) Fix Kconfig dependencies in seen with PHY_TEGRA_XUSB *) Re-add "qcom,sdm845-qusb2-phy" compatible in phy-qcom-qusb2.c to make it work with existing dtbs *) Move clock enable from ->poweron() to ->init() in Qualcomm usb-hs-28nm driver to initialize HW in ->init() Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> * tag 'phy-for-5.7-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: phy: qualcomm: usb-hs-28nm: Prepare clocks in init MAINTAINERS: Add Vinod Koul as Generic PHY co-maintainer phy: qcom-qusb2: Re add "qcom,sdm845-qusb2-phy" compat string phy: tegra: Select USB_COMMON for usb_get_maximum_speed()
This commit is contained in:
@@ -7119,9 +7119,10 @@ F: include/uapi/asm-generic/
|
||||
|
||||
GENERIC PHY FRAMEWORK
|
||||
M: Kishon Vijay Abraham I <kishon@ti.com>
|
||||
M: Vinod Koul <vkoul@kernel.org>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Supported
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git
|
||||
F: Documentation/devicetree/bindings/phy/
|
||||
F: drivers/phy/
|
||||
F: include/linux/phy/
|
||||
|
||||
@@ -815,6 +815,13 @@ static const struct of_device_id qusb2_phy_of_match_table[] = {
|
||||
}, {
|
||||
.compatible = "qcom,msm8998-qusb2-phy",
|
||||
.data = &msm8998_phy_cfg,
|
||||
}, {
|
||||
/*
|
||||
* Deprecated. Only here to support legacy device
|
||||
* trees that didn't include "qcom,qusb2-v2-phy"
|
||||
*/
|
||||
.compatible = "qcom,sdm845-qusb2-phy",
|
||||
.data = &qusb2_v2_phy_cfg,
|
||||
}, {
|
||||
.compatible = "qcom,qusb2-v2-phy",
|
||||
.data = &qusb2_v2_phy_cfg,
|
||||
|
||||
@@ -160,18 +160,11 @@ static int qcom_snps_hsphy_power_on(struct phy *phy)
|
||||
ret = regulator_bulk_enable(VREG_NUM, priv->vregs);
|
||||
if (ret)
|
||||
return ret;
|
||||
ret = clk_bulk_prepare_enable(priv->num_clks, priv->clks);
|
||||
if (ret)
|
||||
goto err_disable_regulator;
|
||||
|
||||
qcom_snps_hsphy_disable_hv_interrupts(priv);
|
||||
qcom_snps_hsphy_exit_retention(priv);
|
||||
|
||||
return 0;
|
||||
|
||||
err_disable_regulator:
|
||||
regulator_bulk_disable(VREG_NUM, priv->vregs);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int qcom_snps_hsphy_power_off(struct phy *phy)
|
||||
@@ -180,7 +173,6 @@ static int qcom_snps_hsphy_power_off(struct phy *phy)
|
||||
|
||||
qcom_snps_hsphy_enter_retention(priv);
|
||||
qcom_snps_hsphy_enable_hv_interrupts(priv);
|
||||
clk_bulk_disable_unprepare(priv->num_clks, priv->clks);
|
||||
regulator_bulk_disable(VREG_NUM, priv->vregs);
|
||||
|
||||
return 0;
|
||||
@@ -266,21 +258,39 @@ static int qcom_snps_hsphy_init(struct phy *phy)
|
||||
struct hsphy_priv *priv = phy_get_drvdata(phy);
|
||||
int ret;
|
||||
|
||||
ret = qcom_snps_hsphy_reset(priv);
|
||||
ret = clk_bulk_prepare_enable(priv->num_clks, priv->clks);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = qcom_snps_hsphy_reset(priv);
|
||||
if (ret)
|
||||
goto disable_clocks;
|
||||
|
||||
qcom_snps_hsphy_init_sequence(priv);
|
||||
|
||||
ret = qcom_snps_hsphy_por_reset(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto disable_clocks;
|
||||
|
||||
return 0;
|
||||
|
||||
disable_clocks:
|
||||
clk_bulk_disable_unprepare(priv->num_clks, priv->clks);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int qcom_snps_hsphy_exit(struct phy *phy)
|
||||
{
|
||||
struct hsphy_priv *priv = phy_get_drvdata(phy);
|
||||
|
||||
clk_bulk_disable_unprepare(priv->num_clks, priv->clks);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct phy_ops qcom_snps_hsphy_ops = {
|
||||
.init = qcom_snps_hsphy_init,
|
||||
.exit = qcom_snps_hsphy_exit,
|
||||
.power_on = qcom_snps_hsphy_power_on,
|
||||
.power_off = qcom_snps_hsphy_power_off,
|
||||
.set_mode = qcom_snps_hsphy_set_mode,
|
||||
|
||||
Reference in New Issue
Block a user