/*TIMER_ACPU_OSA_ID:和caixi确认,后续可拿掉*/
void BSP_StartHardTimer(u32 value)
{
    writel(HARD_TIMER_DISABLE,TIMER_CONTROLREG(HI_TIMER_18_REGBASE_ADDR_VIRT));
    writel(value,TIMER_LOADCOUNT(HI_TIMER_18_REGBASE_ADDR_VIRT));
    writel(HARD_TIMER_ENABLE,TIMER_CONTROLREG(HI_TIMER_18_REGBASE_ADDR_VIRT));
    return;
}
Пример #2
0
/*TIMER_ACPU_OSA_ID:和caixi确认,后续可拿掉*/
void BSP_StartHardTimer(unsigned int value)
{
    writel(HARD_TIMER_DISABLE,(volatile void *)TIMER_CONTROLREG(HI_TIMER_18_REGBASE_ADDR_VIRT));
    writel(value,(volatile void *)TIMER_LOADCOUNT(HI_TIMER_18_REGBASE_ADDR_VIRT));/*lint !e516 */
    writel(HARD_TIMER_ENABLE,(volatile void *)TIMER_CONTROLREG(HI_TIMER_18_REGBASE_ADDR_VIRT));
    return;
}
BSP_U32 BSP_GetHardTimerCurTime(BSP_VOID)
{
    u32 ret = 0;
    ret = readl(TIMER_CONTROLREG(HI_TIMER_18_REGBASE_ADDR_VIRT));
    if((ret&0x1)!=0x1)/*如果计数器没打开*/
    {
        return 0;
    }
    else
    {
        ret = readl(TIMER_CURRENTVALUE(HI_TIMER_18_REGBASE_ADDR_VIRT));
        return ret;
    }
}
Пример #4
0
/*lint --e{732}*/
BSP_U32 BSP_GetHardTimerCurTime(BSP_VOID)
{
    u32 ret = 0;
    ret = readl((const volatile void *)TIMER_CONTROLREG(HI_TIMER_18_REGBASE_ADDR_VIRT));/*lint !e746*/
    if((ret&0x1)!=0x1)/*如果计数器没打开*/
    {
        return 0;
    }
    else
    {
        ret = readl((const volatile void *)TIMER_CURRENTVALUE(HI_TIMER_18_REGBASE_ADDR_VIRT));
        return ret;
    }
}
BSP_VOID BSP_StopHardTimer(BSP_VOID)
{
    writel(HARD_TIMER_DISABLE,TIMER_CONTROLREG(HI_TIMER_18_REGBASE_ADDR_VIRT));
    return;
}