diff options
author | Balaji T K <balajitk@ti.com> | 2010-11-25 13:52:04 +0300 |
---|---|---|
committer | Sandeep Paulraj <s-paulraj@ti.com> | 2010-12-11 18:56:01 +0300 |
commit | 3e664f6d50ea7f5d6ea96a028fc8f099236e99be (patch) | |
tree | 032ec5be00d6b17bfc491e9cbc4d34ee0cd01a88 /include | |
parent | 917a62c0d292d9da45100a76151a9fa2d13a9cdc (diff) | |
download | u-boot-3e664f6d50ea7f5d6ea96a028fc8f099236e99be.tar.xz |
ARMV7: OMAP4: twl6030 add battery charging support
Add battery charging support twl6030 driver.
Add support for battery voltage and current measurements.
Add command to get battery status and start/stop battery charging from USB.
Signed-off-by: Balaji T K <balajitk@ti.com>
Tested-by: Steve Sakoman <steve.sakoman@linaro.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/configs/omap4_sdp4430.h | 1 | ||||
-rw-r--r-- | include/twl6030.h | 45 |
2 files changed, 44 insertions, 2 deletions
diff --git a/include/configs/omap4_sdp4430.h b/include/configs/omap4_sdp4430.h index ed0bd41f7d..bdd330a745 100644 --- a/include/configs/omap4_sdp4430.h +++ b/include/configs/omap4_sdp4430.h @@ -102,6 +102,7 @@ /* TWL6030 */ #define CONFIG_TWL6030_POWER 1 +#define CONFIG_CMD_BAT 1 /* MMC */ #define CONFIG_GENERIC_MMC 1 diff --git a/include/twl6030.h b/include/twl6030.h index 54923ab2e4..6ed68a0e14 100644 --- a/include/twl6030.h +++ b/include/twl6030.h @@ -32,6 +32,18 @@ #define TWL6030_CHIP_CHARGER 0x49 #define TWL6030_CHIP_PWM 0x49 +/* Slave Address 0x48 */ +#define VUSB_CFG_STATE 0xA2 + +#define MISC1 0xE4 +#define VAC_MEAS (1 << 2) +#define VBAT_MEAS (1 << 1) +#define BB_MEAS (1 << 0) + +#define MISC2 0xE5 + +/* Slave Address 0x49 */ + /* Battery CHARGER REGISTERS */ #define CONTROLLER_INT_MASK 0xE0 #define CONTROLLER_CTRL1 0xE1 @@ -76,16 +88,45 @@ #define CHARGERUSB_VOREG_4P0 0x19 #define CHARGERUSB_VOREG_4P2 0x23 #define CHARGERUSB_VOREG_4P76 0x3F +/* CHARGERUSB_CTRL1 */ +#define SUSPEND_BOOT (1 << 7) +#define OPA_MODE (1 << 6) +#define HZ_MODE (1 << 5) +#define TERM (1 << 4) /* CHARGERUSB_CTRL2 */ #define CHARGERUSB_CTRL2_VITERM_50 (0 << 5) #define CHARGERUSB_CTRL2_VITERM_100 (1 << 5) #define CHARGERUSB_CTRL2_VITERM_150 (2 << 5) +#define CHARGERUSB_CTRL2_VITERM_400 (7 << 5) /* CONTROLLER_CTRL1 */ #define CONTROLLER_CTRL1_EN_CHARGER (1 << 4) #define CONTROLLER_CTRL1_SEL_CHARGER (1 << 3) +/* CONTROLLER_STAT1 */ +#define CHRG_EXTCHRG_STATZ (1 << 7) +#define CHRG_DET_N (1 << 5) +#define VAC_DET (1 << 3) +#define VBUS_DET (1 << 2) -#define VUSB_CFG_STATE 0xA2 -#define MISC2 0xE5 +#define FG_REG_10 0xCA +#define FG_REG_11 0xCB + +#define TOGGLE1 0x90 +#define FGS (1 << 5) +#define FGR (1 << 4) +#define GPADCS (1 << 1) +#define GPADCR (1 << 0) + +#define CTRL_P2 0x34 +#define CTRL_P2_SP2 (1 << 2) +#define CTRL_P2_EOCP2 (1 << 1) +#define CTRL_P2_BUSY (1 << 0) + +#define GPCH0_LSB 0x57 +#define GPCH0_MSB 0x58 void twl6030_init_battery_charging(void); void twl6030_usb_device_settings(void); +void twl6030_start_usb_charging(void); +void twl6030_stop_usb_charging(void); +int twl6030_get_battery_voltage(void); +int twl6030_get_battery_current(void); |