diff options
author | Marek Vasut <marek.vasut@gmail.com> | 2010-05-31 16:51:50 +0200 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2010-06-18 15:07:35 +0800 |
commit | d198290d8250e6318cc31c15e7d017ef4441a438 (patch) | |
tree | 219b0055a1d5d9696e23d3bb1adc78e94594d0df /arch/arm/mach-pxa/z2.c | |
parent | 9ceb4c99f3f117dba16487d7c06790f0238726f8 (diff) | |
download | linux-d198290d8250e6318cc31c15e7d017ef4441a438.tar.bz2 |
[ARM] pxa/z2: Add battery support into Zipit Z2
This patch adds support for the AER915 battery chip into Zipit Z2
platform file.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'arch/arm/mach-pxa/z2.c')
-rw-r--r-- | arch/arm/mach-pxa/z2.c | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c index d303c6929d32..1452c71805c1 100644 --- a/arch/arm/mach-pxa/z2.c +++ b/arch/arm/mach-pxa/z2.c @@ -17,6 +17,7 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> #include <linux/pwm_backlight.h> +#include <linux/z2_battery.h> #include <linux/dma-mapping.h> #include <linux/spi/spi.h> #include <linux/spi/libertas_spi.h> @@ -452,6 +453,39 @@ static inline void z2_keys_init(void) {} #endif /****************************************************************************** + * Battery + ******************************************************************************/ +#if defined(CONFIG_I2C_PXA) || defined(CONFIG_I2C_PXA_MODULE) +static struct z2_battery_info batt_chip_info = { + .batt_I2C_bus = 0, + .batt_I2C_addr = 0x55, + .batt_I2C_reg = 2, + .charge_gpio = GPIO0_ZIPITZ2_AC_DETECT, + .min_voltage = 2400000, + .max_voltage = 3700000, + .batt_div = 69, + .batt_mult = 1000000, + .batt_tech = POWER_SUPPLY_TECHNOLOGY_LION, + .batt_name = "Z2", +}; + +static struct i2c_board_info __initdata z2_i2c_board_info[] = { + { + I2C_BOARD_INFO("aer915", 0x55), + .platform_data = &batt_chip_info, + } +}; + +static void __init z2_i2c_init(void) +{ + pxa_set_i2c_info(NULL); + i2c_register_board_info(0, ARRAY_AND_SIZE(z2_i2c_board_info)); +} +#else +static inline void z2_i2c_init(void) {} +#endif + +/****************************************************************************** * SSP Devices - WiFi and LCD control ******************************************************************************/ #if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE) @@ -579,12 +613,14 @@ static void __init z2_init(void) { pxa2xx_mfp_config(ARRAY_AND_SIZE(z2_pin_config)); + pxa_set_ffuart_info(NULL); + pxa_set_btuart_info(NULL); + pxa_set_stuart_info(NULL); + z2_lcd_init(); z2_mmc_init(); z2_mkp_init(); - - pxa_set_i2c_info(NULL); - + z2_i2c_init(); z2_spi_init(); z2_nor_init(); z2_pwm_init(); |