2019-05-27 14:55:01 +08:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2009-07-02 23:22:36 +08:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
|
|
|
|
* Author: Fuxin Zhang, zhangfx@lemote.com
|
|
|
|
*
|
2010-01-04 17:16:51 +08:00
|
|
|
* Copyright (C) 2009 Lemote Inc.
|
|
|
|
* Author: Wu Zhangjin, wuzhangjin@gmail.com
|
2009-07-02 23:22:36 +08:00
|
|
|
*/
|
|
|
|
#include <asm/mc146818-time.h>
|
|
|
|
#include <asm/time.h>
|
2014-11-04 14:15:31 +08:00
|
|
|
#include <asm/hpet.h>
|
2009-07-02 23:22:36 +08:00
|
|
|
|
2009-07-02 23:23:03 +08:00
|
|
|
#include <loongson.h>
|
2009-11-17 01:32:57 +08:00
|
|
|
#include <cs5536/cs5536_mfgpt.h>
|
2009-07-02 23:22:36 +08:00
|
|
|
|
|
|
|
void __init plat_time_init(void)
|
|
|
|
{
|
|
|
|
/* setup mips r4k timer */
|
|
|
|
mips_hpt_frequency = cpu_clock_freq / 2;
|
2009-11-17 01:32:57 +08:00
|
|
|
|
2014-11-04 14:15:31 +08:00
|
|
|
#ifdef CONFIG_RS780_HPET
|
|
|
|
setup_hpet_timer();
|
|
|
|
#else
|
2009-11-17 01:32:57 +08:00
|
|
|
setup_mfgpt0_timer();
|
2014-11-04 14:15:31 +08:00
|
|
|
#endif
|
2009-07-02 23:22:36 +08:00
|
|
|
}
|
|
|
|
|
2018-05-07 17:28:27 +08:00
|
|
|
void read_persistent_clock64(struct timespec64 *ts)
|
2009-07-02 23:22:36 +08:00
|
|
|
{
|
2009-09-21 06:57:28 +08:00
|
|
|
ts->tv_sec = mc146818_get_cmos_time();
|
2009-09-19 00:15:24 +08:00
|
|
|
ts->tv_nsec = 0;
|
2009-07-02 23:22:36 +08:00
|
|
|
}
|