sec_battery_sysfs.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. /*
  2. * sec_battery_sysfs.h
  3. * Samsung Mobile Battery Header
  4. *
  5. *
  6. * Copyright (C) 2018 Samsung Electronics, Inc.
  7. *
  8. *
  9. * This software is licensed under the terms of the GNU General Public
  10. * License version 2, as published by the Free Software Foundation, and
  11. * may be copied, distributed, and modified under those terms.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. */
  19. #ifndef __SEC_BATTERY_SYSFS_H
  20. #define __SEC_BATTERY_SYSFS_H __FILE__
  21. ssize_t sec_bat_show_attrs(struct device *dev,
  22. struct device_attribute *attr, char *buf);
  23. ssize_t sec_bat_store_attrs(struct device *dev,
  24. struct device_attribute *attr,
  25. const char *buf, size_t count);
  26. int sec_bat_create_attrs(struct device *dev);
  27. #define SEC_BATTERY_ATTR(_name) \
  28. { \
  29. .attr = {.name = #_name, .mode = 0664}, \
  30. .show = sec_bat_show_attrs, \
  31. .store = sec_bat_store_attrs, \
  32. }
  33. enum sec_bat_attrs {
  34. BATT_RESET_SOC = 0,
  35. BATT_READ_RAW_SOC,
  36. BATT_READ_ADJ_SOC,
  37. BATT_TYPE,
  38. BATT_VFOCV,
  39. BATT_VOL_ADC,
  40. BATT_VOL_ADC_CAL,
  41. BATT_VOL_AVER,
  42. BATT_VOL_ADC_AVER,
  43. BATT_VOLTAGE_NOW,
  44. BATT_CURRENT_UA_NOW,
  45. BATT_CURRENT_UA_AVG,
  46. BATT_FILTER_CFG,
  47. BATT_TEMP,
  48. BATT_TEMP_RAW,
  49. BATT_TEMP_ADC,
  50. BATT_TEMP_AVER,
  51. BATT_TEMP_ADC_AVER,
  52. USB_TEMP,
  53. USB_TEMP_ADC,
  54. BATT_CHG_TEMP,
  55. BATT_CHG_TEMP_ADC,
  56. SUB_BAT_TEMP,
  57. SUB_BAT_TEMP_ADC,
  58. SUB_CHG_TEMP,
  59. SUB_CHG_TEMP_ADC,
  60. #if IS_ENABLED(CONFIG_DIRECT_CHARGING)
  61. DCHG_ADC_MODE_CTRL,
  62. DCHG_TEMP,
  63. DCHG_TEMP_ADC,
  64. DCHG_READ_BATP_BATN,
  65. #endif
  66. BLKT_TEMP,
  67. BLKT_TEMP_ADC,
  68. BATT_VF_ADC,
  69. BATT_SLATE_MODE,
  70. BATT_LP_CHARGING,
  71. SIOP_ACTIVATED,
  72. SIOP_LEVEL,
  73. SIOP_EVENT,
  74. BATT_CHARGING_SOURCE,
  75. FG_REG_DUMP,
  76. FG_RESET_CAP,
  77. FG_CAPACITY,
  78. FG_ASOC,
  79. AUTH,
  80. CHG_CURRENT_ADC,
  81. WC_ADC,
  82. WC_STATUS,
  83. WC_ENABLE,
  84. WC_CONTROL,
  85. WC_CONTROL_CNT,
  86. LED_COVER,
  87. HV_CHARGER_STATUS,
  88. HV_WC_CHARGER_STATUS,
  89. HV_CHARGER_SET,
  90. FACTORY_MODE,
  91. STORE_MODE,
  92. UPDATE,
  93. TEST_MODE,
  94. BATT_EVENT_CALL,
  95. BATT_EVENT_2G_CALL,
  96. BATT_EVENT_TALK_GSM,
  97. BATT_EVENT_3G_CALL,
  98. BATT_EVENT_TALK_WCDMA,
  99. BATT_EVENT_MUSIC,
  100. BATT_EVENT_VIDEO,
  101. BATT_EVENT_BROWSER,
  102. BATT_EVENT_HOTSPOT,
  103. BATT_EVENT_CAMERA,
  104. BATT_EVENT_CAMCORDER,
  105. BATT_EVENT_DATA_CALL,
  106. BATT_EVENT_WIFI,
  107. BATT_EVENT_WIBRO,
  108. BATT_EVENT_LTE,
  109. BATT_EVENT_LCD,
  110. #if defined(CONFIG_ISDB_CHARGING_CONTROL)
  111. BATT_EVENT_ISDB,
  112. #endif
  113. BATT_EVENT_GPS,
  114. BATT_EVENT,
  115. BATT_TEMP_TABLE,
  116. BATT_HIGH_CURRENT_USB,
  117. #if defined(CONFIG_ENG_BATTERY_CONCEPT)
  118. TEST_CHARGE_CURRENT,
  119. #if defined(CONFIG_STEP_CHARGING)
  120. TEST_STEP_CONDITION,
  121. #endif
  122. #endif
  123. SET_STABILITY_TEST,
  124. BATT_CAPACITY_MAX,
  125. BATT_REPCAP_1ST,
  126. BATT_INBAT_VOLTAGE,
  127. BATT_INBAT_VOLTAGE_OCV,
  128. BATT_INBAT_VOLTAGE_ADC,
  129. BATT_VBYP_VOLTAGE,
  130. CHECK_SUB_CHG,
  131. BATT_INBAT_WIRELESS_CS100,
  132. HMT_TA_CONNECTED,
  133. HMT_TA_CHARGE,
  134. #if defined(CONFIG_SEC_FACTORY)
  135. AFC_TEST_FG_MODE,
  136. #endif
  137. FG_CYCLE,
  138. FG_FULL_VOLTAGE,
  139. FG_FULLCAPNOM,
  140. BATTERY_CYCLE,
  141. #if defined(CONFIG_BATTERY_AGE_FORECAST_DETACHABLE)
  142. BATT_AFTER_MANUFACTURED,
  143. #endif
  144. BATTERY_CYCLE_TEST,
  145. BATT_WPC_TEMP,
  146. BATT_WPC_TEMP_ADC,
  147. BATT_WIRELESS_MST_SWITCH_TEST,
  148. #if defined(CONFIG_WIRELESS_FIRMWARE_UPDATE)
  149. BATT_WIRELESS_FIRMWARE_UPDATE,
  150. OTP_FIRMWARE_RESULT,
  151. WC_IC_GRADE,
  152. WC_IC_CHIP_ID,
  153. OTP_FIRMWARE_VER_BIN,
  154. OTP_FIRMWARE_VER,
  155. #endif
  156. WC_PHM_CTRL,
  157. WC_VOUT,
  158. WC_VRECT,
  159. WC_TX_EN,
  160. WC_TX_VOUT,
  161. BATT_HV_WIRELESS_STATUS,
  162. BATT_HV_WIRELESS_PAD_CTRL,
  163. WC_TX_ID,
  164. WC_OP_FREQ,
  165. WC_CMD_INFO,
  166. WC_RX_CONNECTED,
  167. WC_RX_CONNECTED_DEV,
  168. WC_TX_MFC_VIN_FROM_UNO,
  169. WC_TX_MFC_IIN_FROM_UNO,
  170. #if defined(CONFIG_WIRELESS_TX_MODE)
  171. WC_TX_AVG_CURR,
  172. WC_TX_TOTAL_PWR,
  173. #endif
  174. WC_TX_STOP_CAPACITY,
  175. WC_TX_TIMER_EN,
  176. #if defined(CONFIG_ENG_BATTERY_CONCEPT)
  177. BATT_TUNE_FLOAT_VOLTAGE,
  178. BATT_TUNE_INPUT_CHARGE_CURRENT,
  179. BATT_TUNE_FAST_CHARGE_CURRENT,
  180. BATT_TUNE_WIRELESS_VOUT_CURRENT,
  181. BATT_TUNE_UI_TERM_CURRENT_1ST,
  182. BATT_TUNE_UI_TERM_CURRENT_2ND,
  183. BATT_TUNE_TEMP_HIGH_NORMAL,
  184. BATT_TUNE_TEMP_HIGH_REC_NORMAL,
  185. BATT_TUNE_TEMP_LOW_NORMAL,
  186. BATT_TUNE_TEMP_LOW_REC_NORMAL,
  187. BATT_TUNE_CHG_TEMP_HIGH,
  188. BATT_TUNE_CHG_TEMP_REC,
  189. BATT_TUNE_CHG_LIMIT_CUR,
  190. BATT_TUNE_LRP_TEMP_HIGH_LCDON,
  191. BATT_TUNE_LRP_TEMP_HIGH_LCDOFF,
  192. BATT_TUNE_COIL_TEMP_HIGH,
  193. BATT_TUNE_COIL_TEMP_REC,
  194. BATT_TUNE_COIL_LIMIT_CUR,
  195. BATT_TUNE_WPC_TEMP_HIGH,
  196. BATT_TUNE_WPC_TEMP_HIGH_REC,
  197. BATT_TUNE_DCHG_TEMP_HIGH,
  198. BATT_TUNE_DCHG_TEMP_HIGH_REC,
  199. BATT_TUNE_DCHG_BATT_TEMP_HIGH,
  200. BATT_TUNE_DCHG_BATT_TEMP_HIGH_REC,
  201. BATT_TUNE_DCHG_LIMIT_INPUT_CUR,
  202. BATT_TUNE_DCHG_LIMIT_CHG_CUR,
  203. #if defined(CONFIG_WIRELESS_TX_MODE)
  204. BATT_TUNE_TX_MFC_IOUT_GEAR,
  205. BATT_TUNE_TX_MFC_IOUT_PHONE,
  206. #endif
  207. #endif
  208. #if defined(CONFIG_UPDATE_BATTERY_DATA)
  209. BATT_UPDATE_DATA,
  210. #endif
  211. BATT_MISC_EVENT,
  212. BATT_TX_EVENT,
  213. BATT_EXT_DEV_CHG,
  214. BATT_WDT_CONTROL,
  215. MODE,
  216. CHECK_PS_READY,
  217. BATT_CHIP_ID,
  218. ERROR_CAUSE,
  219. CISD_FULLCAPREP_MAX,
  220. CISD_DATA,
  221. CISD_DATA_JSON,
  222. CISD_DATA_D_JSON,
  223. CISD_WIRE_COUNT,
  224. CISD_WC_DATA,
  225. CISD_WC_DATA_JSON,
  226. CISD_POWER_DATA,
  227. CISD_POWER_DATA_JSON,
  228. CISD_PD_DATA,
  229. CISD_PD_DATA_JSON,
  230. CISD_CABLE_DATA,
  231. CISD_CABLE_DATA_JSON,
  232. CISD_TX_DATA,
  233. CISD_TX_DATA_JSON,
  234. CISD_EVENT_DATA,
  235. CISD_EVENT_DATA_JSON,
  236. PREV_BATTERY_DATA,
  237. PREV_BATTERY_INFO,
  238. SAFETY_TIMER_SET,
  239. BATT_SWELLING_CONTROL,
  240. BATT_BATTERY_ID,
  241. #if IS_ENABLED(CONFIG_DUAL_BATTERY)
  242. BATT_SUB_BATTERY_ID,
  243. #endif
  244. BATT_TEMP_CONTROL_TEST,
  245. SAFETY_TIMER_INFO,
  246. BATT_SHIPMODE_TEST,
  247. BATT_MISC_TEST,
  248. BATT_TEMP_TEST,
  249. BATT_CURRENT_EVENT,
  250. BATT_JIG_GPIO,
  251. CC_INFO,
  252. #if defined(CONFIG_WIRELESS_AUTH)
  253. WC_AUTH_ADT_SENT,
  254. #endif
  255. WC_DUO_RX_POWER,
  256. #if IS_ENABLED(CONFIG_DUAL_BATTERY)
  257. BATT_MAIN_VOLTAGE,
  258. BATT_SUB_VOLTAGE,
  259. BATT_MAIN_VCELL,
  260. BATT_SUB_VCELL,
  261. BATT_MAIN_CURRENT_MA,
  262. BATT_SUB_CURRENT_MA,
  263. BATT_MAIN_CON_DET,
  264. BATT_SUB_CON_DET,
  265. #if IS_ENABLED(CONFIG_LIMITER_S2ASL01)
  266. BATT_MAIN_VCHG,
  267. BATT_SUB_VCHG,
  268. BATT_MAIN_ENB,
  269. BATT_MAIN_ENB2,
  270. BATT_SUB_ENB,
  271. BATT_SUB_PWR_MODE2,
  272. #else
  273. BATT_MAIN_SHIPMODE,
  274. BATT_SUB_SHIPMODE,
  275. #endif
  276. #if IS_ENABLED(CONFIG_DUAL_FUELGAUGE)
  277. BATT_MAIN_SOC,
  278. BATT_SUB_SOC,
  279. BATT_MAIN_REPCAP,
  280. BATT_SUB_REPCAP,
  281. BATT_MAIN_FULLCAPREP,
  282. BATT_SUB_FULLCAPREP,
  283. #endif
  284. #endif
  285. EXT_EVENT,
  286. DIRECT_CHARGING_STATUS,
  287. #if IS_ENABLED(CONFIG_DIRECT_CHARGING)
  288. DIRECT_CHARGING_STEP,
  289. DIRECT_CHARGING_IIN,
  290. DIRECT_CHARGING_CHG_STATUS,
  291. SWITCH_CHARGING_SOURCE,
  292. #endif
  293. CHARGING_TYPE,
  294. BATT_FACTORY_MODE,
  295. BOOT_COMPLETED,
  296. PD_DISABLE,
  297. FACTORY_MODE_RELIEVE,
  298. FACTORY_MODE_BYPASS,
  299. NORMAL_MODE_BYPASS,
  300. FACTORY_VOLTAGE_REGULATION,
  301. FACTORY_MODE_DISABLE,
  302. USB_CONF,
  303. CHARGE_OTG_CONTROL,
  304. CHARGE_UNO_CONTROL,
  305. CHARGE_COUNTER_SHADOW,
  306. VOTER_STATUS,
  307. #if defined(CONFIG_WIRELESS_IC_PARAM)
  308. WC_PARAM_INFO,
  309. #endif
  310. CHG_INFO,
  311. LRP,
  312. HP_D2D,
  313. CHARGER_IC_NAME,
  314. DC_RB_EN,
  315. DC_OP_MODE,
  316. DC_ADC_MODE,
  317. DC_VBUS,
  318. CHG_TYPE,
  319. MST_EN,
  320. SPSN_TEST,
  321. CHG_SOC_LIM,
  322. MAG_COVER,
  323. MAG_CLOAK,
  324. ARI_CNT,
  325. #if IS_ENABLED(CONFIG_SBP_FG)
  326. STATE_OF_HEALTH,
  327. #endif
  328. };
  329. enum sec_pogo_attrs {
  330. POGO_SEC_TYPE = 0,
  331. };
  332. ssize_t sec_pogo_show_attrs(struct device *dev,
  333. struct device_attribute *attr, char *buf);
  334. int sec_pogo_create_attrs(struct device *dev);
  335. #define SEC_POGO_ATTR(_name) \
  336. { \
  337. .attr = {.name = #_name, .mode = 0444}, \
  338. .show = sec_pogo_show_attrs, \
  339. .store = NULL, \
  340. }
  341. enum sec_otg_attrs {
  342. OTG_SEC_TYPE = 0,
  343. };
  344. ssize_t sec_otg_show_attrs(struct device *dev,
  345. struct device_attribute *attr, char *buf);
  346. int sec_otg_create_attrs(struct device *dev);
  347. #define SEC_OTG_ATTR(_name) \
  348. { \
  349. .attr = {.name = #_name, .mode = 0444}, \
  350. .show = sec_otg_show_attrs, \
  351. .store = NULL, \
  352. }
  353. #endif /* __SEC_BATTERY_SYSFS_H */