]> git.sur5r.net Git - u-boot/blob - board/w7o/cmd_vpd.c
* Code cleanup:
[u-boot] / board / w7o / cmd_vpd.c
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 (CONFIG_COMMANDS & CFG_CMD_BSP)
28
29 #include "vpd.h"
30 #include "cmd_bsp.h"
31
32 /* ======================================================================
33  * Interpreter command to retrieve board specific Vital Product Data, "VPD"
34  * ======================================================================
35  */
36 int do_vpd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
37 {
38         VPD vpd;                        /* Board specific data struct */
39         uchar dev_addr = CFG_DEF_EEPROM_ADDR;
40
41         /* Validate usage */
42         if (argc > 2) {
43                 printf ("Usage:\n%s\n", cmdtp->usage);
44                 return 1;
45         }
46
47         /* Passed in EEPROM address */
48         if (argc == 2)
49                 dev_addr = (uchar) simple_strtoul (argv[1], NULL, 16);
50
51         /* Read VPD and output it */
52         if (!vpd_get_data (dev_addr, &vpd)) {
53                 vpd_print (&vpd);
54                 return 0;
55         }
56
57         return 1;
58 }
59
60 cmd_tbl_t U_BOOT_CMD(vpd) = MK_CMD_ENTRY(
61           "vpd",        2,      1,      do_vpd,
62           "vpd     - Read Vital Product Data\n",
63           "[dev_addr]\n"
64           "        - Read VPD Data from default address, or device address 'dev_addr'.\n"
65 );
66
67 #endif /* (CONFIG_COMMANDS & CFG_CMD_BSP) */