FSL: Fix get_cpu_board_revision() return value.

get_cpu_board_revision() returned board revision based on information stored
in global static struct eeprom. It should instead use one from local struct
board_eeprom, to which the data is actually read from EEPROM. The bug led to
system hang after printing L1 cache information on U-Boot startup. The problem
was observed on MPC8555CDS system and possibly affects other Freescale MPC85xx
boards using CFG_I2C_EEPROM_CCID.

The change has been successfully tested on MPC8555CDS system.

Signed-off-by: Rafal Czubak <rcz@semihalf.com>
master
Rafal Czubak 16 years ago committed by Andrew Fleming-AFLEMING
parent 5297246bba
commit e46c7bfb8b
  1. 2
      board/freescale/common/sys_eeprom.c

@ -463,6 +463,6 @@ unsigned int get_cpu_board_revision(void)
if ((be.major == 0xff) && (be.minor == 0xff))
return MPC85XX_CPU_BOARD_REV(0, 0);
return MPC85XX_CPU_BOARD_REV(e.major, e.minor);
return MPC85XX_CPU_BOARD_REV(be.major, be.minor);
}
#endif

Loading…
Cancel
Save