sec_battery_common.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. /*
  2. * sec_battery_common.h
  3. * Samsung Mobile Charging Common Header
  4. *
  5. * Copyright (C) 2020 Samsung Electronics, Inc.
  6. *
  7. *
  8. * This software is licensed under the terms of the GNU General Public
  9. * License version 2, as published by the Free Software Foundation, and
  10. * may be copied, distributed, and modified under those terms.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. */
  18. #ifndef __SEC_BATTERY_COMMON_H
  19. #define __SEC_BATTERY_COMMON_H __FILE__
  20. #include <linux/power_supply.h>
  21. #include <dt-bindings/battery/sec-battery.h>
  22. enum power_supply_ext_property {
  23. POWER_SUPPLY_EXT_PROP_MIN = 1000,
  24. POWER_SUPPLY_EXT_PROP_CHECK_SUB_CHG_I2C = POWER_SUPPLY_EXT_PROP_MIN,
  25. POWER_SUPPLY_EXT_PROP_MULTI_CHARGER_MODE,
  26. POWER_SUPPLY_EXT_PROP_WIRELESS_OP_FREQ,
  27. POWER_SUPPLY_EXT_PROP_WIRELESS_OP_FREQ_STRENGTH,
  28. POWER_SUPPLY_EXT_PROP_WIRELESS_TRX_CMD,
  29. POWER_SUPPLY_EXT_PROP_WIRELESS_TRX_VAL,
  30. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_ID,
  31. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_ID_CNT,
  32. POWER_SUPPLY_EXT_PROP_WIRELESS_ERR,
  33. POWER_SUPPLY_EXT_PROP_WIRELESS_SWITCH,
  34. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_ENABLE,
  35. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_VOUT,
  36. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_IOUT,
  37. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_UNO_VIN,
  38. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_UNO_IIN,
  39. POWER_SUPPLY_EXT_PROP_WIRELESS_RX_CONNECTED,
  40. POWER_SUPPLY_EXT_PROP_WIRELESS_RX_POWER,
  41. POWER_SUPPLY_EXT_PROP_WIRELESS_WR_CONNECTED,
  42. POWER_SUPPLY_EXT_PROP_WIRELESS_MAX_VOUT,
  43. POWER_SUPPLY_EXT_PROP_WIRELESS_AUTH_ADT_STATUS,
  44. POWER_SUPPLY_EXT_PROP_WIRELESS_AUTH_ADT_DATA,
  45. POWER_SUPPLY_EXT_PROP_WIRELESS_AUTH_ADT_SIZE,
  46. POWER_SUPPLY_EXT_PROP_WIRELESS_RX_TYPE,
  47. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_ERR,
  48. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_RETRY_CASE,
  49. POWER_SUPPLY_EXT_PROP_WIRELESS_MIN_DUTY,
  50. POWER_SUPPLY_EXT_PROP_WIRELESS_SEND_FSK,
  51. POWER_SUPPLY_EXT_PROP_WIRELESS_RX_VOUT,
  52. POWER_SUPPLY_EXT_PROP_WIRELESS_INITIAL_WC_CHECK,
  53. POWER_SUPPLY_EXT_PROP_WIRELESS_PARAM_INFO,
  54. POWER_SUPPLY_EXT_PROP_WIRELESS_CHECK_FW_VER,
  55. POWER_SUPPLY_EXT_PROP_WIRELESS_SGF,
  56. POWER_SUPPLY_EXT_PROP_WIRELESS_MST_PWR_EN,
  57. POWER_SUPPLY_EXT_PROP_WIRELESS_JIG_PAD,
  58. POWER_SUPPLY_EXT_PROP_WIRELESS_OP_MODE,
  59. POWER_SUPPLY_EXT_PROP_WIRELESS_WC_STATUS,
  60. POWER_SUPPLY_EXT_PROP_AICL_CURRENT,
  61. POWER_SUPPLY_EXT_PROP_CHIP_ID,
  62. POWER_SUPPLY_EXT_PROP_ERROR_CAUSE,
  63. POWER_SUPPLY_EXT_PROP_SYSOVLO,
  64. POWER_SUPPLY_EXT_PROP_VBAT_OVP,
  65. POWER_SUPPLY_EXT_PROP_FGSRC_SWITCHING,
  66. POWER_SUPPLY_EXT_PROP_USB_CONFIGURE,
  67. POWER_SUPPLY_EXT_PROP_WDT_STATUS,
  68. POWER_SUPPLY_EXT_PROP_WATER_DETECT,
  69. POWER_SUPPLY_EXT_PROP_SURGE,
  70. POWER_SUPPLY_EXT_PROP_HV_DISABLE,
  71. POWER_SUPPLY_EXT_PROP_FUELGAUGE_RESET,
  72. POWER_SUPPLY_EXT_PROP_FACTORY_VOLTAGE_REGULATION,
  73. POWER_SUPPLY_EXT_PROP_FUELGAUGE_FACTORY,
  74. POWER_SUPPLY_EXT_PROP_DISABLE_FACTORY_MODE,
  75. POWER_SUPPLY_EXT_PROP_OVERHEAT_NOTIFY,
  76. POWER_SUPPLY_EXT_PROP_CHARGE_POWER,
  77. POWER_SUPPLY_EXT_PROP_MEASURE_SYS,
  78. POWER_SUPPLY_EXT_PROP_MEASURE_INPUT,
  79. POWER_SUPPLY_EXT_PROP_WC_CONTROL,
  80. POWER_SUPPLY_EXT_PROP_WC_EPT_UNKNOWN,
  81. POWER_SUPPLY_EXT_PROP_CHGINSEL,
  82. POWER_SUPPLY_EXT_PROP_JIG_GPIO,
  83. POWER_SUPPLY_EXT_PROP_MONITOR_WORK,
  84. POWER_SUPPLY_EXT_PROP_SHIPMODE_TEST,
  85. POWER_SUPPLY_EXT_PROP_AUTO_SHIPMODE_CONTROL,
  86. POWER_SUPPLY_EXT_PROP_WIRELESS_TIMER_ON,
  87. POWER_SUPPLY_EXT_PROP_CALL_EVENT,
  88. POWER_SUPPLY_EXT_PROP_GEAR_PHM_EVENT,
  89. POWER_SUPPLY_EXT_PROP_RX_PHM,
  90. #if IS_ENABLED(CONFIG_DUAL_BATTERY)
  91. POWER_SUPPLY_EXT_PROP_CHGIN_OK,
  92. POWER_SUPPLY_EXT_PROP_SUPLLEMENT_MODE,
  93. POWER_SUPPLY_EXT_PROP_RECHG_ON,
  94. POWER_SUPPLY_EXT_PROP_EOC_ON,
  95. POWER_SUPPLY_EXT_PROP_DISCHG_MODE,
  96. POWER_SUPPLY_EXT_PROP_CHG_MODE,
  97. POWER_SUPPLY_EXT_PROP_CHG_VOLTAGE,
  98. POWER_SUPPLY_EXT_PROP_FASTCHG_LIMIT_CURRENT,
  99. POWER_SUPPLY_EXT_PROP_TRICKLECHG_LIMIT_CURRENT,
  100. POWER_SUPPLY_EXT_PROP_DISCHG_LIMIT_CURRENT,
  101. POWER_SUPPLY_EXT_PROP_RECHG_VOLTAGE,
  102. POWER_SUPPLY_EXT_PROP_EOC_VOLTAGE,
  103. POWER_SUPPLY_EXT_PROP_EOC_CURRENT,
  104. POWER_SUPPLY_EXT_PROP_POWERMETER_ENABLE,
  105. POWER_SUPPLY_EXT_PROP_POWER_MODE2,
  106. POWER_SUPPLY_EXT_PROP_DUAL_BAT_DET,
  107. POWER_SUPPLY_EXT_PROP_FULL_CONDITION,
  108. POWER_SUPPLY_EXT_PROP_LIMITER_SHIPMODE,
  109. #endif
  110. POWER_SUPPLY_EXT_PROP_REPSOC,
  111. POWER_SUPPLY_EXT_PROP_REPCAP,
  112. POWER_SUPPLY_EXT_PROP_FULLCAPREP,
  113. POWER_SUPPLY_EXT_PROP_FULLCAPNOM,
  114. POWER_SUPPLY_EXT_PROP_DESIGNCAP,
  115. POWER_SUPPLY_EXT_PROP_CYCLES,
  116. POWER_SUPPLY_EXT_PROP_CURRENT_EVENT,
  117. POWER_SUPPLY_EXT_PROP_CURRENT_EVENT_CLEAR,
  118. POWER_SUPPLY_EXT_PROP_PAD_VOLT_CTRL,
  119. POWER_SUPPLY_EXT_PROP_WIRELESS_VOUT,
  120. POWER_SUPPLY_EXT_PROP_WIRELESS_TX_AVG_CURR,
  121. POWER_SUPPLY_EXT_PROP_WIRELESS_1ST_DONE,
  122. POWER_SUPPLY_EXT_PROP_WIRELESS_2ND_DONE,
  123. POWER_SUPPLY_EXT_PROP_CURRENT_MEASURE,
  124. POWER_SUPPLY_EXT_PROP_DIRECT_CHARGER_MODE,
  125. POWER_SUPPLY_EXT_PROP_CHARGING_ENABLED_DC,
  126. POWER_SUPPLY_EXT_PROP_DIRECT_DONE,
  127. POWER_SUPPLY_EXT_PROP_DIRECT_FIXED_PDO,
  128. POWER_SUPPLY_EXT_PROP_DIRECT_WDT_CONTROL,
  129. POWER_SUPPLY_EXT_PROP_DIRECT_CONSTANT_CHARGE_VOLTAGE,
  130. POWER_SUPPLY_EXT_PROP_DIRECT_CONSTANT_CHARGE_VOLTAGE_MAX,
  131. POWER_SUPPLY_EXT_PROP_DIRECT_CURRENT_MAX,
  132. POWER_SUPPLY_EXT_PROP_DIRECT_ADC_CTRL,
  133. POWER_SUPPLY_EXT_PROP_DIRECT_HAS_APDO,
  134. POWER_SUPPLY_EXT_PROP_DIRECT_TA_ALERT,
  135. POWER_SUPPLY_EXT_PROP_DIRECT_CHARGER_CHG_STATUS,
  136. POWER_SUPPLY_EXT_PROP_CHANGE_CHARGING_SOURCE,
  137. POWER_SUPPLY_EXT_PROP_REFRESH_CHARGING_SOURCE,
  138. POWER_SUPPLY_EXT_PROP_DIRECT_CLEAR_ERR,
  139. POWER_SUPPLY_EXT_PROP_DIRECT_SEND_UVDM,
  140. POWER_SUPPLY_EXT_PROP_UPDATE_BATTERY_DATA,
  141. POWER_SUPPLY_EXT_PROP_SRCCAP,
  142. POWER_SUPPLY_EXT_PROP_HV_PDO,
  143. POWER_SUPPLY_EXT_PROP_CHARGE_BOOST,
  144. POWER_SUPPLY_EXT_PROP_CHARGING_ENABLED,
  145. POWER_SUPPLY_EXT_PROP_INPUT_VOLTAGE_REGULATION,
  146. POWER_SUPPLY_EXT_PROP_POWER_DESIGN,
  147. POWER_SUPPLY_EXT_PROP_FILTER_CFG,
  148. POWER_SUPPLY_EXT_PROP_CHARGE_OTG_CONTROL,
  149. POWER_SUPPLY_EXT_PROP_CHARGE_OTG_ICL_CONTROL,
  150. POWER_SUPPLY_EXT_PROP_CHARGE_POWERED_OTG_CONTROL,
  151. POWER_SUPPLY_EXT_PROP_CHARGE_UNO_CONTROL,
  152. POWER_SUPPLY_EXT_PROP_CHARGE_COUNTER_SHADOW,
  153. POWER_SUPPLY_EXT_PROP_WPC_EN,
  154. POWER_SUPPLY_EXT_PROP_WPC_EN_MST,
  155. POWER_SUPPLY_EXT_PROP_MST_MODE,
  156. POWER_SUPPLY_EXT_PROP_MST_DELAY,
  157. POWER_SUPPLY_EXT_PROP_WPC_FREQ_STRENGTH,
  158. POWER_SUPPLY_EXT_PROP_HEALTH,
  159. POWER_SUPPLY_EXT_PROP_SLEEP_MODE,
  160. POWER_SUPPLY_EXT_PROP_MFC_FW_UPDATE,
  161. POWER_SUPPLY_EXT_PROP_THERMAL_ZONE,
  162. POWER_SUPPLY_EXT_PROP_TEMP_CHECK_TYPE,
  163. POWER_SUPPLY_EXT_PROP_DC_INITIALIZE,
  164. POWER_SUPPLY_EXT_PROP_BATTERY_ID,
  165. #if IS_ENABLED(CONFIG_DUAL_BATTERY)
  166. POWER_SUPPLY_EXT_PROP_DIRECT_VBAT_CHECK,
  167. POWER_SUPPLY_EXT_PROP_VOLTAGE_PACK_MAIN,
  168. POWER_SUPPLY_EXT_PROP_VOLTAGE_PACK_SUB,
  169. #endif
  170. POWER_SUPPLY_EXT_PROP_WIRELESS_RX_CONTROL,
  171. POWER_SUPPLY_EXT_PROP_INPUT_CURRENT_LIMIT_WRL,
  172. POWER_SUPPLY_EXT_PROP_CONSTANT_CHARGE_CURRENT_WRL,
  173. POWER_SUPPLY_EXT_PROP_SUB_TEMP,
  174. POWER_SUPPLY_EXT_PROP_MIX_LIMIT,
  175. POWER_SUPPLY_EXT_PROP_ENABLE_HW_FACTORY_MODE,
  176. POWER_SUPPLY_EXT_PROP_FACTORY_MODE,
  177. POWER_SUPPLY_EXT_PROP_CHECK_INIT,
  178. POWER_SUPPLY_EXT_PROP_IB_MODE,
  179. POWER_SUPPLY_EXT_PROP_OB_MODE_CABLE_REMOVED,
  180. POWER_SUPPLY_EXT_PROP_BATT_F_MODE,
  181. POWER_SUPPLY_EXT_PROP_FACTORY_MODE_RELIEVE,
  182. POWER_SUPPLY_EXT_PROP_FACTORY_MODE_BYPASS,
  183. POWER_SUPPLY_EXT_PROP_LCD_FLICKER,
  184. POWER_SUPPLY_EXT_PROP_PASS_THROUGH_MODE,
  185. POWER_SUPPLY_EXT_PROP_PASS_THROUGH_MODE_TA_VOL,
  186. POWER_SUPPLY_EXT_PROP_D2D_REVERSE_VOLTAGE,
  187. POWER_SUPPLY_EXT_PROP_FUELGAUGE_LOG,
  188. POWER_SUPPLY_EXT_PROP_CHARGER_IC_NAME,
  189. POWER_SUPPLY_EXT_PROP_D2D_REVERSE_OCP,
  190. POWER_SUPPLY_EXT_PROP_BATT_DUMP,
  191. POWER_SUPPLY_EXT_PROP_FLASH_STATE,
  192. POWER_SUPPLY_EXT_PROP_PMIC_BAT_VOLTAGE,
  193. POWER_SUPPLY_EXT_PROP_USB_BOOTCOMPLETE,
  194. #if IS_ENABLED(CONFIG_MTK_CHARGER)
  195. POWER_SUPPLY_EXT_PROP_BATT_VSYS,
  196. POWER_SUPPLY_EXT_PROP_RP_LEVEL,
  197. POWER_SUPPLY_EXT_PROP_BUCK_STATE,
  198. POWER_SUPPLY_EXT_PROP_AFC_INIT,
  199. POWER_SUPPLY_EXT_PROP_MTK_FG_INIT,
  200. #endif
  201. POWER_SUPPLY_EXT_PROP_D2D_REVERSE_VBUS,
  202. POWER_SUPPLY_EXT_PROP_ADC_MODE,
  203. POWER_SUPPLY_EXT_PROP_DC_OP_MODE,
  204. POWER_SUPPLY_EXT_PROP_LRP_CHG_SRC,
  205. POWER_SUPPLY_EXT_PROP_MISC_EVENT,
  206. POWER_SUPPLY_EXT_PROP_MISC_EVENT_CLEAR,
  207. POWER_SUPPLY_EXT_PROP_MST_EN,
  208. #if defined(CONFIG_SEC_FACTORY)
  209. POWER_SUPPLY_EXT_PROP_AFC_TEST_FG_MODE,
  210. #endif
  211. POWER_SUPPLY_EXT_PROP_SPSN_TEST,
  212. POWER_SUPPLY_EXT_PROP_ABNORMAL_SRCCAP,
  213. POWER_SUPPLY_EXT_PROP_CHARGE_FULL_REPCAP,
  214. POWER_SUPPLY_EXT_PROP_STATUS_FULL_REPCAP,
  215. POWER_SUPPLY_EXT_PROP_DC_VIN_OVERCURRENT,
  216. POWER_SUPPLY_EXT_PROP_DC_REVERSE_MODE,
  217. POWER_SUPPLY_EXT_PROP_OTG_VBUS_CTRL,
  218. POWER_SUPPLY_EXT_PROP_TX_PWR_BUDG,
  219. POWER_SUPPLY_EXT_PROP_HARDRESET_OCCUR,
  220. POWER_SUPPLY_EXT_PROP_FPDO_DC_THERMAL_CHECK,
  221. POWER_SUPPLY_EXT_PROP_CHARGER_MODE_DIRECT,
  222. POWER_SUPPLY_EXT_PROP_DCHG_READ_BATP_BATN,
  223. POWER_SUPPLY_EXT_PROP_ABNORMAL_TA,
  224. POWER_SUPPLY_EXT_PROP_WIRELESS_PING_DUTY,
  225. POWER_SUPPLY_EXT_PROP_WARM_FOD,
  226. POWER_SUPPLY_EXT_PROP_MPP_COVER,
  227. POWER_SUPPLY_EXT_PROP_MPP_CLOAK,
  228. POWER_SUPPLY_EXT_PROP_MPP_ICL_CTRL,
  229. POWER_SUPPLY_EXT_PROP_MPP_INC_INT_CTRL,
  230. POWER_SUPPLY_EXT_PROP_DC_RCP,
  231. #if IS_ENABLED(CONFIG_SBP_FG)
  232. POWER_SUPPLY_EXT_PROP_FAKE_SOC,
  233. #endif
  234. POWER_SUPPLY_EXT_PROP_ARI_CNT,
  235. POWER_SUPPLY_EXT_PROP_PRSWAP,
  236. POWER_SUPPLY_EXT_PROP_MAX,
  237. };
  238. enum {
  239. POWER_SUPPLY_DC_REVERSE_STOP, /* stop reverse mode */
  240. POWER_SUPPLY_DC_REVERSE_BYP, /* 1:1 reverse bypass mode */
  241. POWER_SUPPLY_DC_REVERSE_1TO2, /* 1:2 reverse switching mode */
  242. };
  243. enum {
  244. TURN_OTG_OFF,
  245. TURN_OTG_ON,
  246. TURN_RB_OFF, /* REVERSE BYPASS for Earphone*/
  247. TURN_RB_ON,
  248. TURN_OTG_OFF_RB_ON,
  249. };
  250. enum sec_battery_usb_conf {
  251. USB_CURRENT_NONE = 0,
  252. USB_CURRENT_SUSPENDED = 1,
  253. USB_CURRENT_CLEAR = 2,
  254. USB_CURRENT_UNCONFIGURED = 100,
  255. USB_CURRENT_HIGH_SPEED = 475,
  256. USB_CURRENT_SUPER_SPEED = 850,
  257. };
  258. enum sec_battery_wpc_en_ctrl {
  259. WPC_EN_SYSFS = 0x1,
  260. WPC_EN_CCIC = 0x2,
  261. WPC_EN_CHARGING = 0x4,
  262. WPC_EN_TX = 0x8,
  263. WPC_EN_MST = 0x10,
  264. WPC_EN_FW = 0x20,
  265. WPC_EN_SLATE = 0x40,
  266. };
  267. static inline struct power_supply *get_power_supply_by_name(char *name)
  268. {
  269. if (!name)
  270. return (struct power_supply *)NULL;
  271. else
  272. return power_supply_get_by_name(name);
  273. }
  274. #define psy_do_property(name, function, property, value) \
  275. ({ \
  276. struct power_supply *psy; \
  277. int ret = 0; \
  278. psy = get_power_supply_by_name((name)); \
  279. if (!psy) { \
  280. pr_err("%s: Fail to "#function" psy (%s)\n", \
  281. __func__, (name)); \
  282. value.intval = 0; \
  283. ret = -ENOENT; \
  284. } else { \
  285. if (psy->desc->function##_property != NULL) { \
  286. ret = psy->desc->function##_property(psy, \
  287. (enum power_supply_property) (property), &(value)); \
  288. if (ret < 0) { \
  289. pr_err("%s: Fail to %s "#function" "#property" (%d)\n", \
  290. __func__, name, ret); \
  291. value.intval = 0; \
  292. } \
  293. } else { \
  294. ret = -ENOSYS; \
  295. } \
  296. power_supply_put(psy); \
  297. } \
  298. ret; \
  299. })
  300. #if defined(CONFIG_OF)
  301. #define sb_of_parse_u32(np, pdata, value, deft) \
  302. ({ \
  303. int ret = 0; \
  304. ret = of_property_read_u32(np, #value, (unsigned int *)&pdata->value); \
  305. if (!ret) \
  306. pr_info("%s: %s - write "#value" to %d\n", __func__, np->name, pdata->value); \
  307. else \
  308. pdata->value = deft; \
  309. ret;\
  310. })
  311. #define sb_of_parse_str(np, pdata, value) \
  312. ({ \
  313. int ret = 0; \
  314. ret = of_property_read_string(np, #value, (const char **)&pdata->value); \
  315. if (!ret) \
  316. pr_info("%s: %s - write "#value" to %s\n", __func__, np->name, pdata->value); \
  317. ret;\
  318. })
  319. #define sb_of_parse_bool(np, pdata, value) \
  320. ({ \
  321. pdata->value = of_property_read_bool(np, #value); \
  322. pr_info("%s: %s - write "#value" to %d\n", __func__, np->name, pdata->value); \
  323. })
  324. #define sb_of_parse_str_dt(np, dt_name, pdata, path) \
  325. ({ \
  326. int ret = 0; \
  327. ret = of_property_read_string(np, dt_name, (const char **)&pdata->path); \
  328. if (!ret) \
  329. pr_info("%s: %s - write "dt_name" to %s\n", __func__, np->name, pdata->path); \
  330. ret;\
  331. })
  332. #define sb_of_parse_u32_dt(np, dt_name, pdata, path, deft) \
  333. ({ \
  334. int ret = 0; \
  335. ret = of_property_read_u32(np, dt_name, (unsigned int *)&pdata->path); \
  336. if (ret) \
  337. pdata->path = deft; \
  338. pr_info("%s: %s - write "dt_name" to %d\n", __func__, np->name, pdata->path); \
  339. ret;\
  340. })
  341. #define sb_of_parse_bool_dt(np, dt_name, pdata, path) \
  342. ({ \
  343. pdata->path = of_property_read_bool(np, dt_name); \
  344. pr_info("%s: %s - write "dt_name" to %d\n", __func__, np->name, pdata->path); \
  345. })
  346. #endif
  347. #endif /* __SEC_BATTERY_COMMON_H */