core.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. * Copyright (c) 2014 MediaTek Inc.
  3. * Author: Flora Fu <flora.fu@mediatek.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. */
  14. #ifndef __MFD_MT6397_CORE_H__
  15. #define __MFD_MT6397_CORE_H__
  16. enum PMIC_INT_CON_GRP {
  17. GRP_INT_CON0 = 0,
  18. GRP_INT_CON1,
  19. MT6397_IRQ_GROUP_NR,
  20. };
  21. enum PMIC_INT_STATUS_GRP {
  22. GRP_INT_STATUS0 = 0,
  23. GRP_INT_STATUS1,
  24. MT6397_IRQ_STATUS_GROUP_NR,
  25. };
  26. enum PMIC_INT_STATUS {
  27. RG_INT_STATUS_SPKL_AB = 0,
  28. RG_INT_STATUS_SPKR_AB,
  29. RG_INT_STATUS_SPKL,
  30. RG_INT_STATUS_SPKR,
  31. RG_INT_STATUS_BAT_L,
  32. RG_INT_STATUS_BAT_H,
  33. RG_INT_STATUS_FG_BAT_L,
  34. RG_INT_STATUS_FG_BAT_H,
  35. RG_INT_STATUS_WATCHDOG,
  36. RG_INT_STATUS_PWRKEY,
  37. RG_INT_STATUS_THR_L,
  38. RG_INT_STATUS_THR_H,
  39. RG_INT_STATUS_VBATON_UNDET,
  40. RG_INT_STATUS_BVALID_DET,
  41. RG_INT_STATUS_CHRDET,
  42. RG_INT_STATUS_OV,
  43. RG_INT_STATUS_LDO,
  44. RG_INT_STATUS_HOMEKEY,
  45. RG_INT_STATUS_ACCDET,
  46. RG_INT_STATUS_AUDIO,
  47. RG_INT_STATUS_RTC,
  48. RG_INT_STATUS_PWRKEY_RSTB,
  49. RG_INT_STATUS_HDMI_SIFM,
  50. RG_INT_STATUS_HDMI_CEC,
  51. RG_INT_STATUS_VCA15,
  52. RG_INT_STATUS_VSRMCA15,
  53. RG_INT_STATUS_VCORE,
  54. RG_INT_STATUS_VGPU,
  55. RG_INT_STATUS_VIO18,
  56. RG_INT_STATUS_VPCA7,
  57. RG_INT_STATUS_VSRMCA7,
  58. RG_INT_STATUS_VDRM,
  59. MT6397_IRQ_NR,
  60. };
  61. struct mt6397_chip {
  62. struct device *dev;
  63. struct regmap *regmap;
  64. struct irq_domain *irq_domain;
  65. struct mutex irqlock;
  66. int irq;
  67. u16 irq_masks_cur[MT6397_IRQ_GROUP_NR];
  68. u16 irq_masks_cache[MT6397_IRQ_GROUP_NR];
  69. };
  70. #endif /* __MFD_MT6397_CORE_H__ */