secgpio_dvs.h 869 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * secgpio_dvs.h -- Samsung GPIO debugging and verification system
  3. */
  4. #ifndef __SECGPIO_DVS_H
  5. #define __SECGPIO_DVS_H
  6. #include <linux/types.h>
  7. enum gdvs_phone_status {
  8. PHONE_INIT = 0,
  9. PHONE_SLEEP,
  10. GDVS_PHONE_STATUS_MAX
  11. };
  12. enum gdvs_io_value {
  13. GDVS_IO_FUNC = 0x00,
  14. GDVS_IO_IN,
  15. GDVS_IO_OUT,
  16. };
  17. enum gdvs_pupd_value {
  18. GDVS_PUPD_NP = 0x00,
  19. GDVS_PUPD_PD,
  20. GDVS_PUPD_PU,
  21. GDVS_PUPD_KEEPER,
  22. GDVS_PUPD_ERR = 0x3F
  23. };
  24. struct gpiomap_result {
  25. unsigned char *init;
  26. unsigned char *sleep;
  27. };
  28. struct gpio_dvs_t {
  29. struct gpiomap_result *result;
  30. unsigned int count;
  31. bool check_sleep;
  32. void (*check_gpio_status)(unsigned char phonestate);
  33. };
  34. struct secgpio_dvs_data {
  35. struct gpio_dvs_t *gpio_dvs;
  36. };
  37. void gpio_dvs_check_initgpio(void);
  38. void gpio_dvs_check_sleepgpio(void);
  39. extern const struct secgpio_dvs_data msm_gpio_dvs_data;
  40. #endif /* __SECGPIO_DVS_H */