blob: 84575a23c7963552cee7ac39dfb1d70b3ae407d1 [file] [log] [blame] [edit]
#!/usr/bin/env python
#
# Copyright 2021 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""A wrapper script for flashing combined bootloader image"""
import argparse
import os
import subprocess
import sys
import time
MODE_UPDATE = "update"
MODE_FASTBOOT = "fastboot"
def parse_args():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("image", help="path to the combined bootloader image")
parser.add_argument("mode",
choices=[MODE_UPDATE, MODE_FASTBOOT],
help="flash mode")
parser.add_argument("--update_tool",
"-u",
help="path to the amlogic usb update executable")
return parser.parse_args()
def update(update_tool, image):
subprocess.check_call(
[update_tool, "write", image, "0xfffa0000", "0x10000"])
subprocess.check_call([update_tool, "run", "0xfffa0000"])
subprocess.check_call([update_tool, "bl2_boot", image])
print("Waiting TPL plug-in...")
time.sleep(7)
subprocess.check_call([update_tool, "partition", "bootloader", image])
def fastboot(image):
subprocess.check_call(["fastboot", "flash", "bootloader", image])
def main():
args = parse_args()
update_tool = args.update_tool if args.update_tool else "update"
if args.mode == MODE_UPDATE:
update(update_tool, args.image)
elif args.mode == MODE_FASTBOOT:
fastboot(args.image)
return 0
if __name__ == "__main__":
sys.exit(main())