1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * bq2415x charger driver 4 * 5 * Copyright (C) 2011-2013 Pali Rohár <pali@kernel.org> 6 */ 7 8 #ifndef BQ2415X_CHARGER_H 9 #define BQ2415X_CHARGER_H 10 11 /* 12 * This is platform data for bq2415x chip. It contains default board 13 * voltages and currents which can be also later configured via sysfs. If 14 * value is -1 then default chip value (specified in datasheet) will be 15 * used. 16 * 17 * Value resistor_sense is needed for for configuring charge and 18 * termination current. It it is less or equal to zero, configuring charge 19 * and termination current will not be possible. 20 * 21 * For automode support is needed to provide name of power supply device 22 * in value notify_device. Device driver must immediately report property 23 * POWER_SUPPLY_PROP_CURRENT_MAX when current changed. 24 */ 25 26 /* Supported modes with maximal current limit */ 27 enum bq2415x_mode { 28 BQ2415X_MODE_OFF, /* offline mode (charger disabled) */ 29 BQ2415X_MODE_NONE, /* unknown charger (100mA) */ 30 BQ2415X_MODE_HOST_CHARGER, /* usb host/hub charger (500mA) */ 31 BQ2415X_MODE_DEDICATED_CHARGER, /* dedicated charger (unlimited) */ 32 BQ2415X_MODE_BOOST, /* boost mode (charging disabled) */ 33 }; 34 35 struct bq2415x_platform_data { 36 int current_limit; /* mA */ 37 int weak_battery_voltage; /* mV */ 38 int battery_regulation_voltage; /* mV */ 39 int charge_current; /* mA */ 40 int termination_current; /* mA */ 41 int resistor_sense; /* m ohm */ 42 const char *notify_device; /* name */ 43 }; 44 45 #endif 46