summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/system-imx31.c')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/system-imx31.c93
1 files changed, 93 insertions, 0 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-imx31.c b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
new file mode 100644
index 0000000000..544ae3afe6
--- /dev/null
+++ b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
@@ -0,0 +1,93 @@
1#include "kernel.h"
2#include "system.h"
3#include "panic.h"
4#include "mmu-imx31.h"
5#include "system-target.h"
6#include "lcd.h"
7#include "serial-imx31.h"
8#include "debug.h"
9
10int system_memory_guard(int newmode)
11{
12 (void)newmode;
13 return 0;
14}
15
16extern void timer4(void);
17extern void dma0(void); /* free */
18extern void dma1(void);
19extern void dma3(void);
20
21void irq_handler(void)
22{
23}
24
25#ifdef BOOTLOADER
26void fiq_handler(void)
27{
28}
29#endif
30
31void system_reboot(void)
32{
33}
34
35void system_init(void)
36{
37}
38
39inline void dumpregs(void)
40{
41 asm volatile ("mov %0,r0\n\t"
42 "mov %1,r1\n\t"
43 "mov %2,r2\n\t"
44 "mov %3,r3":
45 "=r"(regs.r0),"=r"(regs.r1),
46 "=r"(regs.r2),"=r"(regs.r3):);
47
48 asm volatile ("mov %0,r4\n\t"
49 "mov %1,r5\n\t"
50 "mov %2,r6\n\t"
51 "mov %3,r7":
52 "=r"(regs.r4),"=r"(regs.r5),
53 "=r"(regs.r6),"=r"(regs.r7):);
54
55 asm volatile ("mov %0,r8\n\t"
56 "mov %1,r9\n\t"
57 "mov %2,r10\n\t"
58 "mov %3,r12":
59 "=r"(regs.r8),"=r"(regs.r9),
60 "=r"(regs.r10),"=r"(regs.r11):);
61
62 asm volatile ("mov %0,r12\n\t"
63 "mov %1,sp\n\t"
64 "mov %2,lr\n\t"
65 "mov %3,pc\n"
66 "sub %3,%3,#8":
67 "=r"(regs.r12),"=r"(regs.sp),
68 "=r"(regs.lr),"=r"(regs.pc):);
69#ifdef HAVE_SERIAL
70 dprintf("Register Dump :\n");
71 dprintf("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs.r0,regs.r1,regs.r2,regs.r3);
72 dprintf("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs.r4,regs.r5,regs.r6,regs.r7);
73 dprintf("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs.r8,regs.r9,regs.r10,regs.r11);
74 dprintf("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs.r12,regs.sp,regs.lr,regs.pc);
75 //dprintf("CPSR=0x%x\t\n",regs.cpsr);
76#endif
77 DEBUGF("Register Dump :\n");
78 DEBUGF("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs.r0,regs.r1,regs.r2,regs.r3);
79 DEBUGF("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs.r4,regs.r5,regs.r6,regs.r7);
80 DEBUGF("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs.r8,regs.r9,regs.r10,regs.r11);
81 DEBUGF("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs.r12,regs.sp,regs.lr,regs.pc);
82 //DEBUGF("CPSR=0x%x\t\n",regs.cpsr);
83
84 }
85
86#ifdef HAVE_ADJUSTABLE_CPU_FREQ
87
88void set_cpu_frequency(long frequency)
89{
90 (void)freqency;
91}
92
93#endif