Loading arch/arm/mach-pxa/cm-x300.c +56 −1 Original line number Original line Diff line number Diff line Loading @@ -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> Loading Loading @@ -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 = { Loading Loading
arch/arm/mach-pxa/cm-x300.c +56 −1 Original line number Original line Diff line number Diff line Loading @@ -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> Loading Loading @@ -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 = { Loading