00001
00006 #include "sceptre.h"
00007
00008
00012 void target_init(void)
00013 {
00014 PINSEL2 &= ~(1UL<<3);
00015
00016 MEMMAP = 0x1;
00017
00018
00019 PLLCON = 1;
00020 #if (Fpclk / (Fcclk / 4)) == 1
00021 VPBDIV = 0;
00022 #endif
00023 #if (Fpclk / (Fcclk / 4)) == 2
00024 VPBDIV = 2;
00025 #endif
00026 #if (Fpclk / (Fcclk / 4)) == 4
00027 VPBDIV = 1;
00028 #endif
00029
00030 #if (Fcco / Fcclk) == 2
00031 PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
00032 #endif
00033 #if (Fcco / Fcclk) == 4
00034 PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
00035 #endif
00036 #if (Fcco / Fcclk) == 8
00037 PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
00038 #endif
00039 #if (Fcco / Fcclk) == 16
00040 PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
00041 #endif
00042 PLLFEED = 0xaa;
00043 PLLFEED = 0x55;
00044 while ((PLLSTAT & (1 << 10)) == 0);
00045 PLLCON = 3;
00046 PLLFEED = 0xaa;
00047 PLLFEED = 0x55;
00048
00049
00050 MAMCR = 0;
00051 #if Fcclk < 20000000
00052 MAMTIM = 1;
00053 #else
00054 #if Fcclk < 40000000
00055 MAMTIM = 2;
00056 #else
00057 MAMTIM = 3;
00058 #endif
00059 #endif
00060 MAMCR = 2;
00061
00062
00063 }