
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@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