Newer
Older
uwuboot / include / arm9 / interrupt.h
#pragma once

#include "io.h"



#define waitForIrq()      __asm__ __volatile__("mcr p15, 0, %0, c7, c0, 4\n\t" : : "r" (0))


typedef enum
{
	IRQ_DMAC_1_0      = (1<<0 ), // DMAC_1 = NDMA
	IRQ_DMAC_1_1      = (1<<1 ),
	IRQ_DMAC_1_2      = (1<<2 ),
	IRQ_DMAC_1_3      = (1<<3 ),
	IRQ_DMAC_1_4      = (1<<4 ),
	IRQ_DMAC_1_5      = (1<<5 ),
	IRQ_DMAC_1_6      = (1<<6 ),
	IRQ_DMAC_1_7      = (1<<7 ),
	IRQ_TIMER_0       = (1<<8 ),
	IRQ_TIMER_1       = (1<<9 ),
	IRQ_TIMER_2       = (1<<10),
	IRQ_TIMER_3       = (1<<11),
	IRQ_PXI_SYNC      = (1<<12),
	IRQ_PXI_NOT_FULL  = (1<<13),
	IRQ_PXI_NOT_EMPTY = (1<<14),
	IRQ_AES           = (1<<15),
	IRQ_SDIO_1        = (1<<16),
	IRQ_SDIO_1_ASYNC  = (1<<17),
	IRQ_SDIO_3        = (1<<18),
	IRQ_SDIO_3_ASYNC  = (1<<19),
	IRQ_DEBUG_RECV    = (1<<20),
	IRQ_DEBUG_SEND    = (1<<21),
	IRQ_RSA           = (1<<22),
	IRQ_CTR_CARD_1    = (1<<23),
	IRQ_CTR_CARD_2    = (1<<24),
	IRQ_CGC           = (1<<25),
	IRQ_CGC_DET       = (1<<26),
	IRQ_DS_CARD       = (1<<27),
	IRQ_DMAC_2        = (1<<28),
	IRQ_DMAC_2_ABORT  = (1<<29)
} Interrupt;