mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
ufs: Set utmi_pll1 as parent for cpu_isc clocks
Set utmi_pll1 as parent for cpu_isc clocks Bug 4782274 Change-Id: Iab71527dc6de3f46d4b7880c3dd00eadc130c5ba Signed-off-by: Mallikarjun Kasoju <mkasoju@nvidia.com>
This commit is contained in:
committed by
Jon Hunter
parent
711b5110fc
commit
701657e6f7
@@ -808,16 +808,42 @@ static int ufs_tegra_init_ufs_clks(struct ufs_tegra_host *ufs_tegra)
|
||||
if (ufs_tegra->soc->chip_id != TEGRA264) {
|
||||
err = ufs_tegra_host_clk_get(dev,
|
||||
"pll_p", &ufs_tegra->ufshc_parent);
|
||||
if (err)
|
||||
goto out;
|
||||
} else {
|
||||
err = ufs_tegra_host_clk_get(dev,
|
||||
"pllrefe_vcoout", &ufs_tegra->ufshc_parent);
|
||||
if (err)
|
||||
if (err) {
|
||||
dev_err(dev, "%s: pllrefe_vcoout clock get failed: Err %d",
|
||||
__func__, err);
|
||||
goto out;
|
||||
}
|
||||
|
||||
err = ufs_tegra_host_clk_get(dev,
|
||||
"ufshc_div", &ufs_tegra->ufshc_clk_div);
|
||||
if (err) {
|
||||
dev_err(dev, "%s: ufshc_div clock get failed: Err %d",
|
||||
__func__, err);
|
||||
goto out;
|
||||
}
|
||||
|
||||
err = ufs_tegra_host_clk_get(dev,
|
||||
"isc_cpu", &ufs_tegra->isc_cpu);
|
||||
if (err) {
|
||||
dev_err(dev, "%s: isc_cpu clock get failed: Err %d",
|
||||
__func__, err);
|
||||
goto out;
|
||||
}
|
||||
|
||||
err = ufs_tegra_host_clk_get(dev,
|
||||
"utmi_pll1", &ufs_tegra->utmi_pll1);
|
||||
if (err) {
|
||||
dev_err(dev, "%s: utmi_pll1 clock get failed: Err %d",
|
||||
__func__, err);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
if (ufs_tegra->soc->chip_id != TEGRA264) {
|
||||
err = ufs_tegra_host_clk_get(dev,
|
||||
"clk_m", &ufs_tegra->ufsdev_parent);
|
||||
@@ -854,12 +880,20 @@ static int ufs_tegra_enable_ufs_clks(struct ufs_tegra_host *ufs_tegra)
|
||||
*/
|
||||
err = clk_set_parent(ufs_tegra->ufshc_clk,
|
||||
ufs_tegra->ufshc_clk_div);
|
||||
|
||||
if (err) {
|
||||
pr_err("\n ufshc_clk clk_set_parent failed\n");
|
||||
goto out;
|
||||
}
|
||||
err = clk_set_parent(ufs_tegra->isc_cpu,
|
||||
ufs_tegra->utmi_pll1);
|
||||
|
||||
} else {
|
||||
err = clk_set_parent(ufs_tegra->ufshc_clk,
|
||||
ufs_tegra->ufshc_parent);
|
||||
}
|
||||
if (err) {
|
||||
pr_err("Function clk_set_parent failed\n");
|
||||
pr_err("\n clk_set_parent failed\n");
|
||||
goto out;
|
||||
}
|
||||
if (ufs_tegra->soc->chip_id != TEGRA264) {
|
||||
|
||||
@@ -389,6 +389,8 @@ struct ufs_tegra_host {
|
||||
struct clk *ufs_uphy_pll3;
|
||||
struct clk *pllrefe_clk;
|
||||
struct clk *mphy_l0_uphy_tx_fifo;
|
||||
struct clk *isc_cpu;
|
||||
struct clk *utmi_pll1;
|
||||
struct regulator *vddio_ufs;
|
||||
struct regulator *vddio_ufs_ap;
|
||||
struct pinctrl *ufs_pinctrl;
|
||||
|
||||
Reference in New Issue
Block a user