qti_power_supply.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2020 The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef __QTI_POWER_SUPPLY_H_
  7. #define __QTI_POWER_SUPPLY_H_
  8. #define QTI_POWER_SUPPLY_TYPE_USB_HVDCP 20
  9. #define QTI_POWER_SUPPLY_TYPE_USB_HVDCP_3 21
  10. #define QTI_POWER_SUPPLY_TYPE_USB_HVDCP_3P5 22
  11. #define QTI_POWER_SUPPLY_TYPE_USB_FLOAT 23
  12. enum {
  13. QTI_POWER_SUPPLY_CHARGER_SEC_NONE = 0,
  14. QTI_POWER_SUPPLY_CHARGER_SEC_CP,
  15. QTI_POWER_SUPPLY_CHARGER_SEC_PL,
  16. QTI_POWER_SUPPLY_CHARGER_SEC_CP_PL,
  17. };
  18. enum {
  19. QTI_POWER_SUPPLY_CP_NONE = 0,
  20. QTI_POWER_SUPPLY_CP_HVDCP3,
  21. QTI_POWER_SUPPLY_CP_HVDCP3P5,
  22. QTI_POWER_SUPPLY_CP_PPS,
  23. QTI_POWER_SUPPLY_CP_WIRELESS,
  24. };
  25. enum {
  26. QTI_POWER_SUPPLY_CONNECTOR_TYPEC,
  27. QTI_POWER_SUPPLY_CONNECTOR_MICRO_USB,
  28. };
  29. enum {
  30. QC_CTM_DISABLE = BIT(0),
  31. QC_THERMAL_BALANCE_DISABLE = BIT(1),
  32. QC_INOV_THERMAL_DISABLE = BIT(2),
  33. };
  34. enum {
  35. QTI_POWER_SUPPLY_PD_INACTIVE = 0,
  36. QTI_POWER_SUPPLY_PD_ACTIVE,
  37. QTI_POWER_SUPPLY_PD_PPS_ACTIVE,
  38. };
  39. enum {
  40. QTI_POWER_SUPPLY_DP_DM_UNKNOWN = 0,
  41. QTI_POWER_SUPPLY_DP_DM_PREPARE = 1,
  42. QTI_POWER_SUPPLY_DP_DM_UNPREPARE = 2,
  43. QTI_POWER_SUPPLY_DP_DM_CONFIRMED_HVDCP3 = 3,
  44. QTI_POWER_SUPPLY_DP_DM_DP_PULSE = 4,
  45. QTI_POWER_SUPPLY_DP_DM_DM_PULSE = 5,
  46. QTI_POWER_SUPPLY_DP_DM_DP0P6_DMF = 6,
  47. QTI_POWER_SUPPLY_DP_DM_DP0P6_DM3P3 = 7,
  48. QTI_POWER_SUPPLY_DP_DM_DPF_DMF = 8,
  49. QTI_POWER_SUPPLY_DP_DM_DPR_DMR = 9,
  50. QTI_POWER_SUPPLY_DP_DM_HVDCP3_SUPPORTED = 10,
  51. QTI_POWER_SUPPLY_DP_DM_ICL_DOWN = 11,
  52. QTI_POWER_SUPPLY_DP_DM_ICL_UP = 12,
  53. QTI_POWER_SUPPLY_DP_DM_FORCE_5V = 13,
  54. QTI_POWER_SUPPLY_DP_DM_FORCE_9V = 14,
  55. QTI_POWER_SUPPLY_DP_DM_FORCE_12V = 15,
  56. QTI_POWER_SUPPLY_DP_DM_CONFIRMED_HVDCP3P5 = 16,
  57. };
  58. /* Indicates USB Type-C CC connection status */
  59. enum power_supply_typec_mode {
  60. QTI_POWER_SUPPLY_TYPEC_NONE,
  61. /* Acting as source */
  62. QTI_POWER_SUPPLY_TYPEC_SINK, /* Rd only */
  63. QTI_POWER_SUPPLY_TYPEC_SINK_POWERED_CABLE, /* Rd/Ra */
  64. QTI_POWER_SUPPLY_TYPEC_SINK_DEBUG_ACCESSORY,/* Rd/Rd */
  65. QTI_POWER_SUPPLY_TYPEC_SINK_AUDIO_ADAPTER, /* Ra/Ra */
  66. QTI_POWER_SUPPLY_TYPEC_POWERED_CABLE_ONLY, /* Ra only */
  67. /* Acting as sink */
  68. QTI_POWER_SUPPLY_TYPEC_SOURCE_DEFAULT, /* Rp default */
  69. QTI_POWER_SUPPLY_TYPEC_SOURCE_MEDIUM, /* Rp 1.5A */
  70. QTI_POWER_SUPPLY_TYPEC_SOURCE_HIGH, /* Rp 3A */
  71. QTI_POWER_SUPPLY_TYPEC_NON_COMPLIANT,
  72. };
  73. enum power_supply_typec_src_rp {
  74. QTI_POWER_SUPPLY_TYPEC_SRC_RP_STD,
  75. QTI_POWER_SUPPLY_TYPEC_SRC_RP_1P5A,
  76. QTI_POWER_SUPPLY_TYPEC_SRC_RP_3A
  77. };
  78. /* Parallel output connection topology */
  79. enum {
  80. QTI_POWER_SUPPLY_PL_OUTPUT_NONE,
  81. QTI_POWER_SUPPLY_PL_OUTPUT_VPH,
  82. QTI_POWER_SUPPLY_PL_OUTPUT_VBAT,
  83. };
  84. enum {
  85. QTI_POWER_SUPPLY_PL_NONE,
  86. QTI_POWER_SUPPLY_PL_USBIN_USBIN,
  87. QTI_POWER_SUPPLY_PL_USBIN_USBIN_EXT,
  88. QTI_POWER_SUPPLY_PL_USBMID_USBMID,
  89. };
  90. enum {
  91. QTI_POWER_SUPPLY_PL_STACKED_BATFET,
  92. QTI_POWER_SUPPLY_PL_NON_STACKED_BATFET,
  93. };
  94. enum power_supply_typec_power_role {
  95. QTI_POWER_SUPPLY_TYPEC_PR_NONE, /* CC lines in high-Z */
  96. QTI_POWER_SUPPLY_TYPEC_PR_DUAL,
  97. QTI_POWER_SUPPLY_TYPEC_PR_SINK,
  98. QTI_POWER_SUPPLY_TYPEC_PR_SOURCE,
  99. };
  100. #endif /* __QTI_POWER_SUPPLY_H_ */