1*4882a593Smuzhiyun# 2*4882a593Smuzhiyun# Copyright (C) 2013 Imagination Technologies 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# Programs a MIPS Malta boot flash with a flat binary image. 5*4882a593Smuzhiyun# 6*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0+ 7*4882a593Smuzhiyun# 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunproc flash-boot { binfile } { 10*4882a593Smuzhiyun puts "flash monitor binary $binfile" 11*4882a593Smuzhiyun config Coherent on 12*4882a593Smuzhiyun config CoherencyDuringLoad on 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun if {[endian]=="big"} { 15*4882a593Smuzhiyun puts "CPU in BE mode" 16*4882a593Smuzhiyun flash device sharp_16x32_be; 17*4882a593Smuzhiyun } else { 18*4882a593Smuzhiyun puts "CPU in LE mode" 19*4882a593Smuzhiyun flash device sharp_16x32; 20*4882a593Smuzhiyun } 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun flash clear all; 23*4882a593Smuzhiyun flash set 0xBE000000..0xBE0FFFFF 24*4882a593Smuzhiyun flash erase sector 0xbe000000; 25*4882a593Smuzhiyun flash erase sector 0xbe020000; 26*4882a593Smuzhiyun flash erase sector 0xbe040000; 27*4882a593Smuzhiyun flash erase sector 0xbe060000; 28*4882a593Smuzhiyun flash erase sector 0xbe080000; 29*4882a593Smuzhiyun flash erase sector 0xbe0a0000; 30*4882a593Smuzhiyun flash erase sector 0xbe0c0000; 31*4882a593Smuzhiyun flash erase sector 0xbe0e0000; 32*4882a593Smuzhiyun puts "finished erasing boot flash"; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun puts "programming flash, please be patient" 35*4882a593Smuzhiyun load bin 0xbe000000 $binfile size4 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun flash clear all 38*4882a593Smuzhiyun config CoherencyDuringLoad off 39*4882a593Smuzhiyun puts "finished programming boot flash"; 40*4882a593Smuzhiyun} 41