summaryrefslogtreecommitdiffstats
path: root/drivers/clk/at91/sama7g5.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/at91/sama7g5.c')
-rw-r--r--drivers/clk/at91/sama7g5.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
index e0c4d2eb9f59..927eb3b2b126 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -32,6 +32,7 @@
} while (0)
static DEFINE_SPINLOCK(pmc_pll_lock);
+static DEFINE_SPINLOCK(pmc_mck0_lock);
static DEFINE_SPINLOCK(pmc_mckX_lock);
/**
@@ -984,8 +985,16 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
parent_names[1] = "mainck";
parent_names[2] = "cpupll_divpmcck";
parent_names[3] = "syspll_divpmcck";
- hw = at91_clk_register_master(regmap, "mck0", 4, parent_names,
- &mck0_layout, &mck0_characteristics);
+ hw = at91_clk_register_master_pres(regmap, "mck0_pres", 4, parent_names,
+ &mck0_layout, &mck0_characteristics,
+ &pmc_mck0_lock,
+ CLK_SET_RATE_PARENT, 0);
+ if (IS_ERR(hw))
+ goto err_free;
+
+ hw = at91_clk_register_master_div(regmap, "mck0_div", "mck0_pres",
+ &mck0_layout, &mck0_characteristics,
+ &pmc_mck0_lock, 0);
if (IS_ERR(hw))
goto err_free;