rk2928: rk2926_m713: add in adc battery device
authorxieyi <xieyi@rock-chips.com>
Fri, 28 Sep 2012 10:23:33 +0000 (18:23 +0800)
committerxieyi <xieyi@rock-chips.com>
Fri, 28 Sep 2012 10:32:55 +0000 (18:32 +0800)
arch/arm/configs/rk2926_m713_defconfig
arch/arm/mach-rk2928/board-rk2928-a720.c
arch/arm/mach-rk2928/include/mach/board.h

index 3279495883c7b9bbcc00ad8555e206c5d18dde9e..acfe2db4c67d450350a6518d871a2ed432ed5ba2 100644 (file)
@@ -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
index 550da6c0d50adf42659b02b0c0a76790f7e4022d..4673737370436cb17e8ede7a09871d7258f28fed 100755 (executable)
@@ -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
index 9cda9b8badd89bc703e39166f0b2cfc0aed644fe..2040eb35fa47103154c55b12c3e568250655cae2 100644 (file)
@@ -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);