diff options
Diffstat (limited to 'roms/u-boot/board/w7o/cmd_vpd.c')
-rw-r--r-- | roms/u-boot/board/w7o/cmd_vpd.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/roms/u-boot/board/w7o/cmd_vpd.c b/roms/u-boot/board/w7o/cmd_vpd.c new file mode 100644 index 00000000..879cb613 --- /dev/null +++ b/roms/u-boot/board/w7o/cmd_vpd.c @@ -0,0 +1,48 @@ +/* + * (C) Copyright 2001 + * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <command.h> + +#if defined(CONFIG_CMD_BSP) + +#include "vpd.h" + +/* ====================================================================== + * Interpreter command to retrieve board specific Vital Product Data, "VPD" + * ====================================================================== + */ +int do_vpd (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) +{ + VPD vpd; /* Board specific data struct */ + uchar dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR; + + /* Validate usage */ + if (argc > 2) + return cmd_usage(cmdtp); + + /* Passed in EEPROM address */ + if (argc == 2) + dev_addr = (uchar) simple_strtoul (argv[1], NULL, 16); + + /* Read VPD and output it */ + if (!vpd_get_data (dev_addr, &vpd)) { + vpd_print (&vpd); + return 0; + } + + return 1; +} + +U_BOOT_CMD( + vpd, 2, 1, do_vpd, + "Read Vital Product Data", + "[dev_addr]\n" + " - Read VPD Data from default address, or device address 'dev_addr'." +); + +#endif |