usbpll.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:1k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __USBPLL_H
  2. #define __USBPLL_H
  3. //
  4. // USBPLL configuration
  5. //
  6. extern  set_usbpll_reg(unsigned s, unsigned ns);
  7. #define NSMN(m,n)   ((((m)-1)<<3)|(((n)-1)<<0))
  8. #define NS_30       NSMN(6,5)
  9. #define NS_25       NSMN(5,5)
  10. #define NS_18       NSMN(3,6)
  11. #define NS_16       NSMN(4,4)
  12. #define NS_9        NSMN(3,3)
  13. #define NS_8        NSMN(4,2)
  14. #define NS_4        NSMN(2,2)
  15. #define NS_2        NSMN(2,1)
  16. #define NS_1        NSMN(1,1)
  17. //
  18. // set_usbpll_reg(s,ns)     fosc/N(s) = 3mhz = fclkx2/2/M(ns)
  19. //
  20. #define set_usbpll_6mhz()   set_usbpll_reg(NS_9, NS_2)      // 27/9*2
  21. #define set_usbpll_12mhz()  set_usbpll_reg(NS_9, NS_4)      // 27/9*4
  22. #define set_usbpll_24mhz()  set_usbpll_reg(NS_9, NS_8)      // 27/9*8
  23. #define set_usbpll_48mhz()  set_usbpll_reg(NS_9, NS_16)     // 27/9*16
  24. #define set_usbpll_54mhz()  set_usbpll_reg(NS_9, NS_18)     // 27/9*18=54
  25. #define set_usbpll_75mhz()  set_usbpll_reg(NS_9, NS_25)     // 27/9*25=75
  26. #define set_usbpll_90mhz()  set_usbpll_reg(NS_9, NS_30)     // 27/9*30=90
  27. #endif/*__USBPLL_H*/