diff --git a/cmd/Kconfig b/cmd/Kconfig index 7b16720d88..87b56e2c92 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1219,6 +1219,11 @@ config CMD_REGULATOR the limits, which are found in device-tree and are kept in regulator's uclass platdata structure. +config CMD_CHARGE_DISPLAY + bool "Enable Driver Model Charge Display command" + help + Support U-Boot charge display. + endmenu menu "Security commands" diff --git a/cmd/Makefile b/cmd/Makefile index c91a8e8b34..868113eab2 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -33,6 +33,7 @@ obj-$(CONFIG_CMD_CLK) += clk.o obj-$(CONFIG_CMD_CONFIG) += config.o obj-$(CONFIG_CMD_CONSOLE) += console.o obj-$(CONFIG_CMD_CPU) += cpu.o +obj-$(CONFIG_CMD_CHARGE_DISPLAY) += charge.o obj-$(CONFIG_DATAFLASH_MMC_SELECT) += dataflash_mmc_mux.o obj-$(CONFIG_CMD_DATE) += date.o obj-$(CONFIG_CMD_DEMO) += demo.o diff --git a/cmd/charge.c b/cmd/charge.c new file mode 100644 index 0000000000..805fdb30f7 --- /dev/null +++ b/cmd/charge.c @@ -0,0 +1,38 @@ +/* + * (C) Copyright 2017 Rockchip Electronics Co., Ltd + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include + +static int charge_display(cmd_tbl_t *cmdtp, int flag, int argc, + char *const argv[]) +{ + int ret; + struct udevice *dev; + + if (argc != 1) + return CMD_RET_USAGE; + + ret = uclass_get_device(UCLASS_CHARGE_DISPLAY, 0, &dev); + if (ret) { + if (ret != -ENODEV) { + printf("Get UCLASS CHARGE DISPLAY failed: %d\n", ret); + return ret; + } + + return 0; + } + + return charge_display_show(dev); +} + +U_BOOT_CMD( + charge, 1, 0, charge_display, + "Charge display", + "" +);