Skip to content

Commit

Permalink
Merge tag 'mtu-clk-for-arm-soc' of git://git.kernel.org/pub/scm/linux…
Browse files Browse the repository at this point in the history
…/kernel/git/linusw/linux-stericsson into next/multiplatform

From Linus Walleij <linus.walleij@linaro.org>:

This tag contains two MTU patches based on top of the ux500 sparse IRQ
commit to avoid merge clashes.

* tag 'mtu-clk-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  clocksource/mtu-nomadik: use apb_pclk
  clk: ux500: Register mtu apb_pclocks

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Arnd Bergmann committed Nov 16, 2012
2 parents f75ed2d + 16defa6 commit 794c153
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
9 changes: 3 additions & 6 deletions drivers/clk/ux500/u8500_clk.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,6 @@ void u8500_clk_init(void)
clk = clk_reg_prcmu_gate("uiccclk", NULL, PRCMU_UICCCLK, CLK_IS_ROOT);
clk_register_clkdev(clk, NULL, "uicc");

/*
* FIXME: The MTU clocks might need some kind of "parent muxed join"
* and these have no K-clocks. For now, we ignore the missing
* connection to the corresponding P-clocks, p6_mtu0_clk and
* p6_mtu1_clk. Instead timclk is used which is the valid parent.
*/
clk = clk_reg_prcmu_gate("timclk", NULL, PRCMU_TIMCLK, CLK_IS_ROOT);
clk_register_clkdev(clk, NULL, "mtu0");
clk_register_clkdev(clk, NULL, "mtu1");
Expand Down Expand Up @@ -379,8 +373,11 @@ void u8500_clk_init(void)

clk = clk_reg_prcc_pclk("p6_pclk6", "per6clk", U8500_CLKRST6_BASE,
BIT(6), 0);
clk_register_clkdev(clk, "apb_pclk", "mtu0");

clk = clk_reg_prcc_pclk("p6_pclk7", "per6clk", U8500_CLKRST6_BASE,
BIT(7), 0);
clk_register_clkdev(clk, "apb_pclk", "mtu1");

/* PRCC K-clocks
*
Expand Down
8 changes: 7 additions & 1 deletion drivers/clocksource/nomadik-mtu.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,15 @@ void nmdk_clksrc_reset(void)
void __init nmdk_timer_init(void __iomem *base, int irq)
{
unsigned long rate;
struct clk *clk0;
struct clk *clk0, *pclk0;

mtu_base = base;

pclk0 = clk_get_sys("mtu0", "apb_pclk");
BUG_ON(IS_ERR(pclk0));
BUG_ON(clk_prepare(pclk0) < 0);
BUG_ON(clk_enable(pclk0) < 0);

clk0 = clk_get_sys("mtu0", NULL);
BUG_ON(IS_ERR(clk0));
BUG_ON(clk_prepare(clk0) < 0);
Expand Down

0 comments on commit 794c153

Please sign in to comment.