Example #1
0
//delay in us
void cpu_delay_us(unsigned int delay, unsigned int clock_freq)
{
	unsigned int delay_cycles = delay*clock_freq/1000000;
	__builtin_mtsr(AVR32_COUNT, 0);
	while (__builtin_mfsr(AVR32_COUNT) < delay_cycles)
	;
}
Example #2
0
void
aery_intc_init(void)
{
	__builtin_mtsr(AVR32_EVBA, (int32_t) &_evba);
	for (int i = 0; i < 20; i++) {
		AVR32_INTC.ipr[i] = _ipr[i];
	}
}
Example #3
0
void INTC_Init(void)
{
	for (uint8_t InterruptGroup = 0; InterruptGroup < AVR32_INTC_NUM_INT_GRPS; InterruptGroup++)
	{
		InterruptHandlers[InterruptGroup] = Unhandled_Interrupt;
		AVR32_INTC.ipr[InterruptGroup]    = Autovector_Table[AVR32_INTC_INT0];
	}

	__builtin_mtsr(AVR32_EVBA, (uintptr_t)&EVBA_Table);
}
Example #4
0
void
aery_intc_disable_globally(void)
{
	__builtin_mtsr(AVR32_SR, __builtin_mfsr(AVR32_SR) | (1 << 16));
}