1*774ba5a2SFengquan Chen /* 2*774ba5a2SFengquan Chen * Copyright (c) 2020, MediaTek Inc. All rights reserved. 3*774ba5a2SFengquan Chen * 4*774ba5a2SFengquan Chen * SPDX-License-Identifier: BSD-3-Clause 5*774ba5a2SFengquan Chen */ 6*774ba5a2SFengquan Chen #include <arch_helpers.h> 7*774ba5a2SFengquan Chen #include <common/debug.h> 8*774ba5a2SFengquan Chen #include <lib/mmio.h> 9*774ba5a2SFengquan Chen #include <mcucfg.h> 10*774ba5a2SFengquan Chen #include <mt_timer.h> 11*774ba5a2SFengquan Chen #include <platform_def.h> 12*774ba5a2SFengquan Chen enable_systimer_compensation(void)13*774ba5a2SFengquan Chenstatic void enable_systimer_compensation(void) 14*774ba5a2SFengquan Chen { 15*774ba5a2SFengquan Chen unsigned int reg; 16*774ba5a2SFengquan Chen 17*774ba5a2SFengquan Chen reg = mmio_read_32(CNTCR_REG); 18*774ba5a2SFengquan Chen reg &= ~COMP_15_EN; 19*774ba5a2SFengquan Chen reg |= COMP_20_EN; 20*774ba5a2SFengquan Chen mmio_write_32(CNTCR_REG, reg); 21*774ba5a2SFengquan Chen 22*774ba5a2SFengquan Chen NOTICE("[systimer] CNTCR_REG(0x%x)\n", mmio_read_32(CNTCR_REG)); 23*774ba5a2SFengquan Chen } 24*774ba5a2SFengquan Chen mt_systimer_init(void)25*774ba5a2SFengquan Chenvoid mt_systimer_init(void) 26*774ba5a2SFengquan Chen { 27*774ba5a2SFengquan Chen /* systimer is default on, so we only enable systimer compensation */ 28*774ba5a2SFengquan Chen enable_systimer_compensation(); 29*774ba5a2SFengquan Chen } 30