4 #include "avic-imx31.h"
5 #include "gpio-imx31.h"
7 #include "system-target.h"
9 #include "serial-imx31.h"
12 int system_memory_guard(int newmode
)
18 void system_reboot(void)
22 void system_init(void)
24 /* MCR WFI enables wait mode */
25 CLKCTL_CCMR
&= ~(3 << 14);
30 void imx31_regmod32(volatile uint32_t *reg_p
, uint32_t value
, uint32_t mask
)
35 int oldlevel
= disable_interrupt_save(IRQ_FIQ_STATUS
);
36 *reg_p
= (*reg_p
& mask
) | value
;
37 restore_interrupt(oldlevel
);
41 void system_prepare_fw_start(void)
43 disable_interrupt(IRQ_FIQ_STATUS
);
44 avic_disable_int(ALL
);
49 inline void dumpregs(void)
51 asm volatile ("mov %0,r0\n\t"
55 "=r"(regs
.r0
),"=r"(regs
.r1
),
56 "=r"(regs
.r2
),"=r"(regs
.r3
):);
58 asm volatile ("mov %0,r4\n\t"
62 "=r"(regs
.r4
),"=r"(regs
.r5
),
63 "=r"(regs
.r6
),"=r"(regs
.r7
):);
65 asm volatile ("mov %0,r8\n\t"
69 "=r"(regs
.r8
),"=r"(regs
.r9
),
70 "=r"(regs
.r10
),"=r"(regs
.r11
):);
72 asm volatile ("mov %0,r12\n\t"
77 "=r"(regs
.r12
),"=r"(regs
.sp
),
78 "=r"(regs
.lr
),"=r"(regs
.pc
):);
80 dprintf("Register Dump :\n");
81 dprintf("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs
.r0
,regs
.r1
,regs
.r2
,regs
.r3
);
82 dprintf("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs
.r4
,regs
.r5
,regs
.r6
,regs
.r7
);
83 dprintf("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs
.r8
,regs
.r9
,regs
.r10
,regs
.r11
);
84 dprintf("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs
.r12
,regs
.sp
,regs
.lr
,regs
.pc
);
85 //dprintf("CPSR=0x%x\t\n",regs.cpsr);
87 DEBUGF("Register Dump :\n");
88 DEBUGF("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs
.r0
,regs
.r1
,regs
.r2
,regs
.r3
);
89 DEBUGF("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs
.r4
,regs
.r5
,regs
.r6
,regs
.r7
);
90 DEBUGF("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs
.r8
,regs
.r9
,regs
.r10
,regs
.r11
);
91 DEBUGF("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs
.r12
,regs
.sp
,regs
.lr
,regs
.pc
);
92 //DEBUGF("CPSR=0x%x\t\n",regs.cpsr);
96 #ifdef HAVE_ADJUSTABLE_CPU_FREQ
98 void set_cpu_frequency(long frequency
)