api_sysclk.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef _API_SYSCLK_H_
  2. #define _API_SYSCLK_H_
  3. enum {
  4. SYS_RC2M,
  5. SYS_RC24M,
  6. SYS_24M,
  7. SYS_48M,
  8. SYS_60M,
  9. SYS_80M,
  10. SYS_100M,
  11. SYS_120M,
  12. SYS_160M,
  13. };
  14. enum {
  15. INDEX_VOICE,
  16. INDEX_DECODE,
  17. INDEX_STACK,
  18. INDEX_KARAOK,
  19. INDEX_RES_PLAY,
  20. INDEX_ENCODE,
  21. INDEX_MUSIC,
  22. INDEX_ANC,
  23. INDEX_GFPS,
  24. INDEX_MAX_NB = 9,
  25. };
  26. uint8_t sys_clk_get_cur(void);
  27. uint8_t sys_clk_get(void); //获取主线程系统时钟
  28. bool sys_clk_set(uint8_t sys_clk); //主线程设置系统时钟
  29. bool sys_clk_req(uint8_t index, uint8_t sys_clk); //其它线程请求系统时钟,一般在库内调用,跟sys_clk_free成对使用
  30. bool sys_clk_free(uint8_t index); //其它线程释放系统时钟,一般在库内调用,跟sys_clk_req成对使用
  31. bool sys_clk_free_all(void); //释放所有请求的系统时钟,一般关机前调用
  32. u32 get_sysclk_nhz(void);
  33. void clk_xosc_dis(void);
  34. void clk_xosc_en(void);
  35. void clk_pll0_dis(void);
  36. void clk_pll0_en(void);
  37. #endif