13e664f6dSBalaji T K /*
23e664f6dSBalaji T K * Copyright (C) 2010 Texas Instruments
33e664f6dSBalaji T K *
4*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+
53e664f6dSBalaji T K */
63e664f6dSBalaji T K
73e664f6dSBalaji T K #include <common.h>
83e664f6dSBalaji T K #include <command.h>
93e664f6dSBalaji T K
103e664f6dSBalaji T K #ifdef CONFIG_CMD_BAT
113e664f6dSBalaji T K #include <twl6030.h>
123e664f6dSBalaji T K
do_vbat(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])133e664f6dSBalaji T K int do_vbat(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
143e664f6dSBalaji T K {
153e664f6dSBalaji T K if (argc == 2) {
163e664f6dSBalaji T K if (strncmp(argv[1], "startcharge", 12) == 0)
173e664f6dSBalaji T K twl6030_start_usb_charging();
183e664f6dSBalaji T K else if (strncmp(argv[1], "stopcharge", 11) == 0)
193e664f6dSBalaji T K twl6030_stop_usb_charging();
203e664f6dSBalaji T K else if (strncmp(argv[1], "status", 7) == 0) {
213e664f6dSBalaji T K twl6030_get_battery_voltage();
223e664f6dSBalaji T K twl6030_get_battery_current();
233e664f6dSBalaji T K } else {
243e664f6dSBalaji T K goto bat_cmd_usage;
253e664f6dSBalaji T K }
263e664f6dSBalaji T K } else {
273e664f6dSBalaji T K goto bat_cmd_usage;
283e664f6dSBalaji T K }
293e664f6dSBalaji T K return 0;
303e664f6dSBalaji T K
313e664f6dSBalaji T K bat_cmd_usage:
323e664f6dSBalaji T K return cmd_usage(cmdtp);
333e664f6dSBalaji T K }
343e664f6dSBalaji T K
353e664f6dSBalaji T K U_BOOT_CMD(
363e664f6dSBalaji T K bat, 2, 1, do_vbat,
373e664f6dSBalaji T K "battery charging, voltage/current measurements",
383e664f6dSBalaji T K "status - display battery voltage and current\n"
393e664f6dSBalaji T K "bat startcharge - start charging via USB\n"
403e664f6dSBalaji T K "bat stopcharge - stop charging\n"
413e664f6dSBalaji T K );
423e664f6dSBalaji T K #endif /* CONFIG_BAT_CMD */
43