1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28#include <common.h>
29#include <watchdog.h>
30#include <command.h>
31#include <netdev.h>
32
33#include <asm/immap.h>
34
35DECLARE_GLOBAL_DATA_PTR;
36
37int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
38{
39 volatile rcm_t *rcm = (rcm_t *) (MMAP_RCM);
40 udelay(1000);
41 rcm->rcr |= RCM_RCR_SOFTRST;
42
43
44 return 0;
45};
46
47int checkcpu(void)
48{
49 volatile ccm_t *ccm = (ccm_t *) MMAP_CCM;
50 u16 msk;
51 u16 id = 0;
52 u8 ver;
53
54 puts("CPU: ");
55 msk = (ccm->cir >> 6);
56 ver = (ccm->cir & 0x003f);
57 switch (msk) {
58 case 0x48:
59 id = 54455;
60 break;
61 case 0x49:
62 id = 54454;
63 break;
64 case 0x4a:
65 id = 54453;
66 break;
67 case 0x4b:
68 id = 54452;
69 break;
70 case 0x4d:
71 id = 54451;
72 break;
73 case 0x4f:
74 id = 54450;
75 break;
76 }
77
78 if (id) {
79 char buf1[32], buf2[32], buf3[32];
80
81 printf("Freescale MCF%d (Mask:%01x Version:%x)\n", id, msk,
82 ver);
83 printf(" CPU CLK %s MHz BUS CLK %s MHz FLB CLK %s MHz\n",
84 strmhz(buf1, gd->cpu_clk),
85 strmhz(buf2, gd->bus_clk),
86 strmhz(buf3, gd->flb_clk));
87#ifdef CONFIG_PCI
88 printf(" PCI CLK %s MHz INP CLK %s MHz VCO CLK %s MHz\n",
89 strmhz(buf1, gd->pci_clk),
90 strmhz(buf2, gd->inp_clk),
91 strmhz(buf3, gd->vco_clk));
92#else
93 printf(" INP CLK %s MHz VCO CLK %s MHz\n",
94 strmhz(buf1, gd->inp_clk),
95 strmhz(buf2, gd->vco_clk));
96#endif
97 }
98
99 return 0;
100}
101
102#if defined(CONFIG_MCFFEC)
103
104
105
106
107
108int cpu_eth_init(bd_t *bis)
109{
110 return mcffec_initialize(bis);
111}
112#endif
113