voutpmic.h 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #define PMIC_JH7110_51MCU_I2C_SLAVE_REG_BASE 0x80
  2. #define PMIC_JH7110_51MCU_I2C_SLAVE_REG_END 0x90
  3. #define POWER_SW_0_REG (0x00+PMIC_JH7110_51MCU_I2C_SLAVE_REG_BASE)
  4. #define POWER_SW_0_VDD18_HDMI 0
  5. #define POWER_SW_0_VDD18_MIPITX 1
  6. #define POWER_SW_0_VDD18_MIPIRX 2
  7. #define POWER_SW_0_VDD09_HDMI 3
  8. #define POWER_SW_0_VDD09_MIPITX 4
  9. #define POWER_SW_0_VDD09_MIPIRX 5
  10. #define POWER_SW_1_REG (0x01+PMIC_JH7110_51MCU_I2C_SLAVE_REG_BASE)
  11. #define POWER_SW_1_VDD1833_SD0_18 0
  12. #define BIT(x) (1UL<<(x))
  13. typedef enum {
  14. PMU_DOMAIN_SYSTOP = BIT(0),
  15. PMU_DOMAIN_CPU = BIT(1),
  16. PMU_DOMAIN_GPUA = BIT(2),
  17. PMU_DOMAIN_VDEC = BIT(3),
  18. PMU_DOMAIN_VOUT = BIT(4),
  19. PMU_DOMAIN_ISP = BIT(5),
  20. PMU_DOMAIN_VENC = BIT(6),
  21. PMU_DOMAIN_ALL = (PMU_DOMAIN_SYSTOP|PMU_DOMAIN_CPU|PMU_DOMAIN_GPUA|PMU_DOMAIN_VDEC \
  22. |PMU_DOMAIN_VOUT|PMU_DOMAIN_ISP|PMU_DOMAIN_VENC),
  23. PMU_DOMAIN_PMIC_VDD18_HDMI = BIT(16),
  24. PMU_DOMAIN_PMIC_VDD18_MIPITX = BIT(17),
  25. PMU_DOMAIN_PMIC_VDD18_MIPIRX = BIT(18),
  26. PMU_DOMAIN_PMIC_VDD09_HDMI = BIT(19),
  27. PMU_DOMAIN_PMIC_VDD09_MIPITX = BIT(20),
  28. PMU_DOMAIN_PMIC_VDD09_MIPIRX = BIT(21),
  29. PMU_DOMAIN_PMIC_VDD1833_SD0_18 = BIT(22),
  30. PMU_DOMAIN_PMIC_ALL = (PMU_DOMAIN_PMIC_VDD18_HDMI|PMU_DOMAIN_PMIC_VDD18_MIPITX|PMU_DOMAIN_PMIC_VDD18_MIPIRX \
  31. |PMU_DOMAIN_PMIC_VDD09_HDMI|PMU_DOMAIN_PMIC_VDD09_MIPITX|PMU_DOMAIN_PMIC_VDD09_MIPIRX \
  32. |PMU_DOMAIN_PMIC_VDD1833_SD0_18),
  33. } sys_pmu_domain_t;
  34. enum pmic_domain {
  35. PMIC_DOMAIN_0 = 0,
  36. PMIC_DOMAIN_1 = 1,
  37. PMIC_DOMAIN_2 = 2,
  38. PMIC_DOMAIN_3 = 3,
  39. PMIC_DOMAIN_4 = 4,
  40. PMIC_DOMAIN_5 = 5,
  41. PMIC_DOMAIN_6 = 6,
  42. PMIC_DOMAIN_7 = 7,
  43. PMIC_DOMAIN_8 = 8,
  44. PMIC_DOMAIN_9 = 9,
  45. PMIC_DOMAIN_10 = 10,
  46. PMIC_DOMAIN_11 = 11,
  47. PMIC_DOMAIN_12 = 12,
  48. PMIC_DOMAIN_13 = 13,
  49. PMIC_DOMAIN_14 = 14,
  50. PMIC_DOMAIN_15 = 15,
  51. };
  52. static struct {
  53. int pmu_dom;
  54. int pmic_dom;
  55. } pmu_pmic_table[] = {
  56. { PMU_DOMAIN_PMIC_VDD18_HDMI, PMIC_DOMAIN_0 },
  57. { PMU_DOMAIN_PMIC_VDD18_MIPITX, PMIC_DOMAIN_1 },
  58. { PMU_DOMAIN_PMIC_VDD18_MIPIRX, PMIC_DOMAIN_2 },
  59. { PMU_DOMAIN_PMIC_VDD09_HDMI, PMIC_DOMAIN_3 },
  60. { PMU_DOMAIN_PMIC_VDD09_MIPITX, PMIC_DOMAIN_4 },
  61. { PMU_DOMAIN_PMIC_VDD09_MIPIRX, PMIC_DOMAIN_5 },
  62. { PMU_DOMAIN_PMIC_VDD1833_SD0_18, PMIC_DOMAIN_6 },
  63. };
  64. enum pmic_switch {
  65. PMIC_SWITCH_OFF,
  66. PMIC_SWITCH_ON,
  67. };