diff mbox

[U-Boot,2/3] mx53loco: Allow to print CPU information at a later stage

Message ID 1335809524-1994-2-git-send-email-festevam@gmail.com
State Accepted
Commit 1fc56f1cb06a1d83bd90626677a236761e812324
Delegated to: Stefano Babic
Headers show

Commit Message

Fabio Estevam April 30, 2012, 6:12 p.m. UTC
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>
---
Changes since v2:
- Rebased against Stefano's u-boot-imx plus the v2 version of
http://marc.info/?l=u-boot&m=133572323109396&w=2

 arch/arm/cpu/armv7/imx-common/cpu.c       |    2 +-
 arch/arm/include/asm/arch-mx5/sys_proto.h |    1 +
 board/freescale/mx53loco/mx53loco.c       |   22 ++++++++++++++++++++++
 include/configs/mx53loco.h                |    1 -
 4 files changed, 24 insertions(+), 2 deletions(-)

Comments

Stefano Babic May 6, 2012, 3:43 p.m. UTC | #1
On 30/04/2012 20:12, Fabio Estevam wrote:
> 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>
> ---

Yes, we already talked about this issue, I resend my:

Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic
Stefano Babic May 6, 2012, 3:48 p.m. UTC | #2
On 30/04/2012 20:12, Fabio Estevam wrote:
> 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>
> ---
Applied to u-boot-imx, thanks

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/imx-common/cpu.c b/arch/arm/cpu/armv7/imx-common/cpu.c
index b96fa5b..b3195dd 100644
--- a/arch/arm/cpu/armv7/imx-common/cpu.c
+++ b/arch/arm/cpu/armv7/imx-common/cpu.c
@@ -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;
diff --git a/arch/arm/include/asm/arch-mx5/sys_proto.h b/arch/arm/include/asm/arch-mx5/sys_proto.h
index 3f10d29..7b5246e 100644
--- a/arch/arm/include/asm/arch-mx5/sys_proto.h
+++ b/arch/arm/include/asm/arch-mx5/sys_proto.h
@@ -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
diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c
index 7ea9f6e..46aaeb2 100644
--- a/board/freescale/mx53loco/mx53loco.c
+++ b/board/freescale/mx53loco/mx53loco.c
@@ -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;
diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index af59307..0778bde 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -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