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