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 --- board/ti/sdp4430/Makefile | 2 +- board/ti/sdp4430/cmd_bat.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++ board/ti/sdp4430/sdp.c | 4 ++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 board/ti/sdp4430/cmd_bat.c (limited to 'board/ti/sdp4430') diff --git a/board/ti/sdp4430/Makefile b/board/ti/sdp4430/Makefile index bce8534..f1ee544 100644 --- a/board/ti/sdp4430/Makefile +++ b/board/ti/sdp4430/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).o -COBJS := sdp.o +COBJS := sdp.o cmd_bat.o SRCS := $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS)) diff --git a/board/ti/sdp4430/cmd_bat.c b/board/ti/sdp4430/cmd_bat.c new file mode 100644 index 0000000..fe33538 --- /dev/null +++ b/board/ti/sdp4430/cmd_bat.c @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2010 Texas Instruments + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include +#include + +#ifdef CONFIG_CMD_BAT +#include + +int do_vbat(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ + if (argc == 2) { + if (strncmp(argv[1], "startcharge", 12) == 0) + twl6030_start_usb_charging(); + else if (strncmp(argv[1], "stopcharge", 11) == 0) + twl6030_stop_usb_charging(); + else if (strncmp(argv[1], "status", 7) == 0) { + twl6030_get_battery_voltage(); + twl6030_get_battery_current(); + } else { + goto bat_cmd_usage; + } + } else { + goto bat_cmd_usage; + } + return 0; + +bat_cmd_usage: + return cmd_usage(cmdtp); +} + +U_BOOT_CMD( + bat, 2, 1, do_vbat, + "battery charging, voltage/current measurements", + "status - display battery voltage and current\n" + "bat startcharge - start charging via USB\n" + "bat stopcharge - stop charging\n" +); +#endif /* CONFIG_BAT_CMD */ diff --git a/board/ti/sdp4430/sdp.c b/board/ti/sdp4430/sdp.c index 01d5ce4..b13c4c5 100644 --- a/board/ti/sdp4430/sdp.c +++ b/board/ti/sdp4430/sdp.c @@ -23,6 +23,7 @@ * MA 02111-1307 USA */ #include +#include #include #include @@ -63,6 +64,9 @@ int board_eth_init(bd_t *bis) */ int misc_init_r(void) { +#ifdef CONFIG_TWL6030_POWER + twl6030_init_battery_charging(); +#endif return 0; } -- cgit v1.1