xref: /openbmc/linux/arch/mips/loongson32/common/time.c (revision 9e130e2b)
12874c5fdSThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later
230ad29bbSHuacai Chen /*
330ad29bbSHuacai Chen  * Copyright (c) 2014 Zhang, Keguang <keguang.zhang@gmail.com>
430ad29bbSHuacai Chen  */
530ad29bbSHuacai Chen 
630ad29bbSHuacai Chen #include <linux/clk.h>
7*b927c76cSKeguang Zhang #include <linux/of_clk.h>
830ad29bbSHuacai Chen #include <asm/time.h>
930ad29bbSHuacai Chen 
plat_time_init(void)1030ad29bbSHuacai Chen void __init plat_time_init(void)
1130ad29bbSHuacai Chen {
1230ad29bbSHuacai Chen 	struct clk *clk = NULL;
1330ad29bbSHuacai Chen 
1430ad29bbSHuacai Chen 	/* initialize LS1X clocks */
15*b927c76cSKeguang Zhang 	of_clk_init(NULL);
1630ad29bbSHuacai Chen 
1730ad29bbSHuacai Chen 	/* setup mips r4k timer */
1830ad29bbSHuacai Chen 	clk = clk_get(NULL, "cpu_clk");
1930ad29bbSHuacai Chen 	if (IS_ERR(clk))
2030ad29bbSHuacai Chen 		panic("unable to get cpu clock, err=%ld", PTR_ERR(clk));
2130ad29bbSHuacai Chen 
2230ad29bbSHuacai Chen 	mips_hpt_frequency = clk_get_rate(clk) / 2;
2330ad29bbSHuacai Chen }
24