clock.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef _CLOCK_H
  2. #define _CLOCK_H
  3. #define PLL_MULT(x) ((x-1)&0x7fff)
  4. #define PLL_PREDIV(x) (((x-1)<<16)&0xff0000)
  5. #define CCLK_DIV(x) ((x-1)&0xff)
  6. #define CLKSRC_MAINOSC (1)
  7. #define PLLE0 (1<<0)
  8. #define PLLC0 (1<<1)
  9. #define PLOCK0 (1<<26)
  10. #define OSCEN (1<<5)
  11. #define OSCSTAT (1<<6)
  12. #define FLASHTIM(x) (((x-1)<<12)|0x3A)
  13. #define PCLK_CCLK(x) (1<<(x))
  14. #define PCLK_CCLK4(x) (0)
  15. #define PCLK_CCLK8(x) (3<<(x))
  16. #define PCLK_CCLK2(x) (2<<(x))
  17. /* shift values for use with PCLKSEL0 */
  18. #define PCLK_WDT (0)
  19. #define PCLK_TIMER0 (2)
  20. #define PCLK_TIMER1 (4)
  21. #define PCLK_UART0 (6)
  22. #define PCLK_UART1 (8)
  23. #define PCLK_PWM1 (12)
  24. #define PCLK_I2C0 (14)
  25. #define PCLK_SPI (16)
  26. #define PCLK_SSP1 (20)
  27. #define PCLK_DAC (22)
  28. #define PCLK_ADC (24)
  29. #define PCLK_CAN1 (26)
  30. #define PCLK_CAN2 (28)
  31. #define PCLK_ACF (30)
  32. /* shift values for use with PCLKSEL1 */
  33. #define PCLK_QEI (0)
  34. #define PCLK_GPIOINT (2)
  35. #define PCLK_PCB (4)
  36. #define PCLK_I2C1 (6)
  37. #define PCLK_SSP0 (10)
  38. #define PCLK_TIMER2 (12)
  39. #define PCLK_TIMER3 (14)
  40. #define PCLK_UART2 (16)
  41. #define PCLK_UART3 (18)
  42. #define PCLK_I2C2 (20)
  43. #define PCLK_I2S (22)
  44. #define PCLK_RIT (26)
  45. #define PCLK_SYSCON (28)
  46. #define PCLK_MC (30)
  47. void clock_disconnect( void );
  48. void clock_init( void );
  49. void setFlashAccessTime( uint8_t clocks );
  50. void setPLL0MultPrediv( uint16_t mult, uint8_t prediv );
  51. void enablePLL0( void );
  52. void disablePLL0( void );
  53. void connectPLL0( void );
  54. void disconnectPLL0( void );
  55. void setCCLKDiv( uint8_t div );
  56. void enableMainOsc( void );
  57. void disableMainOsc( void );
  58. void PLL0feed( void );
  59. void setClkSrc( uint8_t src );
  60. #endif