Esempio n. 1
0
void __init mxc_timer_init(void __iomem *base, int irq)
{
	struct clk *clk_per = clk_get_sys("imx-gpt.0", "per");
	struct clk *clk_ipg = clk_get_sys("imx-gpt.0", "ipg");

	timer_base = base;

	_mxc_timer_init(irq, clk_per, clk_ipg);
}
Esempio n. 2
0
void __init mxc_timer_init(unsigned long pbase, int irq)
{
	struct clk *clk_per = clk_get_sys("imx-gpt.0", "per");
	struct clk *clk_ipg = clk_get_sys("imx-gpt.0", "ipg");

	timer_base = ioremap(pbase, SZ_4K);
	BUG_ON(!timer_base);

	_mxc_timer_init(irq, clk_per, clk_ipg);
}
Esempio n. 3
0
void __init mxc_timer_init_dt(struct device_node *np)
{
	struct clk *clk_per, *clk_ipg;
	int irq;

	timer_base = of_iomap(np, 0);
	WARN_ON(!timer_base);
	irq = irq_of_parse_and_map(np, 0);

	clk_per = of_clk_get_by_name(np, "per");
	clk_ipg = of_clk_get_by_name(np, "ipg");

	_mxc_timer_init(irq, clk_per, clk_ipg);
}
Esempio n. 4
0
static void __init mxc_timer_init_dt(struct device_node *np)
{
	struct clk *clk_per, *clk_ipg;
	int irq;

	if (timer_base)
		return;

	timer_base = of_iomap(np, 0);
	WARN_ON(!timer_base);
	irq = irq_of_parse_and_map(np, 0);

	clk_ipg = of_clk_get_by_name(np, "ipg");

	/* Try osc_per first, and fall back to per otherwise */
	clk_per = of_clk_get_by_name(np, "osc_per");
	if (IS_ERR(clk_per))
		clk_per = of_clk_get_by_name(np, "per");

	_mxc_timer_init(irq, clk_per, clk_ipg);
}