lp8727.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * LP8727 Micro/Mini USB IC with integrated charger
  4. *
  5. * Copyright (C) 2011 Texas Instruments
  6. * Copyright (C) 2011 National Semiconductor
  7. */
  8. #ifndef _LP8727_H
  9. #define _LP8727_H
  10. enum lp8727_eoc_level {
  11. LP8727_EOC_5P,
  12. LP8727_EOC_10P,
  13. LP8727_EOC_16P,
  14. LP8727_EOC_20P,
  15. LP8727_EOC_25P,
  16. LP8727_EOC_33P,
  17. LP8727_EOC_50P,
  18. };
  19. enum lp8727_ichg {
  20. LP8727_ICHG_90mA,
  21. LP8727_ICHG_100mA,
  22. LP8727_ICHG_400mA,
  23. LP8727_ICHG_450mA,
  24. LP8727_ICHG_500mA,
  25. LP8727_ICHG_600mA,
  26. LP8727_ICHG_700mA,
  27. LP8727_ICHG_800mA,
  28. LP8727_ICHG_900mA,
  29. LP8727_ICHG_1000mA,
  30. };
  31. /**
  32. * struct lp8727_chg_param
  33. * @eoc_level : end of charge level setting
  34. * @ichg : charging current
  35. */
  36. struct lp8727_chg_param {
  37. enum lp8727_eoc_level eoc_level;
  38. enum lp8727_ichg ichg;
  39. };
  40. /**
  41. * struct lp8727_platform_data
  42. * @get_batt_present : check battery status - exists or not
  43. * @get_batt_level : get battery voltage (mV)
  44. * @get_batt_capacity : get battery capacity (%)
  45. * @get_batt_temp : get battery temperature
  46. * @ac : charging parameters for AC type charger
  47. * @usb : charging parameters for USB type charger
  48. * @debounce_msec : interrupt debounce time
  49. */
  50. struct lp8727_platform_data {
  51. u8 (*get_batt_present)(void);
  52. u16 (*get_batt_level)(void);
  53. u8 (*get_batt_capacity)(void);
  54. u8 (*get_batt_temp)(void);
  55. struct lp8727_chg_param *ac;
  56. struct lp8727_chg_param *usb;
  57. unsigned int debounce_msec;
  58. };
  59. #endif