xref: /OK3568_Linux_fs/u-boot/board/imgtec/malta/flash-malta-boot.tcl (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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