xref: /rk3399_rockchip-uboot/scripts/uboot.sh (revision 3a02727cafad3376e9600a6010c8cb9dd5a0f73e)
1b42d2103SJoseph Chen#!/bin/bash
2b42d2103SJoseph Chen#
3b42d2103SJoseph Chen# Copyright (c) 2020 Rockchip Electronics Co., Ltd
4b42d2103SJoseph Chen#
5b42d2103SJoseph Chen# SPDX-License-Identifier: GPL-2.0
6b42d2103SJoseph Chen#
7b42d2103SJoseph Chen
845986bebSJoseph Chenset -e
945986bebSJoseph Chen
10b42d2103SJoseph Chenif [ $# -eq 0 ]; then
11b42d2103SJoseph Chen	echo "ERROR: No args of $0"
12b42d2103SJoseph Chen	exit 1
13b42d2103SJoseph Chenfi
14b42d2103SJoseph Chen
15b42d2103SJoseph Chenwhile [ $# -gt 0 ]; do
16b42d2103SJoseph Chen	case $1 in
17b42d2103SJoseph Chen		--load)
18b42d2103SJoseph Chen			LOAD_ADDR=$2
19b42d2103SJoseph Chen			shift 2
20b42d2103SJoseph Chen			;;
21b42d2103SJoseph Chen		--size)
22b42d2103SJoseph Chen			SIZE="$1 $2 $3"
23b42d2103SJoseph Chen			shift 3
24b42d2103SJoseph Chen			;;
25b42d2103SJoseph Chen		*)
26b42d2103SJoseph Chen			echo "ERROR: Unknown arg: $1"
27b42d2103SJoseph Chen			exit 1
28b42d2103SJoseph Chen			;;
29b42d2103SJoseph Chen	esac
30b42d2103SJoseph Chendone
31b42d2103SJoseph Chen
32b42d2103SJoseph Chenrm uboot.img -f
33b42d2103SJoseph Chen
34b42d2103SJoseph Chenif [ -z "${LOAD_ADDR}" ]; then
35b42d2103SJoseph Chen	echo "ERROR: No load address"
36b42d2103SJoseph Chen	exit 1
37b42d2103SJoseph Chenfi
38b42d2103SJoseph Chen
39b42d2103SJoseph ChenHEAD_KB=2
40b42d2103SJoseph ChenBIN_KB=`ls -l u-boot.bin | awk '{ print $5 }'`
41b42d2103SJoseph Chenif [ -z "${SIZE}" ]; then
42b42d2103SJoseph Chen	MAX_KB=1046528
43b42d2103SJoseph Chenelse
44b42d2103SJoseph Chen	MAX_KB=`echo ${SIZE} | awk '{print strtonum($2)}'`
45b42d2103SJoseph Chen	MAX_KB=$(((MAX_KB-HEAD_KB)*1024))
46b42d2103SJoseph Chenfi
47b42d2103SJoseph Chen
48b42d2103SJoseph Chenif [ ${BIN_KB} -gt ${MAX_KB} ]; then
49b42d2103SJoseph Chen	echo "ERROR: pack uboot failed! u-boot.bin actual: ${BIN_KB} bytes, max limit: ${MAX_KB} bytes"
50b42d2103SJoseph Chen	exit 1
51b42d2103SJoseph Chenfi
52b42d2103SJoseph Chen
53*3a02727cSJoseph Chen../rkbin/tools/loaderimage --pack --uboot u-boot.bin uboot.img ${LOAD_ADDR} ${SIZE}
54b42d2103SJoseph Chenecho "pack uboot okay! Input: u-boot.bin"
55b42d2103SJoseph Chenecho
56