2002-08-26 22:36:39 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2001
|
|
|
|
* Erik Theisen, Wave 7 Optics, etheisen@mindspring.com
|
|
|
|
*
|
2013-10-07 11:07:26 +00:00
|
|
|
* SPDX-License-Identifier: GPL-2.0+
|
2002-08-26 22:36:39 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <common.h>
|
|
|
|
#include <command.h>
|
|
|
|
|
2007-07-09 23:45:16 +00:00
|
|
|
#if defined(CONFIG_CMD_BSP)
|
2002-08-26 22:36:39 +00:00
|
|
|
|
|
|
|
#include "vpd.h"
|
|
|
|
|
|
|
|
/* ======================================================================
|
|
|
|
* Interpreter command to retrieve board specific Vital Product Data, "VPD"
|
|
|
|
* ======================================================================
|
|
|
|
*/
|
2010-06-28 20:00:46 +00:00
|
|
|
int do_vpd (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
|
2002-08-26 22:36:39 +00:00
|
|
|
{
|
|
|
|
VPD vpd; /* Board specific data struct */
|
2008-10-16 13:01:15 +00:00
|
|
|
uchar dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR;
|
2002-08-26 22:36:39 +00:00
|
|
|
|
|
|
|
/* Validate usage */
|
2010-07-16 23:06:04 +00:00
|
|
|
if (argc > 2)
|
|
|
|
return cmd_usage(cmdtp);
|
2002-08-26 22:36:39 +00:00
|
|
|
|
|
|
|
/* 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;
|
|
|
|
}
|
|
|
|
|
2003-07-01 21:06:45 +00:00
|
|
|
U_BOOT_CMD(
|
|
|
|
vpd, 2, 1, do_vpd,
|
2009-01-28 00:03:12 +00:00
|
|
|
"Read Vital Product Data",
|
2003-06-27 21:31:46 +00:00
|
|
|
"[dev_addr]\n"
|
2009-05-24 15:06:54 +00:00
|
|
|
" - Read VPD Data from default address, or device address 'dev_addr'."
|
2003-06-27 21:31:46 +00:00
|
|
|
);
|
|
|
|
|
2007-07-09 23:45:16 +00:00
|
|
|
#endif
|