41 lines
684 B
C
41 lines
684 B
C
|
|
#include "cc32_irq.h"
|
|
|
|
#define CC32_SYSC_BASE 0x0F0000
|
|
|
|
enum cc32_sysc_reg {
|
|
SCCM0 = 0x00,
|
|
SCSYS = 0x04,
|
|
SCCKOUT = 0x20,
|
|
SCRSTFLG = 0x28,
|
|
SCRSTEN = 0x2C,
|
|
SCSFTRST = 0x30,
|
|
SCRSTCON0 = 0x34,
|
|
SCRSTCON4 = 0x38,
|
|
SCSLEEP = 0x3C,
|
|
SCGCON = 0x40,
|
|
SCINTSTS = 0x44,
|
|
SCINTEN = 0x48,
|
|
SCGINT0 = 0x5C,
|
|
SCGLEV = 0x64,
|
|
SCWUT = 0x68,
|
|
SCCM4 = 0x7C,
|
|
};
|
|
|
|
#define SYSC_REG(x) (uint32_t *)((uint8_t *)CC32_SYSC_BASE + x)
|
|
|
|
void cc32_irq_enable(enum cc32_irq irq)
|
|
{
|
|
*SYSC_REG(SCINTEN) |= (1 << irq);
|
|
}
|
|
|
|
void cc32_irq_disable(enum cc32_irq irq)
|
|
{
|
|
*SYSC_REG(SCINTEN) &= ~(1 << irq);
|
|
}
|
|
|
|
void cc32_irq_register(enum cc32_irq irq, void (*handler)(enum cc32_irq irq))
|
|
{
|
|
/* FIXME */
|
|
}
|