int start_kernel(int argc, char *argv[]) { int i; int rc; int reg[16]; int cpsr; const int timer_irq = 49; cpsr = get_cpsr(); cpsr &= ~(1<<6 | 1<<7); /* enable irq & fiq */ cpsr = set_cpsr(cpsr); printk("starting kernel...\n"); printk("starting timer1...\n"); avic_init_irq((void *)0x80000000, 128); mxs_enable_fiq_functionality(1); icoll_unmask_irq(timer_irq); start_timer(0, 0, 0, 0); waitMsec(1000); printk("CPSR: [%08X]\n", getcpsr()); getr(reg); for(i=0; i<16; i++){ printk("register [%d]: [%X]\n", i, reg[i]); } printk("Hello World!\n"); while(1) { printk("E"); waitMsec(1000); } return 0; }
void __init mx23_irq_init(void) { avic_init_irq(IO_ADDRESS(ICOLL_PHYS_ADDR), ARCH_NR_IRQS); }