Loading drivers/usb/phy/phy-msm-ssusb-qmp.c +16 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. */ #include <linux/module.h> Loading Loading @@ -128,6 +128,8 @@ struct msm_ssphy_qmp { struct clk *com_aux_clk; struct clk *cfg_ahb_clk; struct clk *pipe_clk; struct clk *pipe_clk_mux; struct clk *pipe_clk_ext_src; struct reset_control *phy_reset; struct reset_control *phy_phy_reset; struct reset_control *global_phy_reset; Loading Loading @@ -898,6 +900,14 @@ static int msm_ssphy_qmp_get_clks(struct msm_ssphy_qmp *phy, struct device *dev) goto err; } phy->pipe_clk_mux = devm_clk_get(dev, "pipe_clk_mux"); if (IS_ERR(phy->pipe_clk_mux)) phy->pipe_clk_mux = NULL; phy->pipe_clk_ext_src = devm_clk_get(dev, "pipe_clk_ext_src"); if (IS_ERR(phy->pipe_clk_ext_src)) phy->pipe_clk_ext_src = NULL; phy->ref_clk_src = devm_clk_get(dev, "ref_clk_src"); if (IS_ERR(phy->ref_clk_src)) phy->ref_clk_src = NULL; Loading Loading @@ -941,6 +951,8 @@ static void msm_ssphy_qmp_enable_clks(struct msm_ssphy_qmp *phy, bool on) if (phy->cfg_ahb_clk) clk_prepare_enable(phy->cfg_ahb_clk); //select PHY pipe clock clk_set_parent(phy->pipe_clk_mux, phy->pipe_clk_ext_src); clk_prepare_enable(phy->pipe_clk); phy->clk_enabled = true; } Loading @@ -948,6 +960,9 @@ static void msm_ssphy_qmp_enable_clks(struct msm_ssphy_qmp *phy, bool on) if (phy->clk_enabled && !on) { clk_disable_unprepare(phy->pipe_clk); //select XO instead of PHY pipe clock clk_set_parent(phy->pipe_clk_mux, phy->ref_clk_src); if (phy->cfg_ahb_clk) clk_disable_unprepare(phy->cfg_ahb_clk); Loading Loading
drivers/usb/phy/phy-msm-ssusb-qmp.c +16 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. */ #include <linux/module.h> Loading Loading @@ -128,6 +128,8 @@ struct msm_ssphy_qmp { struct clk *com_aux_clk; struct clk *cfg_ahb_clk; struct clk *pipe_clk; struct clk *pipe_clk_mux; struct clk *pipe_clk_ext_src; struct reset_control *phy_reset; struct reset_control *phy_phy_reset; struct reset_control *global_phy_reset; Loading Loading @@ -898,6 +900,14 @@ static int msm_ssphy_qmp_get_clks(struct msm_ssphy_qmp *phy, struct device *dev) goto err; } phy->pipe_clk_mux = devm_clk_get(dev, "pipe_clk_mux"); if (IS_ERR(phy->pipe_clk_mux)) phy->pipe_clk_mux = NULL; phy->pipe_clk_ext_src = devm_clk_get(dev, "pipe_clk_ext_src"); if (IS_ERR(phy->pipe_clk_ext_src)) phy->pipe_clk_ext_src = NULL; phy->ref_clk_src = devm_clk_get(dev, "ref_clk_src"); if (IS_ERR(phy->ref_clk_src)) phy->ref_clk_src = NULL; Loading Loading @@ -941,6 +951,8 @@ static void msm_ssphy_qmp_enable_clks(struct msm_ssphy_qmp *phy, bool on) if (phy->cfg_ahb_clk) clk_prepare_enable(phy->cfg_ahb_clk); //select PHY pipe clock clk_set_parent(phy->pipe_clk_mux, phy->pipe_clk_ext_src); clk_prepare_enable(phy->pipe_clk); phy->clk_enabled = true; } Loading @@ -948,6 +960,9 @@ static void msm_ssphy_qmp_enable_clks(struct msm_ssphy_qmp *phy, bool on) if (phy->clk_enabled && !on) { clk_disable_unprepare(phy->pipe_clk); //select XO instead of PHY pipe clock clk_set_parent(phy->pipe_clk_mux, phy->ref_clk_src); if (phy->cfg_ahb_clk) clk_disable_unprepare(phy->cfg_ahb_clk); Loading