4 /** Fosc is crystal oscilator / resonator
\r
5 * If is not defined, is used 14,745MHz nominal oscilator (CTU DRAGONS LPC BOARD )
\r
7 #ifndef FOSC // FIXME: rename to CPU_REF_HZ
\r
12 /** If memory is in RAM, it must be defined! Otherwise is defined MEM_FLASH
\r
13 * This is important for MAM module.
\r
20 /// Absolute minimum and maximum ratings
\r
21 #define FCCO_MIN 156000 // internal minimal clock
\r
22 #define FCCO_MAX 320000 // internal maximal clock
\r
23 #define CCLK_MIN 10000 // processor minimal clock
\r
24 #define CCLK_MAX 60000 // processor maximal clock
\r
27 /// PLL Available multiplicators
\r
36 /// PLL Available divisors
\r
40 #define PLL_DIV_16 16
\r
43 #define PLL_MODE_DISABLE 1
\r
44 #define PLL_MODE_ENABLE 0
\r
47 #define MAM_OFF 0 // MAM functions disabled
\r
48 #define MAM_PARTIAL 1 // MAM functions partially enabled
\r
49 #define MAM_FULL 2 // MAM functions fully enabled
\r
63 void wait(void); // in future this should be deleted
\r
67 /** deb_led controls system debug leds
\r
68 * @param leds LED value
\r
70 void deb_led(char leds);
\r
72 /** Enables PLL for higher Fosc values
\r
73 * @return 0 or #ERANGE
\r
74 * @param mul PLL multiplicator
\r
75 * @param div PLL divider
\r
76 * @param disable disables PLL
\r
78 unsigned char init_PLL(char mul,char div, char mode);
\r
80 /** get_sys_speed returns actual speed of Cclk (proc. frequency) in kHz
\r
82 unsigned int get_sys_speed(void);
\r
85 /** Setup MAM module
\r
86 * @return 0 or ERANGE
\r
87 * @param mode MAM mode
\r
89 unsigned char init_MAM(char mode);
\r
91 /** Sets APB divisor
\r
93 * @note VPB = APB - name conflict FIXME
\r
94 * @param div divisor of APB
\r
96 unsigned char set_APB(char div);
\r
98 /** Returns actual speed of APB (peripheral frequency) in kHz
\r
99 * @note VPB = APB - name conflict FIXME
\r
101 unsigned int get_apb_speed(void);
\r