1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2018
4  * Lothar Felte, lothar.felten@gmail.com
5  */
6 
7 /*
8  * Wake-on-LAN support
9  */
10 #include <common.h>
11 #include <command.h>
12 #include <net.h>
13 
14 #if defined(CONFIG_CMD_WOL)
15 void wol_set_timeout(ulong);
16 
do_wol(struct cmd_tbl * cmdtp,int flag,int argc,char * const argv[])17 int do_wol(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
18 {
19 	/* Validate arguments */
20 	if (argc < 2)
21 		return CMD_RET_USAGE;
22 	wol_set_timeout(simple_strtol(argv[1], NULL, 10) * 1000);
23 	if (net_loop(WOL) < 0)
24 		return CMD_RET_FAILURE;
25 	return CMD_RET_SUCCESS;
26 }
27 
28 U_BOOT_CMD(
29 	wol,	2,	1,	do_wol,
30 	"wait for an incoming wake-on-lan packet",
31 	"Timeout"
32 );
33 #endif
34