From mboxrd@z Thu Jan 1 00:00:00 1970 From: jtzhou@marvell.com (Jett.Zhou) Date: Tue, 27 Mar 2012 13:25:46 +0800 Subject: [PATCH 3/3] ARM: MMP: add 88pm860x battery-charger support Message-ID: <1332825946-2260-1-git-send-email-jtzhou@marvell.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Add 88pm860x chg_desc platform data for ttc platform. Signed-off-by: Jett.Zhou --- arch/arm/mach-mmp/ttc_dkb.c | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c index 5ac5d58..4e18be7 100644 --- a/arch/arm/mach-mmp/ttc_dkb.c +++ b/arch/arm/mach-mmp/ttc_dkb.c @@ -17,6 +17,9 @@ #include #include #include +#include +#include +#include #include #include @@ -134,8 +137,42 @@ static struct pca953x_platform_data max7312_data[] = { }, }; +static char *ttc_psy_chg_stat[] = {"usb", NULL}; +/* + * Temperature can be handled by battery monitor base on interrupt + * scheme, so dummy it to make sure charger-manager initialize ok. + */ +static int dummy_temp_out_of_range(int *mC) +{ + *mC = 2500; + return 0; +} + +struct charger_desc chg_desc_data = { + .polling_mode = CM_POLL_ALWAYS, + .polling_interval_ms = 180000, + .battery_present = CM_FUEL_GAUGE, + .psy_charger_stat = &ttc_psy_chg_stat[0], + .psy_fuel_gauge = "battery-monitor", + .temperature_out_of_range = dummy_temp_out_of_range, +}; + +static struct pm860x_platform_data ttc_dkb_pm8607_info = { + .chg_desc = &chg_desc_data, + .companion_addr = 0x11, + .irq_mode = 0, + .irq_base = IRQ_BOARD_START, + .i2c_port = GI2C_PORT, +}; + static struct i2c_board_info ttc_dkb_i2c_info[] = { { + .type = "88PM860x", + .addr = 0x34, + .platform_data = &ttc_dkb_pm8607_info, + .irq = IRQ_PXA910_PMIC_INT, + }, + { .type = "max7312", .addr = 0x23, .irq = MMP_GPIO_TO_IRQ(80), -- 1.7.0.4