diff options
author | Michal Simek <michal.simek@xilinx.com> | 2013-01-23 12:21:18 +0100 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2013-02-04 12:07:09 +0100 |
commit | 9fc6a06ad36994db21ca77013a8ba1c2a88e359c (patch) | |
tree | 11f0f10876a178a3fb7188aaf19b79c48dee4b16 /common/cmd_bdinfo.c | |
parent | 2281ba5172b2855ed3af2251832332b3e9e16f6c (diff) | |
download | u-boot-imx-9fc6a06ad36994db21ca77013a8ba1c2a88e359c.zip u-boot-imx-9fc6a06ad36994db21ca77013a8ba1c2a88e359c.tar.gz u-boot-imx-9fc6a06ad36994db21ca77013a8ba1c2a88e359c.tar.bz2 |
common: cmd_bdinfo: Fix bdinfo to show all MACs for Microblaze and ARM
- Show all ethernet MACs in the system.
- Show current ethernet device
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'common/cmd_bdinfo.c')
-rw-r--r-- | common/cmd_bdinfo.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c index 48cdd16..65a5e08 100644 --- a/common/cmd_bdinfo.c +++ b/common/cmd_bdinfo.c @@ -51,6 +51,25 @@ static void print_eth(int idx) } __maybe_unused +static void print_eths(void) +{ + struct eth_device *dev; + int i = 0; + + do { + dev = eth_get_dev_by_index(i); + if (dev) { + printf("eth%dname = %s\n", i, dev->name); + print_eth(i); + i++; + } + } while (dev); + + printf("current eth = %s\n", eth_get_name()); + printf("ip_addr = %s\n", getenv("ipaddr")); +} + +__maybe_unused static void print_lnum(const char *name, unsigned long long value) { printf("%-12s= 0x%.8llX\n", name, value); @@ -195,8 +214,7 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) print_num("sram size ", (ulong)bd->bi_sramsize); #endif #if defined(CONFIG_CMD_NET) - print_eth(0); - printf("ip_addr = %s\n", getenv("ipaddr")); + print_eths(); #endif printf("baudrate = %u bps\n", (ulong)bd->bi_baudrate); return 0; @@ -366,8 +384,7 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) } #if defined(CONFIG_CMD_NET) - print_eth(0); - printf("ip_addr = %s\n", getenv("ipaddr")); + print_eths(); #endif printf("baudrate = %u bps\n", bd->bi_baudrate); #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF)) |