]>
Commit | Line | Data |
---|---|---|
c8758102 TL |
1 | /* |
2 | * | |
3 | * (C) Copyright 2000-2003 | |
4 | * Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
5 | * | |
849fc424 | 6 | * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc. |
c8758102 TL |
7 | * TsiChung Liew (Tsi-Chung.Liew@freescale.com) |
8 | * | |
1a459660 | 9 | * SPDX-License-Identifier: GPL-2.0+ |
c8758102 TL |
10 | */ |
11 | ||
12 | #include <common.h> | |
13 | #include <watchdog.h> | |
14 | #include <command.h> | |
15 | ||
16 | #include <asm/immap.h> | |
849fc424 | 17 | #include <asm/io.h> |
c8758102 TL |
18 | |
19 | DECLARE_GLOBAL_DATA_PTR; | |
20 | ||
882b7d72 | 21 | int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
c8758102 | 22 | { |
849fc424 | 23 | rcm_t *rcm = (rcm_t *) (MMAP_RCM); |
c8758102 | 24 | udelay(1000); |
849fc424 | 25 | setbits_8(&rcm->rcr, RCM_RCR_SOFTRST); |
c8758102 TL |
26 | |
27 | /* we don't return! */ | |
28 | return 0; | |
29 | }; | |
30 | ||
31 | int checkcpu(void) | |
32 | { | |
849fc424 | 33 | ccm_t *ccm = (ccm_t *) MMAP_CCM; |
c8758102 TL |
34 | u16 msk; |
35 | u16 id = 0; | |
36 | u8 ver; | |
37 | ||
38 | puts("CPU: "); | |
849fc424 AW |
39 | msk = (in_be16(&ccm->cir) >> 6); |
40 | ver = (in_be16(&ccm->cir) & 0x003f); | |
c8758102 TL |
41 | switch (msk) { |
42 | case 0x6c: | |
43 | id = 52277; | |
44 | break; | |
45 | } | |
46 | ||
47 | if (id) { | |
08ef89ec WD |
48 | char buf1[32], buf2[32], buf3[32]; |
49 | ||
c8758102 TL |
50 | printf("Freescale MCF%d (Mask:%01x Version:%x)\n", id, msk, |
51 | ver); | |
08ef89ec | 52 | printf(" CPU CLK %s MHz BUS CLK %s MHz FLB CLK %s MHz\n", |
1b270844 TL |
53 | strmhz(buf1, gd->cpu_clk), |
54 | strmhz(buf2, gd->bus_clk), | |
7e2592fd | 55 | strmhz(buf3, gd->arch.flb_clk)); |
08ef89ec | 56 | printf(" INP CLK %s MHz VCO CLK %s MHz\n", |
7e2592fd SG |
57 | strmhz(buf1, gd->arch.inp_clk), |
58 | strmhz(buf2, gd->arch.vco_clk)); | |
c8758102 TL |
59 | } |
60 | ||
61 | return 0; | |
62 | } |