From 3e664f6d50ea7f5d6ea96a028fc8f099236e99be Mon Sep 17 00:00:00 2001 From: Balaji T K Date: Thu, 25 Nov 2010 16:22:04 +0530 Subject: 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 Tested-by: Steve Sakoman Signed-off-by: Sandeep Paulraj --- include/twl6030.h | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'include/twl6030.h') 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); -- cgit v1.2.3