linux/include/linux/platform_data/lp8727.h
<<
>>
Prefs
   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
   9#ifndef _LP8727_H
  10#define _LP8727_H
  11
  12enum lp8727_eoc_level {
  13        LP8727_EOC_5P,
  14        LP8727_EOC_10P,
  15        LP8727_EOC_16P,
  16        LP8727_EOC_20P,
  17        LP8727_EOC_25P,
  18        LP8727_EOC_33P,
  19        LP8727_EOC_50P,
  20};
  21
  22enum lp8727_ichg {
  23        LP8727_ICHG_90mA,
  24        LP8727_ICHG_100mA,
  25        LP8727_ICHG_400mA,
  26        LP8727_ICHG_450mA,
  27        LP8727_ICHG_500mA,
  28        LP8727_ICHG_600mA,
  29        LP8727_ICHG_700mA,
  30        LP8727_ICHG_800mA,
  31        LP8727_ICHG_900mA,
  32        LP8727_ICHG_1000mA,
  33};
  34
  35/**
  36 * struct lp8727_chg_param
  37 * @eoc_level : end of charge level setting
  38 * @ichg      : charging current
  39 */
  40struct lp8727_chg_param {
  41        enum lp8727_eoc_level eoc_level;
  42        enum lp8727_ichg ichg;
  43};
  44
  45/**
  46 * struct lp8727_platform_data
  47 * @get_batt_present  : check battery status - exists or not
  48 * @get_batt_level    : get battery voltage (mV)
  49 * @get_batt_capacity : get battery capacity (%)
  50 * @get_batt_temp     : get battery temperature
  51 * @ac                : charging parameters for AC type charger
  52 * @usb               : charging parameters for USB type charger
  53 * @debounce_msec     : interrupt debounce time
  54 */
  55struct lp8727_platform_data {
  56        u8 (*get_batt_present)(void);
  57        u16 (*get_batt_level)(void);
  58        u8 (*get_batt_capacity)(void);
  59        u8 (*get_batt_temp)(void);
  60        struct lp8727_chg_param *ac;
  61        struct lp8727_chg_param *usb;
  62        unsigned int debounce_msec;
  63};
  64
  65#endif
  66