78 lines
1.7 KiB
C
78 lines
1.7 KiB
C
#ifndef _CLOCK_H
|
|
#define _CLOCK_H
|
|
|
|
#define PLL_MULT(x) ((x-1)&0x7fff)
|
|
#define PLL_PREDIV(x) (((x-1)<<16)&0xff0000)
|
|
#define CCLK_DIV(x) ((x-1)&0xff)
|
|
#define CLKSRC_MAINOSC (1)
|
|
#define PLLE0 (1<<0)
|
|
#define PLLC0 (1<<1)
|
|
#define PLOCK0 (1<<26)
|
|
#define OSCEN (1<<5)
|
|
#define OSCSTAT (1<<6)
|
|
#define FLASHTIM(x) (((x-1)<<12)|0x3A)
|
|
|
|
#define PCLK_CCLK(x) (1<<(x))
|
|
#define PCLK_CCLK4(x) (0)
|
|
#define PCLK_CCLK8(x) (3<<(x))
|
|
#define PCLK_CCLK2(x) (2<<(x))
|
|
|
|
/* shift values for use with PCLKSEL0 */
|
|
#define PCLK_WDT (0)
|
|
#define PCLK_TIMER0 (2)
|
|
#define PCLK_TIMER1 (4)
|
|
#define PCLK_UART0 (6)
|
|
#define PCLK_UART1 (8)
|
|
#define PCLK_PWM1 (12)
|
|
#define PCLK_I2C0 (14)
|
|
#define PCLK_SPI (16)
|
|
#define PCLK_SSP1 (20)
|
|
#define PCLK_DAC (22)
|
|
#define PCLK_ADC (24)
|
|
#define PCLK_CAN1 (26)
|
|
#define PCLK_CAN2 (28)
|
|
#define PCLK_ACF (30)
|
|
|
|
/* shift values for use with PCLKSEL1 */
|
|
#define PCLK_QEI (0)
|
|
#define PCLK_GPIOINT (2)
|
|
#define PCLK_PCB (4)
|
|
#define PCLK_I2C1 (6)
|
|
#define PCLK_SSP0 (10)
|
|
#define PCLK_TIMER2 (12)
|
|
#define PCLK_TIMER3 (14)
|
|
#define PCLK_UART2 (16)
|
|
#define PCLK_UART3 (18)
|
|
#define PCLK_I2C2 (20)
|
|
#define PCLK_I2S (22)
|
|
#define PCLK_RIT (26)
|
|
#define PCLK_SYSCON (28)
|
|
#define PCLK_MC (30)
|
|
|
|
void clock_disconnect( void );
|
|
|
|
void clock_init( void );
|
|
|
|
void setFlashAccessTime( uint8_t clocks );
|
|
|
|
void setPLL0MultPrediv( uint16_t mult, uint8_t prediv );
|
|
|
|
void enablePLL0( void );
|
|
|
|
void disablePLL0( void );
|
|
|
|
void connectPLL0( void );
|
|
|
|
void disconnectPLL0( void );
|
|
|
|
void setCCLKDiv( uint8_t div );
|
|
|
|
void enableMainOsc( void );
|
|
|
|
void disableMainOsc( void );
|
|
|
|
void PLL0feed( void );
|
|
|
|
void setClkSrc( uint8_t src );
|
|
#endif
|