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>
This commit is contained in:
committed by
Sandeep Paulraj
parent
917a62c0d2
commit
3e664f6d50
@@ -102,6 +102,7 @@
|
||||
|
||||
/* TWL6030 */
|
||||
#define CONFIG_TWL6030_POWER 1
|
||||
#define CONFIG_CMD_BAT 1
|
||||
|
||||
/* MMC */
|
||||
#define CONFIG_GENERIC_MMC 1
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user