Description
Source
Call Graph
Start Line: 85
void sys_init_timing(void)
{
unsigned int div, tcclks;
printf("P: clock time initialize - TC0\n\r");
// Enable TC0
AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_TC0;
ASSERT(TC_FindMckDivisor(CLOCK_CONF_SECOND, BOARD_MCK, &div, &tcclks),
"F: Fail to generate the desired frequency %d\n\r",
CLOCK_CONF_SECOND);
TC_Configure(AT91C_BASE_TC0,
tcclks | AT91C_TC_WAVE | AT91C_TC_WAVESEL_UP_AUTO);
AT91C_BASE_TC0->TC_RC = BOARD_MCK / (CLOCK_CONF_SECOND * div);
// Configure TC0 interrupt
AIC_DisableIT(AT91C_ID_TC0);
AIC_ConfigureIT(AT91C_ID_TC0, 0, ISR_Tc0);
AT91C_BASE_TC0->TC_IER = AT91C_TC_CPCS;
AIC_EnableIT(AT91C_ID_TC0);
// Clear tick value
clockTick = 0;
// Start timer
TC_Start(AT91C_BASE_TC0);
}