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