ext_wd_drv.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef __EXT_WD_DRV_H
  2. #define __EXT_WD_DRV_H
  3. #include <linux/types.h>
  4. #include <linux/kthread.h> /*define NR_CPUS*/
  5. #include <mach/wd_api.h>
  6. /* direct api */
  7. int mtk_wdt_request_mode_set(int mark_bit, WD_REQ_MODE mode);
  8. int mtk_wdt_request_en_set(int mark_bit, WD_REQ_CTL en);
  9. void wdt_arch_reset(char mode);
  10. void mtk_wdt_restart(enum wd_restart_type type);
  11. void mtk_wdt_mode_config(bool dual_mode_en, bool irq, bool ext_en, bool ext_pol, bool wdt_en);
  12. void mtk_wdt_set_time_out_value(unsigned int value);
  13. int mtk_wdt_confirm_hwreboot(void);
  14. int mtk_wdt_enable(enum wk_wdt_en en);
  15. void mtk_wd_resume(void);
  16. void mtk_wd_suspend(void);
  17. void wdt_dump_reg(void);
  18. /* used for extend request */
  19. /* 0x10000000 for ddr reseved mode */
  20. /* 0x20000000 for 75 irq or reboot mode */
  21. int mtk_wdt_swsysret_config(int bit, int set_value);
  22. int mtk_rgu_dram_reserved(int enable);
  23. /* direct api */
  24. int mpcore_wk_wdt_config(int reserved, int reserved2, int timeout_val);
  25. int mpcore_wdt_restart(WD_RES_TYPE type);
  26. int local_wdt_enable(enum wk_wdt_en en);
  27. /* used for extend request */
  28. int mtk_local_wdt_misc_config(int bit, int set_value, int *reserved);
  29. void mpcore_wk_wdt_stop(void);
  30. #if NR_CPUS == 1
  31. #define nr_cpu_ids 1
  32. #else
  33. extern int nr_cpu_ids;
  34. #endif
  35. #define __ENABLE_WDT_SYSFS__
  36. #ifdef __ENABLE_WDT_SYSFS__
  37. #include <linux/proc_fs.h>
  38. #include <linux/sysfs.h>
  39. /*---------------------------------------------------------------------------*/
  40. /*define sysfs entry for configuring debug level and sysrq*/
  41. ssize_t mtk_rgu_attr_show(struct kobject *kobj, struct attribute *attr, char *buffer);
  42. ssize_t mtk_rgu_attr_store(struct kobject *kobj, struct attribute *attr, const char *buffer,
  43. size_t size);
  44. ssize_t mtk_rgu_pause_wdt_show(struct kobject *kobj, char *page);
  45. ssize_t mtk_rgu_pause_wdt_store(struct kobject *kobj, const char *page, size_t size);
  46. #endif
  47. /* end */
  48. #endif