From 1f1b6ac49d885b0256af61e5e1607d2887126bb4 Mon Sep 17 00:00:00 2001 From: xieyi Date: Fri, 28 Sep 2012 18:23:33 +0800 Subject: [PATCH] rk2928: rk2926_m713: add in adc battery device --- arch/arm/configs/rk2926_m713_defconfig | 4 +++- arch/arm/mach-rk2928/board-rk2928-a720.c | 20 ++++++++++++++++++++ arch/arm/mach-rk2928/include/mach/board.h | 20 ++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/rk2926_m713_defconfig b/arch/arm/configs/rk2926_m713_defconfig index 3279495883c7..acfe2db4c67d 100644 --- a/arch/arm/configs/rk2926_m713_defconfig +++ b/arch/arm/configs/rk2926_m713_defconfig @@ -259,7 +259,9 @@ CONFIG_EXPANDED_GPIO_IRQ_NUM=0 CONFIG_SPI_FPGA_GPIO_NUM=0 CONFIG_SPI_FPGA_GPIO_IRQ_NUM=0 CONFIG_POWER_SUPPLY=y -CONFIG_TEST_POWER=y +CONFIG_BATTERY_RK30_ADC_FAC=y +CONFIG_BATTERY_RK30_AC_CHARGE=y +CONFIG_BATTERY_RK30_VOL3V8=y # CONFIG_HWMON is not set CONFIG_MFD_TPS65910=y CONFIG_MFD_TPS65090=y diff --git a/arch/arm/mach-rk2928/board-rk2928-a720.c b/arch/arm/mach-rk2928/board-rk2928-a720.c index 550da6c0d50a..467373737043 100755 --- a/arch/arm/mach-rk2928/board-rk2928-a720.c +++ b/arch/arm/mach-rk2928/board-rk2928-a720.c @@ -607,6 +607,23 @@ static struct platform_device device_acodec = { }; #endif +#ifdef CONFIG_BATTERY_RK30_ADC_FAC +static struct rk30_adc_battery_platform_data rk30_adc_battery_platdata = { + .dc_det_pin = INVALID_GPIO, + .batt_low_pin = INVALID_GPIO, + .charge_set_pin = INVALID_GPIO, + .charge_ok_pin = INVALID_GPIO, +}; + +static struct platform_device rk30_device_adc_battery = { + .name = "rk30-battery", + .id = -1, + .dev = { + .platform_data = &rk30_adc_battery_platdata, + }, +}; +#endif + static struct platform_device *devices[] __initdata = { #ifdef CONFIG_FB_ROCKCHIP &device_fb, @@ -623,6 +640,9 @@ static struct platform_device *devices[] __initdata = { #ifdef CONFIG_SND_SOC_RK2928 &device_acodec, #endif +#ifdef CONFIG_BATTERY_RK30_ADC_FAC + &rk30_device_adc_battery, +#endif }; //i2c #ifdef CONFIG_I2C0_RK30 diff --git a/arch/arm/mach-rk2928/include/mach/board.h b/arch/arm/mach-rk2928/include/mach/board.h index 9cda9b8badd8..2040eb35fa47 100644 --- a/arch/arm/mach-rk2928/include/mach/board.h +++ b/arch/arm/mach-rk2928/include/mach/board.h @@ -32,6 +32,26 @@ void __sramfunc board_pmu_resume(void); extern struct sys_timer rk2928_timer; +#ifdef CONFIG_BATTERY_RK30_ADC_FAC +/* adc battery */ +struct rk30_adc_battery_platform_data { + int (*io_init)(void); + int (*io_deinit)(void); + + int dc_det_pin; + int batt_low_pin; + int charge_ok_pin; + int charge_set_pin; + +// int adc_channel; + + int dc_det_level; + int batt_low_level; + int charge_ok_level; + int charge_set_level; +}; +#endif + #ifndef _LINUX_WLAN_PLAT_H_ struct wifi_platform_data { int (*set_power)(int val); -- 2.34.1