Blame view

cmd/bdinfo.c 12.3 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

05c3e68f8   Joe Hershberger   dm: eth: Add basi...
39
  #ifndef CONFIG_DM_ETH
d88af4da9   Mike Frysinger   cmd_bdinfo: simpl...
40
  __maybe_unused
9fc6a06ad   Michal Simek   common: cmd_bdinf...
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  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"));
  }
05c3e68f8   Joe Hershberger   dm: eth: Add basi...
61
  #endif
9fc6a06ad   Michal Simek   common: cmd_bdinf...
62
63
  
  __maybe_unused
47708457f   Daniel Schwierzeck   common: cmd_bdinf...
64
  static void print_lnum(const char *name, unsigned long long value)
d88af4da9   Mike Frysinger   cmd_bdinfo: simpl...
65
66
67
68
69
70
71
72
73
74
75
76
77
  {
  	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:
78

171e53968   Max Filippov   cmd/bdinfo: extra...
79
80
81
82
83
  
  static inline void print_bi_boot_params(const bd_t *bd)
  {
  	print_num("boot_params",	(ulong)bd->bi_boot_params);
  }
12feb3647   Max Filippov   cmd/bdinfo: extra...
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  static inline void print_bi_mem(const bd_t *bd)
  {
  #if defined(CONFIG_SH)
  	print_num("mem start      ",	(ulong)bd->bi_memstart);
  	print_lnum("mem size       ",	(u64)bd->bi_memsize);
  #elif defined(CONFIG_ARC)
  	print_num("mem start",		(ulong)bd->bi_memstart);
  	print_lnum("mem size",		(u64)bd->bi_memsize);
  #elif defined(CONFIG_AVR32)
  	print_num("memstart",		(ulong)bd->bi_dram[0].start);
  	print_lnum("memsize",		(u64)bd->bi_dram[0].size);
  #else
  	print_num("memstart",		(ulong)bd->bi_memstart);
  	print_lnum("memsize",		(u64)bd->bi_memsize);
  #endif
  }
fd60e99f5   Max Filippov   cmd/bdinfo: extra...
100
101
102
103
104
105
  static inline void print_bi_dram(const bd_t *bd)
  {
  #ifdef CONFIG_NR_DRAM_BANKS
  	int i;
  
  	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
ddd917b8f   Simon Glass   bdinfo: Don't pri...
106
107
108
109
110
  		if (bd->bi_dram[i].size) {
  			print_num("DRAM bank",	i);
  			print_num("-> start",	bd->bi_dram[i].start);
  			print_num("-> size",	bd->bi_dram[i].size);
  		}
fd60e99f5   Max Filippov   cmd/bdinfo: extra...
111
112
113
  	}
  #endif
  }
f80e53598   Max Filippov   cmd/bdinfo: extra...
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
  static inline void print_bi_flash(const bd_t *bd)
  {
  #if defined(CONFIG_MICROBLAZE) || defined(CONFIG_SH)
  	print_num("flash start    ",	(ulong)bd->bi_flashstart);
  	print_num("flash size     ",	(ulong)bd->bi_flashsize);
  	print_num("flash offset   ",	(ulong)bd->bi_flashoffset);
  
  #elif defined(CONFIG_NIOS2) || defined(CONFIG_OPENRISC)
  	print_num("flash start",	(ulong)bd->bi_flashstart);
  	print_num("flash size",		(ulong)bd->bi_flashsize);
  	print_num("flash offset",	(ulong)bd->bi_flashoffset);
  #else
  	print_num("flashstart",		(ulong)bd->bi_flashstart);
  	print_num("flashsize",		(ulong)bd->bi_flashsize);
  	print_num("flashoffset",	(ulong)bd->bi_flashoffset);
  #endif
  }
8752e260c   Max Filippov   cmd/bdinfo: extra...
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
  static inline void print_eth_ip_addr(void)
  {
  #if defined(CONFIG_CMD_NET)
  	print_eth(0);
  #if defined(CONFIG_HAS_ETH1)
  	print_eth(1);
  #endif
  #if defined(CONFIG_HAS_ETH2)
  	print_eth(2);
  #endif
  #if defined(CONFIG_HAS_ETH3)
  	print_eth(3);
  #endif
  #if defined(CONFIG_HAS_ETH4)
  	print_eth(4);
  #endif
  #if defined(CONFIG_HAS_ETH5)
  	print_eth(5);
  #endif
  	printf("IP addr     = %s
  ", getenv("ipaddr"));
  #endif
  }
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
154
155
156
157
158
159
160
161
162
163
164
165
166
  static inline void print_baudrate(void)
  {
  #if defined(CONFIG_PPC)
  	printf("baudrate    = %6u bps
  ", gd->baudrate);
  #elif defined(CONFIG_SPARC)
  	printf("baudrate               = %6u bps
  ", gd->baudrate);
  #else
  	printf("baudrate    = %u bps
  ", gd->baudrate);
  #endif
  }
e37950843   Max Filippov   cmd/bdinfo: extra...
167
168
169
170
171
172
173
174
  static inline void print_std_bdinfo(const bd_t *bd)
  {
  	print_bi_boot_params(bd);
  	print_bi_mem(bd);
  	print_bi_flash(bd);
  	print_eth_ip_addr();
  	print_baudrate();
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
175
  #if defined(CONFIG_PPC)
e79394643   York Sun   common: Update cm...
176
177
178
179
  void __weak board_detail(void)
  {
  	/* Please define boot_detail() for your platform */
  }
8bde7f776   wdenk   * Code cleanup:
180

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
181
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8bde7f776   wdenk   * Code cleanup:
182
  {
8bde7f776   wdenk   * Code cleanup:
183
  	bd_t *bd = gd->bd;
8bde7f776   wdenk   * Code cleanup:
184
185
  
  #ifdef DEBUG
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
186
187
  	print_num("bd address",		(ulong)bd);
  #endif
12feb3647   Max Filippov   cmd/bdinfo: extra...
188
  	print_bi_mem(bd);
f80e53598   Max Filippov   cmd/bdinfo: extra...
189
  	print_bi_flash(bd);
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
190
191
192
  	print_num("sramstart",		bd->bi_sramstart);
  	print_num("sramsize",		bd->bi_sramsize);
  #if	defined(CONFIG_5xx)  || defined(CONFIG_8xx) || \
58dac3276   Masahiro Yamada   powerpc: mpc8260:...
193
  	defined(CONFIG_MPC8260) || defined(CONFIG_E500)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
194
195
196
  	print_num("immr_base",		bd->bi_immr_base);
  #endif
  	print_num("bootflags",		bd->bi_bootflags);
3fb858891   Matthias Fuchs   ppc4xx: Remove su...
197
  #if	defined(CONFIG_405EP) || \
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
198
199
200
201
202
  	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...
203
204
  	print_mhz("procfreq",		bd->bi_procfreq);
  	print_mhz("plb_busfreq",	bd->bi_plb_busfreq);
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
205
206
207
208
  #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...
209
  	print_mhz("pci_busfreq",	bd->bi_pci_busfreq);
8bde7f776   wdenk   * Code cleanup:
210
  #endif
3fb858891   Matthias Fuchs   ppc4xx: Remove su...
211
  #else	/* ! CONFIG_405GP, CONFIG_405EP, CONFIG_XILINX_405, CONFIG_440EP CONFIG_440GR */
9c4c5ae3e   Jon Loeliger   * Patch by Jon Lo...
212
  #if defined(CONFIG_CPM2)
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
213
214
215
  	print_mhz("vco",		bd->bi_vco);
  	print_mhz("sccfreq",		bd->bi_sccfreq);
  	print_mhz("brgfreq",		bd->bi_brgfreq);
8bde7f776   wdenk   * Code cleanup:
216
  #endif
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
217
  	print_mhz("intfreq",		bd->bi_intfreq);
9c4c5ae3e   Jon Loeliger   * Patch by Jon Lo...
218
  #if defined(CONFIG_CPM2)
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
219
  	print_mhz("cpmfreq",		bd->bi_cpmfreq);
8bde7f776   wdenk   * Code cleanup:
220
  #endif
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
221
  	print_mhz("busfreq",		bd->bi_busfreq);
3fb858891   Matthias Fuchs   ppc4xx: Remove su...
222
  #endif /* CONFIG_405GP, CONFIG_405EP, CONFIG_XILINX_405, CONFIG_440EP CONFIG_440GR */
03f5c5502   wdenk   Patches by Jon Lo...
223

34e210f5b   Timur Tabi   cmd_bdinfo: displ...
224
225
226
227
228
229
230
231
232
  #ifdef CONFIG_ENABLE_36BIT_PHYS
  #ifdef CONFIG_PHYS_64BIT
  	puts("addressing  = 36-bit
  ");
  #else
  	puts("addressing  = 32-bit
  ");
  #endif
  #endif
8752e260c   Max Filippov   cmd/bdinfo: extra...
233
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
234
  	print_baudrate();
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
235
  	print_num("relocaddr", gd->relocaddr);
e79394643   York Sun   common: Update cm...
236
  	board_detail();
8bde7f776   wdenk   * Code cleanup:
237
238
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
239
  #elif defined(CONFIG_NIOS2)
5c952cf02   wdenk   Patches by Scott ...
240

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
241
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
5c952cf02   wdenk   Patches by Scott ...
242
  {
5c952cf02   wdenk   Patches by Scott ...
243
  	bd_t *bd = gd->bd;
fd60e99f5   Max Filippov   cmd/bdinfo: extra...
244
  	print_bi_dram(bd);
f80e53598   Max Filippov   cmd/bdinfo: extra...
245
  	print_bi_flash(bd);
5c952cf02   wdenk   Patches by Scott ...
246

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
247
  #if defined(CONFIG_SYS_SRAM_BASE)
5c952cf02   wdenk   Patches by Scott ...
248
249
250
  	print_num ("sram start",	(ulong)bd->bi_sramstart);
  	print_num ("sram size",		(ulong)bd->bi_sramsize);
  #endif
8752e260c   Max Filippov   cmd/bdinfo: extra...
251
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
252
  	print_baudrate();
5c952cf02   wdenk   Patches by Scott ...
253
254
255
  
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
256
257
  
  #elif defined(CONFIG_MICROBLAZE)
cfc67116a   Michal Simek   [Microblaze][PATC...
258

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
259
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
cfc67116a   Michal Simek   [Microblaze][PATC...
260
  {
cfc67116a   Michal Simek   [Microblaze][PATC...
261
  	bd_t *bd = gd->bd;
e945f6dc2   Michal Simek   microblaze: Move ...
262

fd60e99f5   Max Filippov   cmd/bdinfo: extra...
263
  	print_bi_dram(bd);
f80e53598   Max Filippov   cmd/bdinfo: extra...
264
  	print_bi_flash(bd);
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
265
  #if defined(CONFIG_SYS_SRAM_BASE)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
266
267
  	print_num("sram start     ",	(ulong)bd->bi_sramstart);
  	print_num("sram size      ",	(ulong)bd->bi_sramsize);
cfc67116a   Michal Simek   [Microblaze][PATC...
268
  #endif
062f078c3   Michal Simek   microblaze: Do no...
269
  #if defined(CONFIG_CMD_NET) && !defined(CONFIG_DM_ETH)
9fc6a06ad   Michal Simek   common: cmd_bdinf...
270
  	print_eths();
cfc67116a   Michal Simek   [Microblaze][PATC...
271
  #endif
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
272
  	print_baudrate();
e945f6dc2   Michal Simek   microblaze: Move ...
273
274
  	print_num("relocaddr", gd->relocaddr);
  	print_num("reloc off", gd->reloc_off);
de86765bc   Michal Simek   bdinfo: Show info...
275
276
277
  	print_num("fdt_blob", (ulong)gd->fdt_blob);
  	print_num("new_fdt", (ulong)gd->new_fdt);
  	print_num("fdt_size", (ulong)gd->fdt_size);
e945f6dc2   Michal Simek   microblaze: Move ...
278

cfc67116a   Michal Simek   [Microblaze][PATC...
279
280
  	return 0;
  }
4a5517094   wdenk   * Patch by Scott ...
281

c99ea7907   Reinhard Meyer   Fix #if chain and...
282
  #elif defined(CONFIG_SPARC)
54841ab50   Wolfgang Denk   Make sure that ar...
283
  int do_bdinfo(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
284
285
  {
  	bd_t *bd = gd->bd;
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
286
287
288
289
290
  
  #ifdef DEBUG
  	print_num("bd address             ", (ulong) bd);
  #endif
  	print_num("memstart               ", bd->bi_memstart);
b57ca3e12   Becky Bruce   Change bd/gd mems...
291
  	print_lnum("memsize                ", bd->bi_memsize);
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
292
  	print_num("flashstart             ", bd->bi_flashstart);
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
293
  	print_num("CONFIG_SYS_MONITOR_BASE       ", CONFIG_SYS_MONITOR_BASE);
0e8d15866   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ENV ma...
294
  	print_num("CONFIG_ENV_ADDR           ", CONFIG_ENV_ADDR);
d97f01a64   Marek Vasut   dm: sparc: common...
295
296
  	printf("CONFIG_SYS_RELOC_MONITOR_BASE = 0x%x (%d)
  ", CONFIG_SYS_RELOC_MONITOR_BASE,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
297
  	       CONFIG_SYS_MONITOR_LEN);
d97f01a64   Marek Vasut   dm: sparc: common...
298
299
  	printf("CONFIG_SYS_MALLOC_BASE        = 0x%x (%d)
  ", CONFIG_SYS_MALLOC_BASE,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
300
  	       CONFIG_SYS_MALLOC_LEN);
d97f01a64   Marek Vasut   dm: sparc: common...
301
302
  	printf("CONFIG_SYS_INIT_SP_OFFSET     = 0x%x (%d)
  ", CONFIG_SYS_INIT_SP_OFFSET,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
303
  	       CONFIG_SYS_STACK_SIZE);
d97f01a64   Marek Vasut   dm: sparc: common...
304
305
  	printf("CONFIG_SYS_PROM_OFFSET        = 0x%x (%d)
  ", CONFIG_SYS_PROM_OFFSET,
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
306
  	       CONFIG_SYS_PROM_SIZE);
d97f01a64   Marek Vasut   dm: sparc: common...
307
308
  	printf("CONFIG_SYS_GBL_DATA_OFFSET    = 0x%x (%d)
  ", CONFIG_SYS_GBL_DATA_OFFSET,
25ddd1fb0   Wolfgang Denk   Replace CONFIG_SY...
309
  	       GENERATED_GBL_DATA_SIZE);
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
310

8752e260c   Max Filippov   cmd/bdinfo: extra...
311
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
312
  	print_baudrate();
00ab32c85   Daniel Hellstrom   SPARC: added SPAR...
313
314
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
315
  #elif defined(CONFIG_M68K)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
316
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8e585f02f   TsiChung Liew   Added M5329AFEE a...
317
  {
8e585f02f   TsiChung Liew   Added M5329AFEE a...
318
  	bd_t *bd = gd->bd;
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
319

12feb3647   Max Filippov   cmd/bdinfo: extra...
320
  	print_bi_mem(bd);
f80e53598   Max Filippov   cmd/bdinfo: extra...
321
  	print_bi_flash(bd);
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
322
  #if defined(CONFIG_SYS_INIT_RAM_ADDR)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
323
324
  	print_num("sramstart",		(ulong)bd->bi_sramstart);
  	print_num("sramsize",		(ulong)bd->bi_sramsize);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
325
  #endif
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
326
  #if defined(CONFIG_SYS_MBAR)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
327
  	print_num("mbar",		bd->bi_mbar_base);
8e585f02f   TsiChung Liew   Added M5329AFEE a...
328
  #endif
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
329
330
  	print_mhz("cpufreq",		bd->bi_intfreq);
  	print_mhz("busfreq",		bd->bi_busfreq);
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
331
  #ifdef CONFIG_PCI
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
332
  	print_mhz("pcifreq",		bd->bi_pcifreq);
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
333
334
  #endif
  #ifdef CONFIG_EXTRA_CLOCK
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
335
336
337
  	print_mhz("flbfreq",		bd->bi_flbfreq);
  	print_mhz("inpfreq",		bd->bi_inpfreq);
  	print_mhz("vcofreq",		bd->bi_vcofreq);
8ae158cd8   TsiChungLiew   ColdFire: Add M54...
338
  #endif
8752e260c   Max Filippov   cmd/bdinfo: extra...
339
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
340
  	print_baudrate();
8e585f02f   TsiChung Liew   Added M5329AFEE a...
341
342
343
  
  	return 0;
  }
8dc48d71a   Mike Frysinger   add Blackfin-spec...
344
  #elif defined(CONFIG_BLACKFIN)
c99ea7907   Reinhard Meyer   Fix #if chain and...
345

54841ab50   Wolfgang Denk   Make sure that ar...
346
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8dc48d71a   Mike Frysinger   add Blackfin-spec...
347
  {
8dc48d71a   Mike Frysinger   add Blackfin-spec...
348
349
350
351
352
353
354
355
  	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...
356
357
358
  	print_mhz("VCO",	bd->bi_vco);
  	print_mhz("CCLK",	bd->bi_cclk);
  	print_mhz("SCLK",	bd->bi_sclk);
8dc48d71a   Mike Frysinger   add Blackfin-spec...
359

e37950843   Max Filippov   cmd/bdinfo: extra...
360
  	print_std_bdinfo(bd);
8dc48d71a   Mike Frysinger   add Blackfin-spec...
361
362
363
  
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
364
  #elif defined(CONFIG_MIPS)
8bde7f776   wdenk   * Code cleanup:
365

5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
366
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
8bde7f776   wdenk   * Code cleanup:
367
  {
e37950843   Max Filippov   cmd/bdinfo: extra...
368
  	print_std_bdinfo(gd->bd);
8cf7a418b   Tim Chick   mips: Report relo...
369
370
  	print_num("relocaddr", gd->relocaddr);
  	print_num("reloc off", gd->reloc_off);
8bde7f776   wdenk   * Code cleanup:
371
372
373
  
  	return 0;
  }
8bde7f776   wdenk   * Code cleanup:
374

c99ea7907   Reinhard Meyer   Fix #if chain and...
375
  #elif defined(CONFIG_AVR32)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
376
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
c99ea7907   Reinhard Meyer   Fix #if chain and...
377
  {
e37950843   Max Filippov   cmd/bdinfo: extra...
378
  	print_std_bdinfo(gd->bd);
c99ea7907   Reinhard Meyer   Fix #if chain and...
379
380
381
382
  	return 0;
  }
  
  #elif defined(CONFIG_ARM)
8bde7f776   wdenk   * Code cleanup:
383

0e350f81e   Jeroen Hofstee   common: commands:...
384
385
  static int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc,
  			char * const argv[])
8bde7f776   wdenk   * Code cleanup:
386
  {
8bde7f776   wdenk   * Code cleanup:
387
  	bd_t *bd = gd->bd;
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
388
  	print_num("arch_number",	bd->bi_arch_number);
171e53968   Max Filippov   cmd/bdinfo: extra...
389
  	print_bi_boot_params(bd);
fd60e99f5   Max Filippov   cmd/bdinfo: extra...
390
  	print_bi_dram(bd);
8bde7f776   wdenk   * Code cleanup:
391

e81495224   York Sun   Reserve secure me...
392
  #ifdef CONFIG_SYS_MEM_RESERVE_SECURE
e61a7534e   York Sun   armv8: Move secur...
393
  	if (gd->arch.secure_ram & MEM_RESERVE_SECURE_SECURED) {
e81495224   York Sun   Reserve secure me...
394
  		print_num("Secure ram",
e61a7534e   York Sun   armv8: Move secur...
395
  			  gd->arch.secure_ram & MEM_RESERVE_SECURE_ADDR_MASK);
e81495224   York Sun   Reserve secure me...
396
397
  	}
  #endif
ff9738001   Simon Glass   Avoid calling pri...
398
  #if defined(CONFIG_CMD_NET) && !defined(CONFIG_DM_ETH)
9fc6a06ad   Michal Simek   common: cmd_bdinf...
399
  	print_eths();
a41dbbd98   Hebbar   ARM: Display Ethe...
400
  #endif
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
401
  	print_baudrate();
e47f2db53   Aneesh V   armv7: rename cac...
402
  #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
34fd5d253   Simon Glass   arm: Move tlb_add...
403
  	print_num("TLB addr", gd->arch.tlb_addr);
f1d2b313c   Heiko Schocher   ARM: add relocati...
404
  #endif
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
405
406
407
408
  	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 ...
409
  #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
410
  	print_num("FB base  ", gd->fb_base);
c8fcd0f27   Simon Glass   Only use fb_base ...
411
  #endif
8f5d46872   Hadli, Manjunath   davinci: add supp...
412
413
414
415
416
417
418
419
420
421
422
423
  	/*
  	 * 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
7bb7d672a   Hannes Schmelzer   common/cmd_bdinfo...
424
425
426
427
  #ifdef CONFIG_BOARD_TYPES
  	printf("Board Type  = %ld
  ", gd->board_type);
  #endif
7f7ddf2a8   Simon Glass   arm: Show early-m...
428
429
430
431
432
  #ifdef CONFIG_SYS_MALLOC_F
  	printf("Early malloc usage: %lx / %x
  ", gd->malloc_ptr,
  	       CONFIG_SYS_MALLOC_F_LEN);
  #endif
8bde7f776   wdenk   * Code cleanup:
433
434
  	return 0;
  }
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
435
  #elif defined(CONFIG_SH)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
436
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
437
438
  {
  	bd_t *bd = gd->bd;
12feb3647   Max Filippov   cmd/bdinfo: extra...
439
440
  
  	print_bi_mem(bd);
f80e53598   Max Filippov   cmd/bdinfo: extra...
441
  	print_bi_flash(bd);
8752e260c   Max Filippov   cmd/bdinfo: extra...
442
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
443
  	print_baudrate();
ebd0d062a   Nobuhiro Iwamatsu   sh: Add support d...
444
445
  	return 0;
  }
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
446
  #elif defined(CONFIG_X86)
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
447
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
448
  {
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
449
  	bd_t *bd = gd->bd;
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
450

171e53968   Max Filippov   cmd/bdinfo: extra...
451
  	print_bi_boot_params(bd);
5902e8f71   Macpaul Lin   cosmetic: cmd_bdi...
452

fd60e99f5   Max Filippov   cmd/bdinfo: extra...
453
  	print_bi_dram(bd);
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
454
455
  
  #if defined(CONFIG_CMD_NET)
8752e260c   Max Filippov   cmd/bdinfo: extra...
456
  	print_eth_ip_addr();
0c277ef9f   Timur Tabi   cmd_bdinfo: repla...
457
  	print_mhz("ethspeed",	    bd->bi_ethspeed);
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
458
  #endif
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
459
  	print_baudrate();
a806ee6fa   Graeme Russ   x86: Add do_bdinfo()
460
461
462
  
  	return 0;
  }
6fcc3be45   Simon Glass   sandbox: Add boar...
463
464
465
466
  #elif defined(CONFIG_SANDBOX)
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
6fcc3be45   Simon Glass   sandbox: Add boar...
467
  	bd_t *bd = gd->bd;
171e53968   Max Filippov   cmd/bdinfo: extra...
468
  	print_bi_boot_params(bd);
fd60e99f5   Max Filippov   cmd/bdinfo: extra...
469
  	print_bi_dram(bd);
8752e260c   Max Filippov   cmd/bdinfo: extra...
470
  	print_eth_ip_addr();
6fcc3be45   Simon Glass   sandbox: Add boar...
471

c8fcd0f27   Simon Glass   Only use fb_base ...
472
  #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
6fcc3be45   Simon Glass   sandbox: Add boar...
473
  	print_num("FB base  ", gd->fb_base);
c8fcd0f27   Simon Glass   Only use fb_base ...
474
  #endif
6fcc3be45   Simon Glass   sandbox: Add boar...
475
476
  	return 0;
  }
64d614617   Macpaul Lin   nds32: common bdi...
477
478
479
480
  #elif defined(CONFIG_NDS32)
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
64d614617   Macpaul Lin   nds32: common bdi...
481
482
483
  	bd_t *bd = gd->bd;
  
  	print_num("arch_number",	bd->bi_arch_number);
171e53968   Max Filippov   cmd/bdinfo: extra...
484
  	print_bi_boot_params(bd);
fd60e99f5   Max Filippov   cmd/bdinfo: extra...
485
  	print_bi_dram(bd);
8752e260c   Max Filippov   cmd/bdinfo: extra...
486
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
487
  	print_baudrate();
64d614617   Macpaul Lin   nds32: common bdi...
488
489
490
  
  	return 0;
  }
2be9fdbfc   Stefan Kristiansson   openrisc: Add boa...
491
492
493
494
495
  #elif defined(CONFIG_OPENRISC)
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
  	bd_t *bd = gd->bd;
12feb3647   Max Filippov   cmd/bdinfo: extra...
496
  	print_bi_mem(bd);
f80e53598   Max Filippov   cmd/bdinfo: extra...
497
  	print_bi_flash(bd);
8752e260c   Max Filippov   cmd/bdinfo: extra...
498
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
499
  	print_baudrate();
2be9fdbfc   Stefan Kristiansson   openrisc: Add boa...
500
501
502
  
  	return 0;
  }
946f6f242   Alexey Brodkin   cmd_bdinfo: check...
503
  #elif defined(CONFIG_ARC)
bc5d54288   Alexey Brodkin   arc: bdinfo, imag...
504
505
506
507
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
  	bd_t *bd = gd->bd;
12feb3647   Max Filippov   cmd/bdinfo: extra...
508
  	print_bi_mem(bd);
8752e260c   Max Filippov   cmd/bdinfo: extra...
509
  	print_eth_ip_addr();
4e3fa7d8a   Max Filippov   cmd/bdinfo: extra...
510
  	print_baudrate();
bc5d54288   Alexey Brodkin   arc: bdinfo, imag...
511
512
513
  
  	return 0;
  }
de5e5cea0   Chris Zankel   xtensa: add suppo...
514
515
516
517
518
519
520
  #elif defined(CONFIG_XTENSA)
  
  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
  	print_std_bdinfo(gd->bd);
  	return 0;
  }
c99ea7907   Reinhard Meyer   Fix #if chain and...
521
522
523
  #else
   #error "a case for this architecture does not exist!"
  #endif
8bde7f776   wdenk   * Code cleanup:
524

8bde7f776   wdenk   * Code cleanup:
525
  /* -------------------------------------------------------------------- */
0d4983930   wdenk   Patch by Kenneth ...
526
527
  U_BOOT_CMD(
  	bdinfo,	1,	1,	do_bdinfo,
2fb2604d5   Peter Tyser   Command usage cle...
528
  	"print Board Info structure",
a89c33db9   Wolfgang Denk   General help mess...
529
  	""
8bde7f776   wdenk   * Code cleanup:
530
  );