aboutsummaryrefslogtreecommitdiff
path: root/src/soc/nvidia/tegra132/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/nvidia/tegra132/clock.c')
-rw-r--r--src/soc/nvidia/tegra132/clock.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/soc/nvidia/tegra132/clock.c b/src/soc/nvidia/tegra132/clock.c
index ed5afbaa45..caeb24a9a1 100644
--- a/src/soc/nvidia/tegra132/clock.c
+++ b/src/soc/nvidia/tegra132/clock.c
@@ -584,7 +584,7 @@ void clock_grp_enable_clear_reset(u32 val, u32* clk_enb_set_reg,
writel(val, rst_dev_clr_reg);
}
-void clock_enable_clear_reset(u32 l, u32 h, u32 u, u32 v, u32 w, u32 x)
+void clock_enable(u32 l, u32 h, u32 u, u32 v, u32 w, u32 x)
{
if (l)
writel(l, &clk_rst->clk_enb_l_set);
@@ -598,10 +598,10 @@ void clock_enable_clear_reset(u32 l, u32 h, u32 u, u32 v, u32 w, u32 x)
writel(w, &clk_rst->clk_enb_w_set);
if (x)
writel(x, &clk_rst->clk_enb_x_set);
+}
- /* Give clocks time to stabilize. */
- udelay(IO_STABILIZATION_DELAY);
-
+void clock_clear_reset(u32 l, u32 h, u32 u, u32 v, u32 w, u32 x)
+{
if (l)
writel(l, &clk_rst->rst_dev_l_clr);
if (h)
@@ -616,6 +616,16 @@ void clock_enable_clear_reset(u32 l, u32 h, u32 u, u32 v, u32 w, u32 x)
writel(x, &clk_rst->rst_dev_x_clr);
}
+void clock_enable_clear_reset(u32 l, u32 h, u32 u, u32 v, u32 w, u32 x)
+{
+ clock_enable(l, h, u, v, w, x);
+
+ /* Give clocks time to stabilize. */
+ udelay(IO_STABILIZATION_DELAY);
+
+ clock_clear_reset(l, h, u, v, w, x);
+}
+
void clock_reset_l(u32 bit)
{
writel(bit, &clk_rst->rst_dev_l_set);