[ARM] pxa/cm-x300.c: add battery charger support
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
This commit is contained in:
Родитель
b1d9bf1d98
Коммит
03ba7e07f5
|
@ -30,6 +30,8 @@
|
||||||
#include <linux/i2c/pca953x.h>
|
#include <linux/i2c/pca953x.h>
|
||||||
|
|
||||||
#include <linux/mfd/da903x.h>
|
#include <linux/mfd/da903x.h>
|
||||||
|
#include <linux/power_supply.h>
|
||||||
|
#include <linux/apm-emulation.h>
|
||||||
|
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/spi/spi_gpio.h>
|
#include <linux/spi/spi_gpio.h>
|
||||||
|
@ -584,12 +586,65 @@ static void __init cm_x300_init_rtc(void)
|
||||||
static inline void cm_x300_init_rtc(void) {}
|
static inline void cm_x300_init_rtc(void) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Battery */
|
||||||
|
struct power_supply_info cm_x300_psy_info = {
|
||||||
|
.name = "battery",
|
||||||
|
.technology = POWER_SUPPLY_TECHNOLOGY_LIPO,
|
||||||
|
.voltage_max_design = 4200000,
|
||||||
|
.voltage_min_design = 3000000,
|
||||||
|
.use_for_apm = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
static void cm_x300_battery_low(void)
|
||||||
|
{
|
||||||
|
#if defined(CONFIG_APM_EMULATION)
|
||||||
|
apm_queue_event(APM_LOW_BATTERY);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void cm_x300_battery_critical(void)
|
||||||
|
{
|
||||||
|
#if defined(CONFIG_APM_EMULATION)
|
||||||
|
apm_queue_event(APM_CRITICAL_SUSPEND);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
struct da9030_battery_info cm_x300_battery_info = {
|
||||||
|
.battery_info = &cm_x300_psy_info,
|
||||||
|
|
||||||
|
.charge_milliamp = 1000,
|
||||||
|
.charge_millivolt = 4200,
|
||||||
|
|
||||||
|
.vbat_low = 3600,
|
||||||
|
.vbat_crit = 3400,
|
||||||
|
.vbat_charge_start = 4100,
|
||||||
|
.vbat_charge_stop = 4200,
|
||||||
|
.vbat_charge_restart = 4000,
|
||||||
|
|
||||||
|
.vcharge_min = 3200,
|
||||||
|
.vcharge_max = 5500,
|
||||||
|
|
||||||
|
.tbat_low = 197,
|
||||||
|
.tbat_high = 78,
|
||||||
|
.tbat_restart = 100,
|
||||||
|
|
||||||
|
.batmon_interval = 0,
|
||||||
|
|
||||||
|
.battery_low = cm_x300_battery_low,
|
||||||
|
.battery_critical = cm_x300_battery_critical,
|
||||||
|
};
|
||||||
|
|
||||||
/* DA9030 */
|
/* DA9030 */
|
||||||
struct da903x_subdev_info cm_x300_da9030_subdevs[] = {
|
struct da903x_subdev_info cm_x300_da9030_subdevs[] = {
|
||||||
{
|
{
|
||||||
.name = "da903x-backlight",
|
.name = "da903x-backlight",
|
||||||
.id = DA9030_ID_WLED,
|
.id = DA9030_ID_WLED,
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
.name = "da903x-battery",
|
||||||
|
.id = DA9030_ID_BAT,
|
||||||
|
.platform_data = &cm_x300_battery_info,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct da903x_platform_data cm_x300_da9030_info = {
|
static struct da903x_platform_data cm_x300_da9030_info = {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче