diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/Kconfig | 5 | ||||
| -rw-r--r-- | cmd/Makefile | 1 | ||||
| -rw-r--r-- | cmd/wol.c | 33 |
3 files changed, 39 insertions, 0 deletions
diff --git a/cmd/Kconfig b/cmd/Kconfig index 45c83359add..bbf9fc91130 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1239,6 +1239,11 @@ config CMD_PXE help Boot image via network using PXE protocol +config CMD_WOL + bool "wol" + help + Wait for wake-on-lan Magic Packet + endif menu "Misc commands" diff --git a/cmd/Makefile b/cmd/Makefile index 13cf7bf6c20..323f1fd2c77 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -100,6 +100,7 @@ obj-$(CONFIG_CMD_PCI) += pci.o endif obj-y += pcmcia.o obj-$(CONFIG_CMD_PXE) += pxe.o +obj-$(CONFIG_CMD_WOL) += wol.o obj-$(CONFIG_CMD_QFW) += qfw.o obj-$(CONFIG_CMD_READ) += read.o obj-$(CONFIG_CMD_REGINFO) += reginfo.o diff --git a/cmd/wol.c b/cmd/wol.c new file mode 100644 index 00000000000..8a756f373c8 --- /dev/null +++ b/cmd/wol.c @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2018 + * Lothar Felte, [email protected] + */ + +/* + * Wake-on-LAN support + */ +#include <common.h> +#include <command.h> +#include <net.h> + +#if defined(CONFIG_CMD_WOL) +void wol_set_timeout(ulong); + +int do_wol(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ + /* Validate arguments */ + if (argc < 2) + return CMD_RET_USAGE; + wol_set_timeout(simple_strtol(argv[1], NULL, 10) * 1000); + if (net_loop(WOL) < 0) + return CMD_RET_FAILURE; + return CMD_RET_SUCCESS; +} + +U_BOOT_CMD( + wol, 2, 1, do_wol, + "wait for an incoming wake-on-lan packet", + "Timeout" +); +#endif |
