ccci_pmic.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef __CCCI_PMIC_H__
  2. #define __CCCI_PMIC_H__
  3. enum pmic6326_ccci_op {
  4. PMIC6326_VSIM_ENABLE = 0,
  5. PMIC6326_VSIM_SET_AND_ENABLE = 1,
  6. PMIC6236_LOCK = 2,
  7. PMIC6326_UNLOCK = 3,
  8. PMIC6326_VSIM2_ENABLE = 4,
  9. PMIC6326_VSIM2_SET_AND_ENABLE = 5,
  10. PMIC6326_MAX
  11. };
  12. enum pmic6326_ccci_type {
  13. PMIC6326_REQ = 0, /* Local side send request to remote side */
  14. PMIC6326_RES = 1 /* Remote side send response to local side */
  15. };
  16. struct pmic6326_ccci_msg {
  17. unsigned short pmic6326_op; /* Operation */
  18. unsigned short pmic6326_type; /* message type: Request or Response */
  19. unsigned short pmic6326_param1;
  20. unsigned short pmic6326_param2;
  21. };
  22. struct pmic6326_ccci_msg_info {
  23. unsigned int pmic6326_exec_time; /* Operation execution time (In ms) */
  24. unsigned short pmic6326_param1;
  25. unsigned short pmic6326_param2;
  26. };
  27. /*
  28. PMIC share memory
  29. (MSB) (LSB)
  30. | 1 byte | 1 byte | 1 byte | 1 byte |
  31. Param2 Param1 Type Op
  32. | 1 byte | 1 byte | 2 bytes |
  33. Param2 Param1 Exec_time
  34. */
  35. struct pmic6326_share_mem_info {
  36. pmic6326_ccci_msg ccci_msg;
  37. pmic6326_ccci_msg_info ccci_msg_info;
  38. };
  39. struct shared_mem_pmic_t {
  40. struct pmic6326_ccci_msg ccci_msg;
  41. struct pmic6326_ccci_msg_info ccci_msg_info;
  42. };
  43. int __init ccci_pmic_init(void);
  44. void __exit ccci_pmic_exit(void);
  45. #define CCCI_PMIC_SMEM_SIZE sizeof(struct shared_mem_pmic_t)
  46. #endif /* __CCCI_PMIC_H__ */