]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mx53loco: Allow to print CPU information at a later stage
authorFabio Estevam <festevam@gmail.com>
Mon, 30 Apr 2012 08:12:03 +0000 (08:12 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Tue, 15 May 2012 06:31:32 +0000 (08:31 +0200)
Print CPU information within board_late_init().

This is in preparation for adding 1GHz support, which requires programming a PMIC
via I2C. As I2C is only available after relocation, print the CPU information
later at board_late_init(), so that the CPU frequency can be printed correctly.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
arch/arm/cpu/armv7/imx-common/cpu.c
arch/arm/include/asm/arch-mx5/sys_proto.h
board/freescale/mx53loco/mx53loco.c
include/configs/mx53loco.h

index b96fa5bdb96ff945306da36e8a416c1d3e48dd38..b3195dd6fb2a9817d37f2d6e0e37b83833ed2d7b 100644 (file)
@@ -35,7 +35,7 @@
 #include <fsl_esdhc.h>
 #endif
 
-static char *get_reset_cause(void)
+char *get_reset_cause(void)
 {
        u32 cause;
        struct src *src_regs = (struct src *)SRC_BASE_ADDR;
index 3f10d2914cb6d66867d14c30697206d4e33ddfb7..7b5246eea67fe61b4fc6db6aefe34f3f41b59b96 100644 (file)
@@ -37,5 +37,6 @@ void set_chipselect_size(int const);
 int fecmxc_initialize(bd_t *bis);
 u32 get_ahb_clk(void);
 u32 get_periph_clk(void);
+char *get_reset_cause(void);
 
 #endif
index 7ea9f6eadd2535c8c851e1dae0d12741b50359c1..46aaeb2159859e5cf9816406f8ab5bc15dc3abad 100644 (file)
@@ -299,6 +299,28 @@ int board_early_init_f(void)
        return 0;
 }
 
+int print_cpuinfo(void)
+{
+       u32 cpurev;
+
+       cpurev = get_cpu_rev();
+       printf("CPU:   Freescale i.MX%x family rev%d.%d at %d MHz\n",
+               (cpurev & 0xFF000) >> 12,
+               (cpurev & 0x000F0) >> 4,
+               (cpurev & 0x0000F) >> 0,
+               mxc_get_clock(MXC_ARM_CLK) / 1000000);
+       printf("Reset cause: %s\n", get_reset_cause());
+       return 0;
+}
+
+#ifdef CONFIG_BOARD_LATE_INIT
+int board_late_init(void)
+{
+       print_cpuinfo();
+       return 0;
+}
+#endif
+
 int board_init(void)
 {
        gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
index af59307293f78a40add4262c36549d314dfadbb8..0778bde97768bfc9c5cb1fa7c5df0c146bb89cab 100644 (file)
@@ -27,7 +27,6 @@
 
 #define CONFIG_SYS_MX5_HCLK    24000000
 #define CONFIG_SYS_MX5_CLK32           32768
-#define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
 
 #define CONFIG_MACH_TYPE       MACH_TYPE_MX53_LOCO