1/* 2 * (C) Copyright 2001 3 * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com 4 * 5 * See file CREDITS for list of people who contributed to this 6 * project. 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation; either version 2 of 11 * the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21 * MA 02111-1307 USA 22 */ 23 24#include <common.h> 25#include <command.h> 26 27#if defined(CONFIG_CMD_BSP) 28 29#include "vpd.h" 30 31/* ====================================================================== 32 * Interpreter command to retrieve board specific Vital Product Data, "VPD" 33 * ====================================================================== 34 */ 35int do_vpd (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) 36{ 37 VPD vpd; /* Board specific data struct */ 38 uchar dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR; 39 40 /* Validate usage */ 41 if (argc > 2) 42 return cmd_usage(cmdtp); 43 44 /* Passed in EEPROM address */ 45 if (argc == 2) 46 dev_addr = (uchar) simple_strtoul (argv[1], NULL, 16); 47 48 /* Read VPD and output it */ 49 if (!vpd_get_data (dev_addr, &vpd)) { 50 vpd_print (&vpd); 51 return 0; 52 } 53 54 return 1; 55} 56 57U_BOOT_CMD( 58 vpd, 2, 1, do_vpd, 59 "Read Vital Product Data", 60 "[dev_addr]\n" 61 " - Read VPD Data from default address, or device address 'dev_addr'." 62); 63 64#endif 65