162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2014 Zhang, Keguang <keguang.zhang@gmail.com> 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <linux/clk.h> 762306a36Sopenharmony_ci#include <linux/of_clk.h> 862306a36Sopenharmony_ci#include <asm/time.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_civoid __init plat_time_init(void) 1162306a36Sopenharmony_ci{ 1262306a36Sopenharmony_ci struct clk *clk = NULL; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci /* initialize LS1X clocks */ 1562306a36Sopenharmony_ci of_clk_init(NULL); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci /* setup mips r4k timer */ 1862306a36Sopenharmony_ci clk = clk_get(NULL, "cpu_clk"); 1962306a36Sopenharmony_ci if (IS_ERR(clk)) 2062306a36Sopenharmony_ci panic("unable to get cpu clock, err=%ld", PTR_ERR(clk)); 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci mips_hpt_frequency = clk_get_rate(clk) / 2; 2362306a36Sopenharmony_ci} 24