mt_spm_mtcmos.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #ifndef _MT_SPM_MTCMOS_
  2. #define _MT_SPM_MTCMOS_
  3. #include <linux/kernel.h>
  4. #define STA_POWER_DOWN 0
  5. #define STA_POWER_ON 1
  6. /*
  7. * 1. for CPU MTCMOS: CPU0, CPU1, CPU2, CPU3, DBG0, CPU4, CPU5, CPU6, CPU7, DBG1, CPUSYS1
  8. * 2. call spm_mtcmos_cpu_lock/unlock() before/after any operations
  9. */
  10. extern int spm_mtcmos_cpu_init(void);
  11. extern void spm_mtcmos_cpu_lock(unsigned long *flags);
  12. extern void spm_mtcmos_cpu_unlock(unsigned long *flags);
  13. extern int spm_mtcmos_ctrl_cpu(unsigned int cpu, int state, int chkWfiBeforePdn);
  14. extern int spm_mtcmos_ctrl_cpu0(int state, int chkWfiBeforePdn);
  15. extern int spm_mtcmos_ctrl_cpu1(int state, int chkWfiBeforePdn);
  16. extern int spm_mtcmos_ctrl_cpu2(int state, int chkWfiBeforePdn);
  17. extern int spm_mtcmos_ctrl_cpu3(int state, int chkWfiBeforePdn);
  18. extern int spm_mtcmos_ctrl_cpu4(int state, int chkWfiBeforePdn);
  19. extern int spm_mtcmos_ctrl_cpu5(int state, int chkWfiBeforePdn);
  20. extern int spm_mtcmos_ctrl_cpu6(int state, int chkWfiBeforePdn);
  21. extern int spm_mtcmos_ctrl_cpu7(int state, int chkWfiBeforePdn);
  22. extern int spm_mtcmos_ctrl_dbg0(int state);
  23. extern int spm_mtcmos_ctrl_cpusys0(int state, int chkWfiBeforePdn);
  24. extern int spm_mtcmos_ctrl_cpusys1(int state, int chkWfiBeforePdn);
  25. extern bool spm_cpusys0_can_power_down(void);
  26. extern bool spm_cpusys1_can_power_down(void);
  27. extern void spm_mtcmos_ctrl_cpusys1_init_1st_bring_up(int state);
  28. /*
  29. * 1. for non-CPU MTCMOS: VDEC, VENC, ISP, DISP, MFG, INFRA, DDRPHY, MDSYS1, MDSYS2
  30. * 2. call spm_mtcmos_noncpu_lock/unlock() before/after any operations
  31. */
  32. /* extern void spm_mtcmos_noncpu_lock(unsigned long *flags); */
  33. /* extern void spm_mtcmos_noncpu_unlock(unsigned long *flags); */
  34. extern int spm_mtcmos_ctrl_vdec(int state);
  35. extern int spm_mtcmos_ctrl_venc(int state);
  36. extern int spm_mtcmos_ctrl_isp(int state);
  37. extern int spm_mtcmos_ctrl_disp(int state);
  38. extern int spm_mtcmos_ctrl_mfg(int state);
  39. /* extern int spm_mtcmos_ctrl_mfg_ASYNC(int state); */
  40. /* extern int spm_mtcmos_ctrl_mjc(int state); */
  41. /* extern int spm_mtcmos_ctrl_aud(int state); */
  42. /* extern int spm_mtcmos_ctrl_infra(int state); */
  43. /* extern int spm_mtcmos_ctrl_ddrphy(int state); */
  44. extern int spm_mtcmos_ctrl_mdsys1(int state);
  45. extern int spm_mtcmos_ctrl_mdsys2(int state);
  46. extern int spm_mtcmos_ctrl_connsys(int state);
  47. extern int spm_topaxi_prot(int bit, int en);
  48. #endif