blob: 056a143512e5ff84f5755464fcb66db2672f079f [file] [log] [blame]
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Command automation for Blizzard LM4F chip
# Program internal flash
proc flash_lm4 {path offset} {
#set firstsect [expr {$offset / 1024}];
#set lastsect [expr {($offset + $size) / 1024 - 1}];
reset halt;
flash write_image erase $path $offset;
reset
}
# Link proto0 has 128KB flash; proto1+ have 256KB
proc flash_link { } {
flash_lm4 ../../../build/link/ec.bin 0
}
proc flash_link_ro { } {
flash_lm4 ../../../build/link/ec.RO.flat 0
}
proc flash_link_rw { } {
flash_lm4 ../../../build/link/ec.RW.bin 81920
}
proc flash_bds { } {
flash_lm4 ../../../build/bds/ec.bin 0
}
# Boot a software using internal RAM only
proc ramboot_lm4 {path} {
reset halt
load_image $path 0x20000000 bin
reg 15 0x20000400
resume
}
proc ramboot_link { } {
ramboot_lm4 ../../../build/link/ec.RO.flat
}
proc ramboot_bds { } {
ramboot_lm4 ../../../build/bds/ec.RO.flat
}
proc flash_emerged_link { } {
set firmware_image ../../../../../../chroot/build/link/firmware/ec.bin
flash_lm4 $firmware_image 0
}