Browse Source
add timer driver. Signed-off-by: Fengquan Chen <fengquan.chen@mediatek.com> Change-Id: I60a7273f922233a618a6163b802c0858ed89f75fpull/1939/head
Fengquan Chen
4 years ago
4 changed files with 54 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||||
|
/*
|
||||
|
* Copyright (c) 2020, MediaTek Inc. All rights reserved. |
||||
|
* |
||||
|
* SPDX-License-Identifier: BSD-3-Clause |
||||
|
*/ |
||||
|
#include <arch_helpers.h> |
||||
|
#include <common/debug.h> |
||||
|
#include <lib/mmio.h> |
||||
|
#include <mcucfg.h> |
||||
|
#include <mt_timer.h> |
||||
|
#include <platform_def.h> |
||||
|
|
||||
|
static void enable_systimer_compensation(void) |
||||
|
{ |
||||
|
unsigned int reg; |
||||
|
|
||||
|
reg = mmio_read_32(CNTCR_REG); |
||||
|
reg &= ~COMP_15_EN; |
||||
|
reg |= COMP_20_EN; |
||||
|
mmio_write_32(CNTCR_REG, reg); |
||||
|
|
||||
|
NOTICE("[systimer] CNTCR_REG(0x%x)\n", mmio_read_32(CNTCR_REG)); |
||||
|
} |
||||
|
|
||||
|
void mt_systimer_init(void) |
||||
|
{ |
||||
|
/* systimer is default on, so we only enable systimer compensation */ |
||||
|
enable_systimer_compensation(); |
||||
|
} |
@ -0,0 +1,20 @@ |
|||||
|
/*
|
||||
|
* Copyright (c) 2020, MediaTek Inc. All rights reserved. |
||||
|
* |
||||
|
* SPDX-License-Identifier: BSD-3-Clause |
||||
|
*/ |
||||
|
|
||||
|
#ifndef MT_TIMER_H |
||||
|
#define MT_TIMER_H |
||||
|
|
||||
|
|
||||
|
#define SYSTIMER_BASE (0x10017000) |
||||
|
#define CNTCR_REG (SYSTIMER_BASE + 0x0) |
||||
|
#define CNTSR_REG (SYSTIMER_BASE + 0x4) |
||||
|
|
||||
|
#define COMP_15_EN (1 << 10) |
||||
|
#define COMP_20_EN (1 << 11) |
||||
|
|
||||
|
void mt_systimer_init(void); |
||||
|
|
||||
|
#endif /* MT_TIMER_H */ |
Loading…
Reference in new issue