]>
Commit | Line | Data |
---|---|---|
f8cac651 WD |
1 | /* |
2 | * (C) Copyright 2001 | |
3 | * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com | |
4 | * | |
3765b3e7 | 5 | * SPDX-License-Identifier: GPL-2.0+ |
f8cac651 WD |
6 | */ |
7 | ||
8 | #include <common.h> | |
9 | #include <command.h> | |
10 | ||
ab3abcba | 11 | #if defined(CONFIG_CMD_BSP) |
f8cac651 WD |
12 | |
13 | #include "vpd.h" | |
f8cac651 WD |
14 | |
15 | /* ====================================================================== | |
16 | * Interpreter command to retrieve board specific Vital Product Data, "VPD" | |
17 | * ====================================================================== | |
18 | */ | |
54841ab5 | 19 | int do_vpd (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) |
f8cac651 WD |
20 | { |
21 | VPD vpd; /* Board specific data struct */ | |
6d0f6bcf | 22 | uchar dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR; |
f8cac651 WD |
23 | |
24 | /* Validate usage */ | |
47e26b1b WD |
25 | if (argc > 2) |
26 | return cmd_usage(cmdtp); | |
f8cac651 WD |
27 | |
28 | /* Passed in EEPROM address */ | |
29 | if (argc == 2) | |
30 | dev_addr = (uchar) simple_strtoul (argv[1], NULL, 16); | |
31 | ||
32 | /* Read VPD and output it */ | |
33 | if (!vpd_get_data (dev_addr, &vpd)) { | |
34 | vpd_print (&vpd); | |
35 | return 0; | |
36 | } | |
37 | ||
38 | return 1; | |
39 | } | |
40 | ||
0d498393 WD |
41 | U_BOOT_CMD( |
42 | vpd, 2, 1, do_vpd, | |
2fb2604d | 43 | "Read Vital Product Data", |
8bde7f77 | 44 | "[dev_addr]\n" |
a89c33db | 45 | " - Read VPD Data from default address, or device address 'dev_addr'." |
8bde7f77 WD |
46 | ); |
47 | ||
ab3abcba | 48 | #endif |