[U-Boot] [PATCH] MX35: mx35pdk: wrong board revision

Stefano Babic sbabic at denx.de
Mon Apr 9 13:42:21 CEST 2012


The board revision is detected accessing to the pmic,
that is not available before relocation (I2C).
This generates the following error:

CPU:   Freescale i.MX35 rev 2.0 at 532 MHz.
Reset cause: WDOG
<reg num> = 7 is invalid. Should be less than 0
Board: MX35 PDK 1.0

The revision number is wrong, as a default value is printed
(tested on a mx35pdk Rev. 2.0).

Move the output in the board_late_init(), when
pmic can be accessed.

Signed-off-by: Stefano Babic <sbabic at denx.de>
---
 board/freescale/mx35pdk/mx35pdk.c |    8 +++++---
 include/configs/mx35pdk.h         |    1 -
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/board/freescale/mx35pdk/mx35pdk.c b/board/freescale/mx35pdk/mx35pdk.c
index cce7123..d5b592b 100644
--- a/board/freescale/mx35pdk/mx35pdk.c
+++ b/board/freescale/mx35pdk/mx35pdk.c
@@ -258,9 +258,13 @@ int board_late_init(void)
 	val |= 0x80;
 	mc9sdz60_reg_write(MC9SDZ60_REG_RESET_1, val);
 
+	/* Print board revision */
+	printf("Board: MX35 PDK %d.0\n", ((get_board_rev() >> 8) + 1) & 0x0F);
+
 	return 0;
 }
 
+#if 0
 int checkboard(void)
 {
 	/*
@@ -269,11 +273,9 @@ int checkboard(void)
 	 */
 	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
 
-	/* Print board revision */
-	printf("Board: MX35 PDK %d.0\n", ((get_board_rev() >> 8) + 1) & 0x0F);
-
 	return 0;
 }
+#endif
 
 int board_eth_init(bd_t *bis)
 {
diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h
index 1e03639..de4b954 100644
--- a/include/configs/mx35pdk.h
+++ b/include/configs/mx35pdk.h
@@ -34,7 +34,6 @@
 #define CONFIG_MX35_HCLK_FREQ	24000000
 
 #define CONFIG_DISPLAY_CPUINFO
-#define CONFIG_DISPLAY_BOARDINFO
 
 /* Set TEXT at the beginning of the NOR flash */
 #define CONFIG_SYS_TEXT_BASE	0xA0000000
-- 
1.7.5.4



More information about the U-Boot mailing list