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 *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 cmd_usage(cmdtp); 43 return 1; 44 } 45 46 /* Passed in EEPROM address */ 47 if (argc == 2) 48 dev_addr = (uchar) simple_strtoul (argv[1], NULL, 16); 49 50 /* Read VPD and output it */ 51 if (!vpd_get_data (dev_addr, &vpd)) { 52 vpd_print (&vpd); 53 return 0; 54 } 55 56 return 1; 57} 58 59U_BOOT_CMD( 60 vpd, 2, 1, do_vpd, 61 "Read Vital Product Data", 62 "[dev_addr]\n" 63 " - Read VPD Data from default address, or device address 'dev_addr'." 64); 65 66#endif 67