diff options
author | Fabio Estevam <fabio.estevam@freescale.com> | 2012-05-29 05:54:39 +0000 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-07-07 14:07:25 +0200 |
commit | eae08eb2b53ffb87f3342e45ab422d8625659fcd (patch) | |
tree | 47b604215e092c8cb1de1ff1c22528e1839dce63 /board/freescale | |
parent | 0d952e5d2eef9320338a87007959ce0d80a264e3 (diff) | |
download | u-boot-imx-eae08eb2b53ffb87f3342e45ab422d8625659fcd.zip u-boot-imx-eae08eb2b53ffb87f3342e45ab422d8625659fcd.tar.gz u-boot-imx-eae08eb2b53ffb87f3342e45ab422d8625659fcd.tar.bz2 |
mx53loco: Fix revision of Dialog boards
Original code was assuming that the fuse revision version for all mx53loco boards
based on Dialog PMIC was the same, which is not the case.
Force the revision of all Dialog-based boards to 0.
This fixes a kernel crash when PMIC is accessed in the 2.6.35 kernel
for Dialog rev E boards.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Diffstat (limited to 'board/freescale')
-rw-r--r-- | board/freescale/mx53loco/mx53loco.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c index d8e027c..cbdcfad 100644 --- a/board/freescale/mx53loco/mx53loco.c +++ b/board/freescale/mx53loco/mx53loco.c @@ -75,6 +75,9 @@ u32 get_board_rev(void) int rev = readl(&fuse->gp[6]); + if (!i2c_probe(CONFIG_SYS_DIALOG_PMIC_I2C_ADDR)) + rev = 0; + return (get_cpu_rev() & ~(0xF << 8)) | (rev & 0xF) << 8; } @@ -495,11 +498,6 @@ int print_cpuinfo(void) #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { - setup_iomux_i2c(); - if (!power_init()) - clock_1GHz(); - print_cpuinfo(); - setenv("stdout", "serial"); return 0; @@ -511,6 +509,10 @@ int board_init(void) gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; mxc_set_sata_internal_clock(); + setup_iomux_i2c(); + if (!power_init()) + clock_1GHz(); + print_cpuinfo(); lcd_enable(); |