Skip to content
  • Gabor Juhos's avatar
    malta: use unmapped flash base address · 10473d04
    Gabor Juhos authored and Daniel Schwierzeck's avatar Daniel Schwierzeck committed
    
    
    The physical base address of the NOR flash is 0x1e000000
    on the Malta boards. The hardware also maps the first 4MiB
    of the flash into the 0x1fc00000-0x1fffffff range.
    
    Currently, U-Boot uses the mapped address to access the
    flash, which does not work in recent qemu versions.
    
    Since commit a427338b222b43197c2776cbc996936df0302f51
    (mips_malta: correct reading MIPS revision at 0x1fc00010)
    writing to the mapped address space causes a CPU exception.
    Due to the exception, U-Boot hangs during boot when it tries
    to detect the CFI flash chip.
    
    Use the correct physical address for the MALTA_FLASH_BASE
    constant to fix the problem. In order to avoid relocation
    problems, also update the CONFIG_SYS_{TEXT,MONITOR}_BASE
    constants.
    
    The change makes it possible to start U-Boot on a Malta
    board emulated with Qemu 1.6.1 and 1.7.0-rc0. It also
    works on older versions (tested with 1.1.1, 1.2.2, 1.4.2,
    1.5.3).
    
    Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
    Signed-off-by: Daniel Schwierzeck's avatarDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    10473d04