aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/board/intercontrol/digsy_mtc/cmd_disp.c
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/board/intercontrol/digsy_mtc/cmd_disp.c')
-rw-r--r--roms/u-boot/board/intercontrol/digsy_mtc/cmd_disp.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/roms/u-boot/board/intercontrol/digsy_mtc/cmd_disp.c b/roms/u-boot/board/intercontrol/digsy_mtc/cmd_disp.c
new file mode 100644
index 00000000..2ffa8bfe
--- /dev/null
+++ b/roms/u-boot/board/intercontrol/digsy_mtc/cmd_disp.c
@@ -0,0 +1,41 @@
+/*
+ * (C) Copyright 2011 DENX Software Engineering,
+ * Anatolij Gustschin <agust@denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <command.h>
+#include <mpc5xxx.h>
+#include <asm/io.h>
+
+#define GPIO_USB1_0 0x00010000
+
+static int cmd_disp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+ struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
+
+ if (argc < 2) {
+ printf("%s\n",
+ in_be32(&gpio->simple_dvo) & GPIO_USB1_0 ? "on" : "off");
+ return 0;
+ }
+
+ if (!strncmp(argv[1], "on", 2)) {
+ setbits_be32(&gpio->simple_dvo, GPIO_USB1_0);
+ } else if (!strncmp(argv[1], "off", 3)) {
+ clrbits_be32(&gpio->simple_dvo, GPIO_USB1_0);
+ } else {
+ cmd_usage(cmdtp);
+ return 1;
+ }
+ return 0;
+}
+
+U_BOOT_CMD(disp, 2, 1, cmd_disp,
+ "disp [on/off] - switch display on/off",
+ "\n - print display on/off status\n"
+ "on\n - turn on\n"
+ "off\n - turn off\n"
+);