summaryrefslogtreecommitdiff
path: root/board/freescale/mx53loco/mx53loco.c
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2012-05-29 05:54:39 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-07-07 14:07:25 +0200
commiteae08eb2b53ffb87f3342e45ab422d8625659fcd (patch)
tree47b604215e092c8cb1de1ff1c22528e1839dce63 /board/freescale/mx53loco/mx53loco.c
parent0d952e5d2eef9320338a87007959ce0d80a264e3 (diff)
downloadu-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/mx53loco/mx53loco.c')
-rw-r--r--board/freescale/mx53loco/mx53loco.c12
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();