Blame view

common/cmd_bdinfo.c 13.9 KB
8bde7f776   wdenk   * Code cleanup:
1
2
3
4
  /*
   * (C) Copyright 2003
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
5
   * SPDX-License-Identifier:	GPL-2.0+
8bde7f776   wdenk   * Code cleanup:
6
7
8
9
10
11
12
   */
  
  /*
   * Boot support
   */
  #include <common.h>
  #include <command.h>
d88af4da9   Mike Frysinger   cmd_bdinfo: simpl...
13
  #include <linux/compiler.h>
8bde7f776   wdenk   * Code cleanup:
14

d87080b72   Wolfgang Denk   GCC-4.x fixes: cl...
15
  DECLARE_GLOBAL_DATA_PTR;
8bde7f776   wdenk   * Code cleanup:
16

d88af4da9   Mike Frysinger   cmd_bdinfo: simpl...
17
18
19
20
21
22
  __maybe_unused
  static void print_num(const char *name, ulong value)
  {
  	printf("%-12s= 0x%08lX
  ", name, value);
  }
8bde7f776   wdenk   * Code cleanup:
23

5f3dfadc2   Simon Glass   Fix unused functi...
24
  __maybe_unused
d88af4da9   Mike Frysinger   cmd_bdinfo: simpl...
25
26
27
28
29
30
31
32
33
34
35
36
37
  static void print_eth(int idx)
  {
  	char name[10], *val;
  	if (idx)
  		sprintf(name, "eth%iaddr", idx);
  	else
  		strcpy(name, "ethaddr");
  	val = getenv(name);
  	if (!val)
  		val = "(not set)";
  	printf("%-12s= %s
  ", name, val);
  }
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
38

d88af4da9   Mike Frysinger   cmd_bdinfo: simpl...
39
  __maybe_unused
9fc6a06ad   Michal Simek   common: cmd_bdinf...
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  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
  ", i, dev->name);
  			print_eth(i);
  			i++;
  		}
  	} while (dev);
  
  	printf("current eth = %s
  ", eth_get_name());
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
  }
  
  __maybe_unused
47708457f   Daniel Schwierzeck   common: cmd_bdinf...
62
  static void print_lnum(const char *name, unsigned long long value)
d88af4da9   Mike Frysinger   cmd_bdinfo: simpl...
63
64
65
66
67
68
69
70
71
72
73
74
75
  {
  	printf("%-12s= 0x%.8llX
  ", name, value);
  }
  
  __maybe_unused
  static void print_mhz(const char *name, unsigned long hz)
  {
  	char buf[32];
  
  	printf("%-12s= %6s MHz
  ", name, strmhz(buf, hz));
  }
8bde7f776   wdenk   * Code cleanup:
76

c99ea7907   Reinhard Meyer   Fix #if chain and...
77
  #if defined(CONFIG_PPC)
e79394643   York Sun   common: Update cm...
78
79
80
81
  void __weak board_detail(void)
  {
  	/* Please define boot_detail() for your platform */
  }
8bde7f776   wdenk   * Code cleanup:
82

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
83
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8bde7f776   wdenk   * Code cleanup:
84
  {
8bde7f776   wdenk   * Code cleanup:
85
  	bd_t *bd = gd->bd;
8bde7f776   wdenk   * Code cleanup:
86
87
  
  #ifdef DEBUG
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
  	print_num("bd address",		(ulong)bd);
  #endif
  	print_num("memstart",		bd->bi_memstart);
  	print_lnum("memsize",		bd->bi_memsize);
  	print_num("flashstart",		bd->bi_flashstart);
  	print_num("flashsize",		bd->bi_flashsize);
  	print_num("flashoffset",	bd->bi_flashoffset);
  	print_num("sramstart",		bd->bi_sramstart);
  	print_num("sramsize",		bd->bi_sramsize);
  #if	defined(CONFIG_5xx)  || defined(CONFIG_8xx) || \
  	defined(CONFIG_8260) || defined(CONFIG_E500)
  	print_num("immr_base",		bd->bi_immr_base);
  #endif
  	print_num("bootflags",		bd->bi_bootflags);
  #if	defined(CONFIG_405CR) || defined(CONFIG_405EP) || \
  	defined(CONFIG_405GP) || \
  	defined(CONFIG_440EP) || defined(CONFIG_440EPX) || \
  	defined(CONFIG_440GR) || defined(CONFIG_440GRX) || \
  	defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \
  	defined(CONFIG_XILINX_405)
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
108
109
  	print_mhz("procfreq",		bd->bi_procfreq);
  	print_mhz("plb_busfreq",	bd->bi_plb_busfreq);
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
110
111
112
113
  #if	defined(CONFIG_405EP) || defined(CONFIG_405GP) || \
  	defined(CONFIG_440EP) || defined(CONFIG_440EPX) || \
  	defined(CONFIG_440GR) || defined(CONFIG_440GRX) || \
  	defined(CONFIG_440SPE) || defined(CONFIG_XILINX_405)
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
114
  	print_mhz("pci_busfreq",	bd->bi_pci_busfreq);
8bde7f776   wdenk   * Code cleanup:
115
  #endif
9fea65a6c   Michal Simek   ppc4xx: Rename CO...
116
  #else	/* ! CONFIG_405GP, CONFIG_405CR, CONFIG_405EP, CONFIG_XILINX_405, CONFIG_440EP CONFIG_440GR */
9c4c5ae3e   Jon Loeliger   * Patch by Jon Lo...
117
  #if defined(CONFIG_CPM2)
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
118
119
120
  	print_mhz("vco",		bd->bi_vco);
  	print_mhz("sccfreq",		bd->bi_sccfreq);
  	print_mhz("brgfreq",		bd->bi_brgfreq);
8bde7f776   wdenk   * Code cleanup:
121
  #endif
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
122
  	print_mhz("intfreq",		bd->bi_intfreq);
9c4c5ae3e   Jon Loeliger   * Patch by Jon Lo...
123
  #if defined(CONFIG_CPM2)
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
124
  	print_mhz("cpmfreq",		bd->bi_cpmfreq);
8bde7f776   wdenk   * Code cleanup:
125
  #endif
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
126
  	print_mhz("busfreq",		bd->bi_busfreq);
9fea65a6c   Michal Simek   ppc4xx: Rename CO...
127
  #endif /* CONFIG_405GP, CONFIG_405CR, CONFIG_405EP, CONFIG_XILINX_405, CONFIG_440EP CONFIG_440GR */
03f5c5502   wdenk   Patches by Jon Lo...
128

34e210f5b   Timur Tabi   cmd_bdinfo: displ...
129
130
131
132
133
134
135
136
137
  #ifdef CONFIG_ENABLE_36BIT_PHYS
  #ifdef CONFIG_PHYS_64BIT
  	puts("addressing  = 36-bit
  ");
  #else
  	puts("addressing  = 32-bit
  ");
  #endif
  #endif
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
138
  	print_eth(0);
e2ffd59b4   wdenk   * Code cleanup, m...
139
  #if defined(CONFIG_HAS_ETH1)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
140
  	print_eth(1);
03f5c5502   wdenk   Patches by Jon Lo...
141
  #endif
e2ffd59b4   wdenk   * Code cleanup, m...
142
  #if defined(CONFIG_HAS_ETH2)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
143
  	print_eth(2);
42d1f0394   wdenk   * Patches by Xian...
144
  #endif
e2ffd59b4   wdenk   * Code cleanup, m...
145
  #if defined(CONFIG_HAS_ETH3)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
146
  	print_eth(3);
03f5c5502   wdenk   Patches by Jon Lo...
147
  #endif
c68a05fee   richardretanubun   Adds two more eth...
148
  #if defined(CONFIG_HAS_ETH4)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
149
  	print_eth(4);
c68a05fee   richardretanubun   Adds two more eth...
150
  #endif
c68a05fee   richardretanubun   Adds two more eth...
151
  #if defined(CONFIG_HAS_ETH5)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
152
  	print_eth(5);
c68a05fee   richardretanubun   Adds two more eth...
153
  #endif
8bde7f776   wdenk   * Code cleanup:
154
  #ifdef CONFIG_HERMES
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
155
  	print_mhz("ethspeed",		bd->bi_ethspeed);
8bde7f776   wdenk   * Code cleanup:
156
  #endif
50a47d052   Mike Frysinger   net: punt bd->bi_...
157
158
  	printf("IP addr     = %s
  ", getenv("ipaddr"));
a7e5ee9eb   Simon Glass   powerpc: Change b...
159
160
  	printf("baudrate    = %6u bps
  ", bd->bi_baudrate);
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
161
  	print_num("relocaddr", gd->relocaddr);
e79394643   York Sun   common: Update cm...
162
  	board_detail();
8bde7f776   wdenk   * Code cleanup:
163
164
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
165
  #elif defined(CONFIG_NIOS2)
5c952cf02   wdenk   Patches by Scott ...
166

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
167
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
5c952cf02   wdenk   Patches by Scott ...
168
  {
5c952cf02   wdenk   Patches by Scott ...
169
  	bd_t *bd = gd->bd;
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
170
171
172
173
174
  	print_num("mem start",		(ulong)bd->bi_memstart);
  	print_lnum("mem size",		(u64)bd->bi_memsize);
  	print_num("flash start",	(ulong)bd->bi_flashstart);
  	print_num("flash size",		(ulong)bd->bi_flashsize);
  	print_num("flash offset",	(ulong)bd->bi_flashoffset);
5c952cf02   wdenk   Patches by Scott ...
175

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
176
  #if defined(CONFIG_SYS_SRAM_BASE)
5c952cf02   wdenk   Patches by Scott ...
177
178
179
  	print_num ("sram start",	(ulong)bd->bi_sramstart);
  	print_num ("sram size",		(ulong)bd->bi_sramsize);
  #endif
902531788   Jon Loeliger   common/: Remove l...
180
  #if defined(CONFIG_CMD_NET)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
181
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
182
183
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
5c952cf02   wdenk   Patches by Scott ...
184
  #endif
7fffe2fac   Simon Glass   nios2: Change bi_...
185
186
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
5c952cf02   wdenk   Patches by Scott ...
187
188
189
  
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
190
191
  
  #elif defined(CONFIG_MICROBLAZE)
cfc67116a   Michal Simek   [Microblaze][PATC...
192

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
193
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
cfc67116a   Michal Simek   [Microblaze][PATC...
194
  {
cfc67116a   Michal Simek   [Microblaze][PATC...
195
  	bd_t *bd = gd->bd;
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
196
197
198
199
200
  	print_num("mem start      ",	(ulong)bd->bi_memstart);
  	print_lnum("mem size       ",	(u64)bd->bi_memsize);
  	print_num("flash start    ",	(ulong)bd->bi_flashstart);
  	print_num("flash size     ",	(ulong)bd->bi_flashsize);
  	print_num("flash offset   ",	(ulong)bd->bi_flashoffset);
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
201
  #if defined(CONFIG_SYS_SRAM_BASE)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
202
203
  	print_num("sram start     ",	(ulong)bd->bi_sramstart);
  	print_num("sram size      ",	(ulong)bd->bi_sramsize);
cfc67116a   Michal Simek   [Microblaze][PATC...
204
  #endif
902531788   Jon Loeliger   common/: Remove l...
205
  #if defined(CONFIG_CMD_NET)
9fc6a06ad   Michal Simek   common: cmd_bdinf...
206
  	print_eths();
cfc67116a   Michal Simek   [Microblaze][PATC...
207
  #endif
82b6a4764   Michal Simek   common: cmd_bdinf...
208
209
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
cfc67116a   Michal Simek   [Microblaze][PATC...
210
211
  	return 0;
  }
4a5517094   wdenk   * Patch by Scott ...
212

c99ea7907   Reinhard Meyer   Fix #if chain and...
213
  #elif defined(CONFIG_SPARC)
54841ab50   Wolfgang Denk   Make sure that ar...
214
  int do_bdinfo(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
215
216
  {
  	bd_t *bd = gd->bd;
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
217
218
219
220
221
  
  #ifdef DEBUG
  	print_num("bd address             ", (ulong) bd);
  #endif
  	print_num("memstart               ", bd->bi_memstart);
b57ca3e12   Becky Bruce   Change bd/gd mems...
222
  	print_lnum("memsize                ", bd->bi_memsize);
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
223
  	print_num("flashstart             ", bd->bi_flashstart);
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
224
  	print_num("CONFIG_SYS_MONITOR_BASE       ", CONFIG_SYS_MONITOR_BASE);
0e8d15866   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ENV ma...
225
  	print_num("CONFIG_ENV_ADDR           ", CONFIG_ENV_ADDR);
d97f01a64   Marek Vasut   dm: sparc: common...
226
227
  	printf("CONFIG_SYS_RELOC_MONITOR_BASE = 0x%x (%d)
  ", CONFIG_SYS_RELOC_MONITOR_BASE,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
228
  	       CONFIG_SYS_MONITOR_LEN);
d97f01a64   Marek Vasut   dm: sparc: common...
229
230
  	printf("CONFIG_SYS_MALLOC_BASE        = 0x%x (%d)
  ", CONFIG_SYS_MALLOC_BASE,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
231
  	       CONFIG_SYS_MALLOC_LEN);
d97f01a64   Marek Vasut   dm: sparc: common...
232
233
  	printf("CONFIG_SYS_INIT_SP_OFFSET     = 0x%x (%d)
  ", CONFIG_SYS_INIT_SP_OFFSET,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
234
  	       CONFIG_SYS_STACK_SIZE);
d97f01a64   Marek Vasut   dm: sparc: common...
235
236
  	printf("CONFIG_SYS_PROM_OFFSET        = 0x%x (%d)
  ", CONFIG_SYS_PROM_OFFSET,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
237
  	       CONFIG_SYS_PROM_SIZE);
d97f01a64   Marek Vasut   dm: sparc: common...
238
239
  	printf("CONFIG_SYS_GBL_DATA_OFFSET    = 0x%x (%d)
  ", CONFIG_SYS_GBL_DATA_OFFSET,
25ddd1fb0   Wolfgang Denk   Replace CONFIG_SY...
240
  	       GENERATED_GBL_DATA_SIZE);
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
241
242
  
  #if defined(CONFIG_CMD_NET)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
243
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
244
245
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
246
  #endif
a8f1f1cd9   Simon Glass   sparc: Change bi_...
247
248
  	printf("baudrate               = %6u bps
  ", bd->bi_baudrate);
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
249
250
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
251
  #elif defined(CONFIG_M68K)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
252
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8e585f02f   TsiChung Liew   Added M5329AFEE a...
253
  {
8e585f02f   TsiChung Liew   Added M5329AFEE a...
254
  	bd_t *bd = gd->bd;
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
255

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
256
257
258
259
260
  	print_num("memstart",		(ulong)bd->bi_memstart);
  	print_lnum("memsize",		(u64)bd->bi_memsize);
  	print_num("flashstart",		(ulong)bd->bi_flashstart);
  	print_num("flashsize",		(ulong)bd->bi_flashsize);
  	print_num("flashoffset",	(ulong)bd->bi_flashoffset);
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
261
  #if defined(CONFIG_SYS_INIT_RAM_ADDR)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
262
263
  	print_num("sramstart",		(ulong)bd->bi_sramstart);
  	print_num("sramsize",		(ulong)bd->bi_sramsize);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
264
  #endif
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
265
  #if defined(CONFIG_SYS_MBAR)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
266
  	print_num("mbar",		bd->bi_mbar_base);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
267
  #endif
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
268
269
  	print_mhz("cpufreq",		bd->bi_intfreq);
  	print_mhz("busfreq",		bd->bi_busfreq);
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
270
  #ifdef CONFIG_PCI
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
271
  	print_mhz("pcifreq",		bd->bi_pcifreq);
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
272
273
  #endif
  #ifdef CONFIG_EXTRA_CLOCK
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
274
275
276
  	print_mhz("flbfreq",		bd->bi_flbfreq);
  	print_mhz("inpfreq",		bd->bi_inpfreq);
  	print_mhz("vcofreq",		bd->bi_vcofreq);
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
277
  #endif
26667b7fa   Stefan Roese   ColdFire: Fix som...
278
  #if defined(CONFIG_CMD_NET)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
279
  	print_eth(0);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
280
  #if defined(CONFIG_HAS_ETH1)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
281
  	print_eth(1);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
282
  #endif
8e585f02f   TsiChung Liew   Added M5329AFEE a...
283
  #if defined(CONFIG_HAS_ETH2)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
284
  	print_eth(2);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
285
  #endif
8e585f02f   TsiChung Liew   Added M5329AFEE a...
286
  #if defined(CONFIG_HAS_ETH3)
de2dff6ff   Mike Frysinger   bdinfo: get mac a...
287
  	print_eth(3);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
288
  #endif
50a47d052   Mike Frysinger   net: punt bd->bi_...
289
290
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
26667b7fa   Stefan Roese   ColdFire: Fix som...
291
  #endif
f5a5b3c5e   Simon Glass   m68k: Change bi_b...
292
293
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
294
295
296
  
  	return 0;
  }
8dc48d71a   Mike Frysinger   add Blackfin-spec...
297
  #elif defined(CONFIG_BLACKFIN)
c99ea7907   Reinhard Meyer   Fix #if chain and...
298

54841ab50   Wolfgang Denk   Make sure that ar...
299
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8dc48d71a   Mike Frysinger   add Blackfin-spec...
300
  {
8dc48d71a   Mike Frysinger   add Blackfin-spec...
301
302
303
304
305
306
307
308
  	bd_t *bd = gd->bd;
  
  	printf("U-Boot      = %s
  ", bd->bi_r_version);
  	printf("CPU         = %s
  ", bd->bi_cpu);
  	printf("Board       = %s
  ", bd->bi_board_name);
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
309
310
311
  	print_mhz("VCO",	bd->bi_vco);
  	print_mhz("CCLK",	bd->bi_cclk);
  	print_mhz("SCLK",	bd->bi_sclk);
8dc48d71a   Mike Frysinger   add Blackfin-spec...
312

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
313
314
315
316
317
318
  	print_num("boot_params",	(ulong)bd->bi_boot_params);
  	print_num("memstart",		(ulong)bd->bi_memstart);
  	print_lnum("memsize",		(u64)bd->bi_memsize);
  	print_num("flashstart",		(ulong)bd->bi_flashstart);
  	print_num("flashsize",		(ulong)bd->bi_flashsize);
  	print_num("flashoffset",	(ulong)bd->bi_flashoffset);
8dc48d71a   Mike Frysinger   add Blackfin-spec...
319

de2dff6ff   Mike Frysinger   bdinfo: get mac a...
320
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
321
322
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
5e84e5a7d   Simon Glass   blackfin: Change ...
323
324
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
8dc48d71a   Mike Frysinger   add Blackfin-spec...
325
326
327
  
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
328
  #elif defined(CONFIG_MIPS)
8bde7f776   wdenk   * Code cleanup:
329

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
330
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8bde7f776   wdenk   * Code cleanup:
331
  {
8bde7f776   wdenk   * Code cleanup:
332
  	bd_t *bd = gd->bd;
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
333
334
335
336
337
338
  	print_num("boot_params",	(ulong)bd->bi_boot_params);
  	print_num("memstart",		(ulong)bd->bi_memstart);
  	print_lnum("memsize",		(u64)bd->bi_memsize);
  	print_num("flashstart",		(ulong)bd->bi_flashstart);
  	print_num("flashsize",		(ulong)bd->bi_flashsize);
  	print_num("flashoffset",	(ulong)bd->bi_flashoffset);
8bde7f776   wdenk   * Code cleanup:
339

de2dff6ff   Mike Frysinger   bdinfo: get mac a...
340
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
341
342
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
8dc22b00a   Simon Glass   mips: Change glob...
343
344
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
8bde7f776   wdenk   * Code cleanup:
345
346
347
  
  	return 0;
  }
8bde7f776   wdenk   * Code cleanup:
348

c99ea7907   Reinhard Meyer   Fix #if chain and...
349
  #elif defined(CONFIG_AVR32)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
350
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
c99ea7907   Reinhard Meyer   Fix #if chain and...
351
352
  {
  	bd_t *bd = gd->bd;
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
353
354
355
356
357
358
  	print_num("boot_params",	(ulong)bd->bi_boot_params);
  	print_num("memstart",		(ulong)bd->bi_memstart);
  	print_lnum("memsize",		(u64)bd->bi_memsize);
  	print_num("flashstart",		(ulong)bd->bi_flashstart);
  	print_num("flashsize",		(ulong)bd->bi_flashsize);
  	print_num("flashoffset",	(ulong)bd->bi_flashoffset);
c99ea7907   Reinhard Meyer   Fix #if chain and...
359
360
  
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
361
362
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
15dc95d48   Simon Glass   avr32: Change bi_...
363
364
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
c99ea7907   Reinhard Meyer   Fix #if chain and...
365
366
367
368
369
  
  	return 0;
  }
  
  #elif defined(CONFIG_ARM)
8bde7f776   wdenk   * Code cleanup:
370

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
371
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8bde7f776   wdenk   * Code cleanup:
372
  {
8bde7f776   wdenk   * Code cleanup:
373
374
  	int i;
  	bd_t *bd = gd->bd;
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
375
376
  	print_num("arch_number",	bd->bi_arch_number);
  	print_num("boot_params",	(ulong)bd->bi_boot_params);
8bde7f776   wdenk   * Code cleanup:
377

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
378
  	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
8bde7f776   wdenk   * Code cleanup:
379
380
381
382
  		print_num("DRAM bank",	i);
  		print_num("-> start",	bd->bi_dram[i].start);
  		print_num("-> size",	bd->bi_dram[i].size);
  	}
a41dbbd98   Hebbar   ARM: Display Ethe...
383
  #if defined(CONFIG_CMD_NET)
9fc6a06ad   Michal Simek   common: cmd_bdinf...
384
  	print_eths();
a41dbbd98   Hebbar   ARM: Display Ethe...
385
  #endif
e46e31a83   Simon Glass   arm: Change globa...
386
387
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
e47f2db53   Aneesh V   armv7: rename cac...
388
  #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
34fd5d253   Simon Glass   arm: Move tlb_add...
389
  	print_num("TLB addr", gd->arch.tlb_addr);
f1d2b313c   Heiko Schocher   ARM: add relocati...
390
  #endif
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
391
392
393
394
  	print_num("relocaddr", gd->relocaddr);
  	print_num("reloc off", gd->reloc_off);
  	print_num("irq_sp", gd->irq_sp);	/* irq stack pointer */
  	print_num("sp start ", gd->start_addr_sp);
c8fcd0f27   Simon Glass   Only use fb_base ...
395
  #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
396
  	print_num("FB base  ", gd->fb_base);
c8fcd0f27   Simon Glass   Only use fb_base ...
397
  #endif
8f5d46872   Hadli, Manjunath   davinci: add supp...
398
399
400
401
402
403
404
405
406
407
408
409
  	/*
  	 * TODO: Currently only support for davinci SOC's is added.
  	 * Remove this check once all the board implement this.
  	 */
  #ifdef CONFIG_CLOCKS
  	printf("ARM frequency = %ld MHz
  ", gd->bd->bi_arm_freq);
  	printf("DSP frequency = %ld MHz
  ", gd->bd->bi_dsp_freq);
  	printf("DDR frequency = %ld MHz
  ", gd->bd->bi_ddr_freq);
  #endif
8bde7f776   wdenk   * Code cleanup:
410
411
  	return 0;
  }
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
412
  #elif defined(CONFIG_SH)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
413
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
414
415
  {
  	bd_t *bd = gd->bd;
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
416
417
418
419
420
  	print_num("mem start      ",	(ulong)bd->bi_memstart);
  	print_lnum("mem size       ",	(u64)bd->bi_memsize);
  	print_num("flash start    ",	(ulong)bd->bi_flashstart);
  	print_num("flash size     ",	(ulong)bd->bi_flashsize);
  	print_num("flash offset   ",	(ulong)bd->bi_flashoffset);
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
421
422
423
  
  #if defined(CONFIG_CMD_NET)
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
424
425
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
426
  #endif
ecd4551f1   Simon Glass   sh: Change bi_bau...
427
428
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
429
430
  	return 0;
  }
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
431
  #elif defined(CONFIG_X86)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
432
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
433
434
435
  {
  	int i;
  	bd_t *bd = gd->bd;
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
436

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
437
438
439
440
441
442
443
444
445
  	print_num("boot_params",	(ulong)bd->bi_boot_params);
  	print_num("bi_memstart",	bd->bi_memstart);
  	print_num("bi_memsize",		bd->bi_memsize);
  	print_num("bi_flashstart",	bd->bi_flashstart);
  	print_num("bi_flashsize",	bd->bi_flashsize);
  	print_num("bi_flashoffset",	bd->bi_flashoffset);
  	print_num("bi_sramstart",	bd->bi_sramstart);
  	print_num("bi_sramsize",	bd->bi_sramsize);
  	print_num("bi_bootflags",	bd->bi_bootflags);
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
446
447
  	print_mhz("cpufreq",		bd->bi_intfreq);
  	print_mhz("busfreq",		bd->bi_busfreq);
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
448
449
  
  	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
450
451
452
453
454
455
456
  		print_num("DRAM bank",	i);
  		print_num("-> start",	bd->bi_dram[i].start);
  		print_num("-> size",	bd->bi_dram[i].size);
  	}
  
  #if defined(CONFIG_CMD_NET)
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
457
458
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
459
  	print_mhz("ethspeed",	    bd->bi_ethspeed);
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
460
  #endif
55f97c1bf   Simon Glass   x86: Change globa...
461
462
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
463
464
465
  
  	return 0;
  }
6fcc3be45   Simon Glass   sandbox: Add boar...
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
  #elif defined(CONFIG_SANDBOX)
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
  	int i;
  	bd_t *bd = gd->bd;
  
  	print_num("boot_params", (ulong)bd->bi_boot_params);
  
  	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
  		print_num("DRAM bank", i);
  		print_num("-> start", bd->bi_dram[i].start);
  		print_num("-> size", bd->bi_dram[i].size);
  	}
  
  #if defined(CONFIG_CMD_NET)
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
483
484
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
6fcc3be45   Simon Glass   sandbox: Add boar...
485
  #endif
c8fcd0f27   Simon Glass   Only use fb_base ...
486
  #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
6fcc3be45   Simon Glass   sandbox: Add boar...
487
  	print_num("FB base  ", gd->fb_base);
c8fcd0f27   Simon Glass   Only use fb_base ...
488
  #endif
6fcc3be45   Simon Glass   sandbox: Add boar...
489
490
  	return 0;
  }
64d614617   Macpaul Lin   nds32: common bdi...
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
  #elif defined(CONFIG_NDS32)
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
  	int i;
  	bd_t *bd = gd->bd;
  
  	print_num("arch_number",	bd->bi_arch_number);
  	print_num("boot_params",	(ulong)bd->bi_boot_params);
  
  	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
  		print_num("DRAM bank",	i);
  		print_num("-> start",	bd->bi_dram[i].start);
  		print_num("-> size",	bd->bi_dram[i].size);
  	}
  
  #if defined(CONFIG_CMD_NET)
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
509
510
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
64d614617   Macpaul Lin   nds32: common bdi...
511
  #endif
a25356d77   Simon Glass   nds32: Change glo...
512
513
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
64d614617   Macpaul Lin   nds32: common bdi...
514
515
516
  
  	return 0;
  }
2be9fdbfc   Stefan Kristiansson   openrisc: Add boa...
517
518
519
520
521
522
523
524
525
526
527
528
529
530
  #elif defined(CONFIG_OPENRISC)
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
  	bd_t *bd = gd->bd;
  
  	print_num("mem start",		(ulong)bd->bi_memstart);
  	print_lnum("mem size",		(u64)bd->bi_memsize);
  	print_num("flash start",	(ulong)bd->bi_flashstart);
  	print_num("flash size",		(ulong)bd->bi_flashsize);
  	print_num("flash offset",	(ulong)bd->bi_flashoffset);
  
  #if defined(CONFIG_CMD_NET)
  	print_eth(0);
50a47d052   Mike Frysinger   net: punt bd->bi_...
531
532
  	printf("ip_addr     = %s
  ", getenv("ipaddr"));
2be9fdbfc   Stefan Kristiansson   openrisc: Add boa...
533
  #endif
7a68e330d   Simon Glass   openrisc: Change ...
534
535
  	printf("baudrate    = %u bps
  ", bd->bi_baudrate);
2be9fdbfc   Stefan Kristiansson   openrisc: Add boa...
536
537
538
  
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
539
540
541
  #else
   #error "a case for this architecture does not exist!"
  #endif
8bde7f776   wdenk   * Code cleanup:
542

8bde7f776   wdenk   * Code cleanup:
543
  /* -------------------------------------------------------------------- */
0d4983930   wdenk   Patch by Kenneth ...
544
545
  U_BOOT_CMD(
  	bdinfo,	1,	1,	do_bdinfo,
2fb2604d5   Peter Tyser   Command usage cle...
546
  	"print Board Info structure",
a89c33db9   Wolfgang Denk   General help mess...
547
  	""
8bde7f776   wdenk   * Code cleanup:
548
  );