sec-battery.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. #ifndef _DT_BINDINGS_BATTERY_SEC_BATTERY_H
  2. #define _DT_BINDINGS_BATTERY_SEC_BATTERY_H
  3. #define SEC_BATTERY_CABLE_UNKNOWN 0
  4. #define SEC_BATTERY_CABLE_NONE 1
  5. #define SEC_BATTERY_CABLE_PREPARE_TA 2
  6. #define SEC_BATTERY_CABLE_TA 3
  7. #define SEC_BATTERY_CABLE_USB 4
  8. #define SEC_BATTERY_CABLE_USB_CDP 5
  9. #define SEC_BATTERY_CABLE_9V_TA 6
  10. #define SEC_BATTERY_CABLE_9V_ERR 7
  11. #define SEC_BATTERY_CABLE_9V_UNKNOWN 8
  12. #define SEC_BATTERY_CABLE_12V_TA 9
  13. #define SEC_BATTERY_CABLE_WIRELESS 10
  14. #define SEC_BATTERY_CABLE_HV_WIRELESS 11
  15. #define SEC_BATTERY_CABLE_PMA_WIRELESS 12
  16. #define SEC_BATTERY_CABLE_WIRELESS_PACK 13
  17. #define SEC_BATTERY_CABLE_WIRELESS_HV_PACK 14
  18. #define SEC_BATTERY_CABLE_WIRELESS_STAND 15
  19. #define SEC_BATTERY_CABLE_WIRELESS_HV_STAND 16
  20. #define SEC_BATTERY_CABLE_QC20 17
  21. #define SEC_BATTERY_CABLE_QC30 18
  22. #define SEC_BATTERY_CABLE_PDIC 19
  23. #define SEC_BATTERY_CABLE_UARTOFF 20
  24. #define SEC_BATTERY_CABLE_OTG 21
  25. #define SEC_BATTERY_CABLE_LAN_HUB 22
  26. #define SEC_BATTERY_CABLE_POWER_SHARING 23
  27. #define SEC_BATTERY_CABLE_HMT_CONNECTED 24
  28. #define SEC_BATTERY_CABLE_HMT_CHARGE 25
  29. #define SEC_BATTERY_CABLE_HV_TA_CHG_LIMIT 26
  30. #define SEC_BATTERY_CABLE_WIRELESS_VEHICLE 27
  31. #define SEC_BATTERY_CABLE_WIRELESS_HV_VEHICLE 28
  32. #define SEC_BATTERY_CABLE_PREPARE_WIRELESS_HV 29
  33. #define SEC_BATTERY_CABLE_TIMEOUT 30
  34. #define SEC_BATTERY_CABLE_SMART_OTG 31
  35. #define SEC_BATTERY_CABLE_SMART_NOTG 32
  36. #define SEC_BATTERY_CABLE_WIRELESS_TX 33
  37. #define SEC_BATTERY_CABLE_HV_WIRELESS_20 34
  38. #define SEC_BATTERY_CABLE_HV_WIRELESS_20_LIMIT 35
  39. #define SEC_BATTERY_CABLE_WIRELESS_FAKE 36
  40. #define SEC_BATTERY_CABLE_PREPARE_WIRELESS_20 37
  41. #define SEC_BATTERY_CABLE_PDIC_APDO 38
  42. #define SEC_BATTERY_CABLE_POGO 39
  43. #define SEC_BATTERY_CABLE_POGO_9V 40
  44. #define SEC_BATTERY_CABLE_FPDO_DC 41
  45. #define SEC_BATTERY_CABLE_WIRELESS_EPP 42
  46. #define SEC_BATTERY_CABLE_LO_TA 43
  47. #define SEC_BATTERY_CABLE_WIRELESS_EPP_NV 44
  48. #define SEC_BATTERY_CABLE_WIRELESS_EPP_FAKE 45
  49. #define SEC_BATTERY_CABLE_MAX 46
  50. /* d2d support type */
  51. #define SB_D2D_NONE 0
  52. #define SB_D2D_SNKONLY 1
  53. #define SB_D2D_SRCSNK 2
  54. /* temperature check type */
  55. #define SEC_BATTERY_TEMP_CHECK_NONE 0 /* no temperature check */
  56. #define SEC_BATTERY_TEMP_CHECK_ADC 1 /* by ADC value */
  57. #define SEC_BATTERY_TEMP_CHECK_TEMP 2 /* by temperature */
  58. #define SEC_BATTERY_TEMP_CHECK_FAKE 3 /* by a fake temperature */
  59. /* ADC type */
  60. /* NOT using this ADC channel */
  61. #define SEC_BATTERY_ADC_TYPE_NONE 0
  62. /* ADC in AP */
  63. #define SEC_BATTERY_ADC_TYPE_AP 1
  64. /* ADC by additional IC */
  65. #define SEC_BATTERY_ADC_TYPE_IC 2
  66. #define SEC_BATTERY_ADC_TYPE_NUM 3
  67. /* ADC read type */
  68. #define SEC_BATTERY_ADC_PROCESSED 0
  69. #define SEC_BATTERY_ADC_RAW 1
  70. /* thermal source */
  71. /* none */
  72. #define SEC_BATTERY_THERMAL_SOURCE_NONE 0
  73. /* by external source */
  74. #define SEC_BATTERY_THERMAL_SOURCE_CALLBACK 1
  75. /* by ADC */
  76. #define SEC_BATTERY_THERMAL_SOURCE_ADC 2
  77. /* by charger */
  78. #define SEC_BATTERY_THERMAL_SOURCE_CHG_ADC 3
  79. /* by fuel gauge */
  80. #define SEC_BATTERY_THERMAL_SOURCE_FG 4
  81. /* by fuel gauge adc */
  82. #define SEC_BATTERY_THERMAL_SOURCE_FG_ADC 5
  83. #define SEC_BATTERY_CABLE_CHECK_NOUSBCHARGE 1
  84. /* SEC_BATTERY_CABLE_CHECK_NOINCOMPATIBLECHARGE
  85. * for incompatible charger
  86. * (Not compliant to USB specification,
  87. * cable type is SEC_BATTERY_CABLE_UNKNOWN),
  88. * do NOT charge and show message to user
  89. * (only for VZW)
  90. */
  91. #define SEC_BATTERY_CABLE_CHECK_NOINCOMPATIBLECHARGE 2
  92. /* SEC_BATTERY_CABLE_CHECK_PSY
  93. * check cable by power supply set_property
  94. */
  95. #define SEC_BATTERY_CABLE_CHECK_PSY 4
  96. /* SEC_BATTERY_CABLE_CHECK_INT
  97. * check cable by interrupt
  98. */
  99. #define SEC_BATTERY_CABLE_CHECK_INT 8
  100. /* SEC_BATTERY_CABLE_CHECK_CHGINT
  101. * check cable by charger interrupt
  102. */
  103. #define SEC_BATTERY_CABLE_CHECK_CHGINT 16
  104. /* SEC_BATTERY_CABLE_CHECK_POLLING
  105. * check cable by GPIO polling
  106. */
  107. #define SEC_BATTERY_CABLE_CHECK_POLLING 32
  108. /* SEC_BATTERY_CABLE_SOURCE_EXTERNAL
  109. * already given by external argument
  110. */
  111. #define SEC_BATTERY_CABLE_SOURCE_EXTERNAL 1
  112. /* SEC_BATTERY_CABLE_SOURCE_CALLBACK
  113. * by callback (MUIC, USB switch)
  114. */
  115. #define SEC_BATTERY_CABLE_SOURCE_CALLBACK 2
  116. /* SEC_BATTERY_CABLE_SOURCE_ADC
  117. * by ADC
  118. */
  119. #define SEC_BATTERY_CABLE_SOURCE_ADC 4
  120. /* polling work queue */
  121. #define SEC_BATTERY_MONITOR_WORKQUEUE 0
  122. /* alarm polling */
  123. #define SEC_BATTERY_MONITOR_ALARM 1
  124. /* timer polling (NOT USE) */
  125. #define SEC_BATTERY_MONITOR_TIMER 2
  126. /* OVP, UVLO check : POWER_SUPPLY_PROP_HEALTH */
  127. /* by callback function */
  128. #define SEC_BATTERY_OVP_UVLO_CALLBACK 0
  129. /* by PMIC polling */
  130. #define SEC_BATTERY_OVP_UVLO_PMICPOLLING 1
  131. /* by PMIC interrupt */
  132. #define SEC_BATTERY_OVP_UVLO_PMICINT 2
  133. /* by charger polling */
  134. #define SEC_BATTERY_OVP_UVLO_CHGPOLLING 3
  135. /* by charger interrupt */
  136. #define SEC_BATTERY_OVP_UVLO_CHGINT 4
  137. /* full charged check : POWER_SUPPLY_PROP_STATUS */
  138. #define SEC_BATTERY_FULLCHARGED_NONE 0
  139. /* current check by ADC */
  140. #define SEC_BATTERY_FULLCHARGED_ADC 1
  141. /* fuel gauge current check */
  142. #define SEC_BATTERY_FULLCHARGED_FG_CURRENT 2
  143. /* time check */
  144. #define SEC_BATTERY_FULLCHARGED_TIME 3
  145. /* SOC check */
  146. #define SEC_BATTERY_FULLCHARGED_SOC 4
  147. /* charger GPIO, NO additional full condition */
  148. #define SEC_BATTERY_FULLCHARGED_CHGGPIO 5
  149. /* charger interrupt, NO additional full condition */
  150. #define SEC_BATTERY_FULLCHARGED_CHGINT 6
  151. /* charger power supply property, NO additional full condition */
  152. #define SEC_BATTERY_FULLCHARGED_CHGPSY 7
  153. /* Limiter power supply property, NO additional full condition */
  154. #define SEC_BATTERY_FULLCHARGED_LIMITER 8
  155. #define TEMP_CONTROL_SOURCE_NONE 0
  156. #define TEMP_CONTROL_SOURCE_BAT_THM 1
  157. #define TEMP_CONTROL_SOURCE_CHG_THM 2
  158. #define TEMP_CONTROL_SOURCE_WPC_THM 3
  159. #define TEMP_CONTROL_SOURCE_USB_THM 4
  160. /* SEC_BATTERY_FULL_CONDITION_NOTIMEFULL
  161. * full-charged by absolute-timer only in high voltage
  162. */
  163. #define SEC_BATTERY_FULL_CONDITION_NOTIMEFULL 1
  164. /* SEC_BATTERY_FULL_CONDITION_NOSLEEPINFULL
  165. * do not set polling time as sleep polling time in full-charged
  166. */
  167. #define SEC_BATTERY_FULL_CONDITION_NOSLEEPINFULL 2
  168. /* SEC_BATTERY_FULL_CONDITION_SOC
  169. * use capacity for full-charged check
  170. */
  171. #define SEC_BATTERY_FULL_CONDITION_SOC 4
  172. /* SEC_BATTERY_FULL_CONDITION_VCELL
  173. * use VCELL for full-charged check
  174. */
  175. #define SEC_BATTERY_FULL_CONDITION_VCELL 8
  176. /* SEC_BATTERY_FULL_CONDITION_AVGVCELL
  177. * use average VCELL for full-charged check
  178. */
  179. #define SEC_BATTERY_FULL_CONDITION_AVGVCELL 16
  180. /* SEC_BATTERY_FULL_CONDITION_OCV
  181. * use OCV for full-charged check
  182. */
  183. #define SEC_BATTERY_FULL_CONDITION_OCV 32
  184. /* recharge check condition type (can be used overlapped) */
  185. #define sec_battery_recharge_condition_t unsigned int
  186. /* SEC_BATTERY_RECHARGE_CONDITION_SOC
  187. * use capacity for recharging check
  188. */
  189. #define SEC_BATTERY_RECHARGE_CONDITION_SOC 1
  190. /* SEC_BATTERY_RECHARGE_CONDITION_AVGVCELL
  191. * use average VCELL for recharging check
  192. */
  193. #define SEC_BATTERY_RECHARGE_CONDITION_AVGVCELL 2
  194. /* SEC_BATTERY_RECHARGE_CONDITION_VCELL
  195. * use VCELL for recharging check
  196. */
  197. #define SEC_BATTERY_RECHARGE_CONDITION_VCELL 4
  198. /* SEC_BATTERY_RECHARGE_CONDITION_LIMITER
  199. * use VCELL of LIMITER for recharging check
  200. */
  201. #define SEC_BATTERY_RECHARGE_CONDITION_LIMITER 8
  202. #define SIOP_DEFAULT 0xFFFF
  203. #define SIOP_SKIP 0xFFFE
  204. /* inbat ocv type */
  205. #define SEC_BATTERY_OCV_NONE 0
  206. #define SEC_BATTERY_OCV_FG_SRC_CHANGE 1
  207. #define SEC_BATTERY_OCV_FG_NOSRC_CHANGE 2
  208. #define SEC_BATTERY_OCV_ADC 3
  209. #define SEC_BATTERY_OCV_VOLT_FROM_PMIC 4
  210. /* enum sec_wireless_rx_power_list */
  211. #define SEC_WIRELESS_RX_POWER_3W 3000000
  212. #define SEC_WIRELESS_RX_POWER_5W 5000000
  213. #define SEC_WIRELESS_RX_POWER_6_5W 6500000
  214. #define SEC_WIRELESS_RX_POWER_7_5W 7500000
  215. #define SEC_WIRELESS_RX_POWER_10W 10000000
  216. #define SEC_WIRELESS_RX_POWER_12W 12000000
  217. #define SEC_WIRELESS_RX_POWER_15W 15000000
  218. #define SEC_WIRELESS_RX_POWER_17_5W 17500000
  219. #define SEC_WIRELESS_RX_POWER_20W 20000000
  220. #define SEC_WIRELESS_RX_POWER_MAX 20000000
  221. /* enum sec_wireless_rx_power_class_list */
  222. #define SEC_WIRELESS_RX_POWER_CLASS_1 1 /* 4.5W ~ 7.5W */
  223. #define SEC_WIRELESS_RX_POWER_CLASS_2 2 /* 7.6W ~ 12W */
  224. #define SEC_WIRELESS_RX_POWER_CLASS_3 3 /* 12.1W ~ 20W */
  225. #define SEC_WIRELESS_RX_POWER_CLASS_4 4 /* reserved */
  226. #define SEC_WIRELESS_RX_POWER_CLASS_5 5 /* reserved */
  227. #define SEC_WIRELESS_PHM_VOUT_CTRL_NO_DEV 0
  228. #define SEC_WIRELESS_PHM_VOUT_CTRL_OTHER_DEV 1
  229. #define SEC_WIRELESS_PHM_VOUT_CTRL_GEAR 2
  230. #define SEC_WIRELESS_PHM_VOUT_CTRL_PHONE 4
  231. #define SEC_WIRELESS_PHM_VOUT_CTRL_BUDS 8
  232. /* enum sec_wireless_rx_control_mode */
  233. #define WIRELESS_PAD_FAN_OFF 0
  234. #define WIRELESS_PAD_FAN_ON 1
  235. #define WIRELESS_PAD_LED_OFF 2
  236. #define WIRELESS_PAD_LED_ON 3
  237. #define WIRELESS_PAD_LED_DIMMING 4
  238. #define WIRELESS_VRECT_ADJ_ON 5
  239. #define WIRELESS_VRECT_ADJ_OFF 6
  240. #define WIRELESS_VRECT_ADJ_ROOM_0 7
  241. #define WIRELESS_VRECT_ADJ_ROOM_1 8
  242. #define WIRELESS_VRECT_ADJ_ROOM_2 9
  243. #define WIRELESS_VRECT_ADJ_ROOM_3 10
  244. #define WIRELESS_VRECT_ADJ_ROOM_4 11
  245. #define WIRELESS_VRECT_ADJ_ROOM_5 12
  246. #define WIRELESS_CLAMP_ENABLE 13
  247. #define WIRELESS_SLEEP_MODE_ENABLE 14
  248. #define WIRELESS_SLEEP_MODE_DISABLE 15
  249. /* enum sec_wireless_tx_vout */
  250. #define WC_TX_VOUT_OFF 0
  251. #define WC_TX_VOUT_5000MV 5000
  252. #define WC_TX_VOUT_5500MV 5500
  253. #define WC_TX_VOUT_6000MV 6000
  254. #define WC_TX_VOUT_6500MV 6500
  255. #define WC_TX_VOUT_7000MV 7000
  256. #define WC_TX_VOUT_7500MV 7500
  257. #define WC_TX_VOUT_8000MV 8000
  258. #define WC_TX_VOUT_8500MV 8500
  259. #define WC_TX_VOUT_9000MV 9000
  260. #define WC_TX_VOUT_MIN WC_TX_VOUT_5000MV
  261. #define WC_TX_VOUT_MAX WC_TX_VOUT_9000MV
  262. #define WC_TX_VOUT_STEP_AOV 500
  263. /* enum sec_wireless_vout_control_mode */
  264. #define WIRELESS_VOUT_OFF 0
  265. #define WIRELESS_VOUT_NORMAL_VOLTAGE 1 /* 5V , reserved by factory */
  266. #define WIRELESS_VOUT_RESERVED 2 /* 6V */
  267. #define WIRELESS_VOUT_HIGH_VOLTAGE 3 /* 9V , reserved by factory */
  268. #define WIRELESS_VOUT_CC_CV_VOUT 4
  269. #define WIRELESS_VOUT_CALL 5
  270. #define WIRELESS_VOUT_5V 6
  271. #define WIRELESS_VOUT_9V 7
  272. #define WIRELESS_VOUT_10V 8
  273. #define WIRELESS_VOUT_11V 9
  274. #define WIRELESS_VOUT_12V 10
  275. #define WIRELESS_VOUT_12_5V 11
  276. #define WIRELESS_VOUT_4_5V_STEP 12
  277. #define WIRELESS_VOUT_5V_STEP 13
  278. #define WIRELESS_VOUT_5_5V_STEP 14
  279. #define WIRELESS_VOUT_9V_STEP 15
  280. #define WIRELESS_VOUT_10V_STEP 16
  281. #define WIRELESS_VOUT_OTG 17
  282. #define WIRELESS_VOUT_FORCE_9V 18
  283. #define WIRELESS_VOUT_5_5V 19
  284. #define WIRELESS_VOUT_4_5V 20
  285. #define WIRELESS_VOUT_FORCE_4_7V 21
  286. #define WIRELESS_VOUT_FORCE_4_8V 22
  287. #define WIRELESS_VOUT_FORCE_4_9V 23
  288. #define WIRELESS_VOUT_FORCE_5V 24
  289. /* enum mfc_send_command */
  290. #define MFC_END_SIG_STRENGTH 0
  291. #define MFC_END_POWER_TRANSFER 1
  292. #define MFC_END_CTR_ERROR 2
  293. #define MFC_END_RECEIVED_POWER 3
  294. #define MFC_END_CHARGE_STATUS 4
  295. #define MFC_POWER_CTR_HOLD_OFF 5
  296. #define MFC_AFC_CONF_5V 6
  297. #define MFC_AFC_CONF_10V 7
  298. #define MFC_AFC_CONF_5V_TX 8
  299. #define MFC_AFC_CONF_10V_TX 9
  300. #define MFC_AFC_CONF_12V_TX 10
  301. #define MFC_AFC_CONF_12_5V_TX 11
  302. #define MFC_AFC_CONF_20V_TX 12
  303. #define MFC_CONFIGURATION 13
  304. #define MFC_IDENTIFICATION 14
  305. #define MFC_EXTENDED_IDENT 15
  306. #define MFC_LED_CONTROL_ON 16
  307. #define MFC_LED_CONTROL_OFF 17
  308. #define MFC_FAN_CONTROL_ON 18
  309. #define MFC_FAN_CONTROL_OFF 19
  310. #define MFC_REQUEST_AFC_TX 20
  311. #define MFC_REQUEST_TX_ID 21
  312. #define MFC_DISABLE_TX 22
  313. #define MFC_PHM_ON 23
  314. #define MFC_LED_CONTROL_DIMMING 24
  315. #define MFC_SET_OP_FREQ 25
  316. #define MFC_TX_UNO_OFF 26
  317. #define MFC_REQ_TX_PWR_BUDG 27
  318. #define MFC_VOUT_4_5V 0
  319. #define MFC_VOUT_4_7V 1
  320. #define MFC_VOUT_4_8V 2
  321. #define MFC_VOUT_4_9V 3
  322. #define MFC_VOUT_5V 4
  323. #define MFC_VOUT_5_5V 5
  324. #define MFC_VOUT_6V 6
  325. #define MFC_VOUT_7V 7
  326. #define MFC_VOUT_8V 8
  327. #define MFC_VOUT_9V 9
  328. #define MFC_VOUT_10V 10
  329. #define MFC_VOUT_11V 11
  330. #define MFC_VOUT_12V 12
  331. #define MFC_VOUT_12_5V 13
  332. #define MFC_VOUT_OTG 14
  333. /* fod macro */
  334. #define FOD_FLAG_NONE 0
  335. #define FOD_FLAG_ADD 1
  336. #define FOD_FLAG_USE_CC 2
  337. #define FOD_FLAG_USE_CV 3
  338. #define FOD_FLAG_USE_FULL 4
  339. #define FOD_FLAG_USE_DEF_PAD 5
  340. #define FOD_FLAG_USE_DEF_OP 6
  341. #define SET_FOD_CC(_flag) (FOD_FLAG_ ##_flag)
  342. #define SET_FOD_CV(_flag) (FOD_FLAG_ ##_flag << 4)
  343. #define SET_FOD_FULL(_flag) (FOD_FLAG_ ##_flag << 8)
  344. #endif /* _DT_BINDINGS_BATTERY_SEC_BATTERY_H */