mt_clkbuf_ctl.h 801 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * @file mt_clk_buf_ctl.c
  3. * @brief Driver for RF clock buffer control
  4. */
  5. #ifndef __MT_CLK_BUF_CTL_H__
  6. #define __MT_CLK_BUF_CTL_H__
  7. #include <linux/kernel.h>
  8. #include <linux/mutex.h>
  9. enum clk_buf_id {
  10. CLK_BUF_BB_MD = 0,
  11. CLK_BUF_CONN = 1,
  12. CLK_BUF_NFC = 2,
  13. CLK_BUF_AUDIO = 3,
  14. CLK_BUF_INVALID = 4,
  15. };
  16. typedef enum {
  17. CLK_BUF_DISABLE = 0,
  18. CLOCK_BUFFER_SW_CONTROL = 1,
  19. CLOCK_BUFFER_HW_CONTROL = 2,
  20. } CLK_BUF_STATUS;
  21. typedef enum {
  22. CLK_BUF_SW_DISABLE = 0,
  23. CLK_BUF_SW_ENABLE = 1,
  24. } CLK_BUF_SWCTRL_STATUS_T;
  25. #define CLKBUF_NUM 4
  26. #define STA_CLK_ON 1
  27. #define STA_CLK_OFF 0
  28. bool clk_buf_ctrl(enum clk_buf_id id, bool onoff);
  29. void clk_buf_get_swctrl_status(CLK_BUF_SWCTRL_STATUS_T *status);
  30. bool clk_buf_init(void);
  31. extern struct mutex clk_buf_ctrl_lock;
  32. #endif