|
@@ -140,6 +140,8 @@ static struct cpu_clk_suspend_context {
|
|
|
static void __iomem *clk_base;
|
|
|
static void __iomem *pmc_base;
|
|
|
|
|
|
+static DEFINE_SPINLOCK(emc_lock);
|
|
|
+
|
|
|
#define TEGRA_INIT_DATA_MUX(_name, _parents, _offset, \
|
|
|
_clk_num, _gate_flags, _clk_id) \
|
|
|
TEGRA_INIT_DATA(_name, NULL, NULL, _parents, _offset, \
|
|
@@ -819,11 +821,15 @@ static void __init tegra20_periph_clk_init(void)
|
|
|
ARRAY_SIZE(mux_pllmcp_clkm),
|
|
|
CLK_SET_RATE_NO_REPARENT,
|
|
|
clk_base + CLK_SOURCE_EMC,
|
|
|
- 30, 2, 0, NULL);
|
|
|
+ 30, 2, 0, &emc_lock);
|
|
|
clk = tegra_clk_register_periph_gate("emc", "emc_mux", 0, clk_base, 0,
|
|
|
57, periph_clk_enb_refcnt);
|
|
|
clks[TEGRA20_CLK_EMC] = clk;
|
|
|
|
|
|
+ clk = tegra_clk_register_mc("mc", "emc_mux", clk_base + CLK_SOURCE_EMC,
|
|
|
+ &emc_lock);
|
|
|
+ clks[TEGRA20_CLK_MC] = clk;
|
|
|
+
|
|
|
/* dsi */
|
|
|
clk = tegra_clk_register_periph_gate("dsi", "pll_d", 0, clk_base, 0,
|
|
|
48, periph_clk_enb_refcnt);
|