diff options
| author | Fabio Estevam <[email protected]> | 2012-05-29 05:54:39 +0000 |
|---|---|---|
| committer | Albert ARIBAUD <[email protected]> | 2012-07-07 14:07:25 +0200 |
| commit | eae08eb2b53ffb87f3342e45ab422d8625659fcd (patch) | |
| tree | 47b604215e092c8cb1de1ff1c22528e1839dce63 /board | |
| parent | 0d952e5d2eef9320338a87007959ce0d80a264e3 (diff) | |
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 <[email protected]>
Diffstat (limited to 'board')
| -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 d8e027ce663..cbdcfadf279 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(); |
