Skip to content

Commit

Permalink
nanopc-t6: add fit_args.sh with TEE_OFFSET=0x30000000
Browse files Browse the repository at this point in the history
Adds fit_args.sh with TEE_OFFSET=0x30000000
Update DTB overlay with 0x30000000
Update nanopc-t6.mk to copy fit_args.sh

Signed-off by: Ed Tubbs <[email protected]>
  • Loading branch information
edtubbs committed Jan 30, 2025
1 parent e0ca991 commit 3c716b9
Show file tree
Hide file tree
Showing 3 changed files with 172 additions and 3 deletions.
8 changes: 7 additions & 1 deletion nanopc-t6.mk
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ BOOT_IMG ?= $(ROOT)/out/nanopc-t6.img
TPL_BIN ?= $(BINARIES_PATH)/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin
BOOT_CMD ?= $(ROOT)/build/nanopc-t6/nanopi6.h
BOARD_DTSO ?= $(ROOT)/build/nanopc-t6/rk3588-nanopi6-optee.dtso
FIT_ARGS ?= $(ROOT)/build/nanopc-t6/fit_args.sh
LINUX_DTSI ?= $(LINUX_PATH)/arch/arm64/boot/dts/rockchip/rk3588-nanopi6-common.dtsi
UBOOT_HEADER ?= $(UBOOT_PATH)/include/configs/nanopi6.h
UBOOT_FIT_ARGS ?= $(UBOOT_PATH)/arch/arm/mach-rockchip/fit_args.sh

LINUX_MODULES ?= n

Expand Down Expand Up @@ -132,12 +134,16 @@ u-boot-proper: $(TPL_BIN) $(UBOOT_PATH)/.config u-boot-config
u-boot-apply-bootcmd:
cp $(BOOT_CMD) $(UBOOT_HEADER)

.PHONY: u-boot-apply-fit-args
u-boot-apply-fit-args:
cp $(FIT_ARGS) $(UBOOT_FIT_ARGS)

.PHONY: u-boot-loader
u-boot-loader: u-boot-proper
$(UBOOT_PATH)/tools/mkimage -n rk3588 -T rksd -d $(UBOOT_PATH)/tpl/u-boot-tpl.bin:$(UBOOT_PATH)/spl/u-boot-spl.bin $(UBOOT_PATH)/idbloader.img

.PHONY: u-boot
u-boot: u-boot-apply-bootcmd $(TPL_BIN) $(UBOOT_PATH)/.config u-boot-loader
u-boot: u-boot-apply-bootcmd u-boot-apply-fit-args $(TPL_BIN) $(UBOOT_PATH)/.config u-boot-loader
$(UBOOT_EXPORTS) $(MAKE) -C $(UBOOT_PATH) $(UBOOT_FLAGS) u-boot.itb

.PHONY: u-boot-clean
Expand Down
163 changes: 163 additions & 0 deletions nanopc-t6/fit_args.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
#!/bin/bash
#
# Copyright (c) 2020 Rockchip Electronics Co., Ltd
#
# SPDX-License-Identifier: GPL-2.0
#

srctree=$PWD

function help()
{
echo
echo "Description:"
echo " Process args for all rockchip fit generator script, and providing variables for it's caller"
echo
echo "Usage:"
echo " $0 [args]"
echo
echo "[args]:"
echo "--------------------------------------------------------------------------------------------"
echo " arg type output variable description"
echo "--------------------------------------------------------------------------------------------"
echo " -c [comp] ==> <string> COMPRESSION set compression: \"none\", \"gzip\""
echo " -m0 [offset] ==> <hex> MCU0_LOAD_ADDR set mcu0.bin load address"
echo " -m1 [offset] ==> <hex> MCU1_LOAD_ADDR set mcu1.bin load address"
echo " -m2 [offset] ==> <hex> MCU2_LOAD_ADDR set mcu2.bin load address"
echo " -m3 [offset] ==> <hex> MCU3_LOAD_ADDR set mcu3.bin load address"
echo " -m4 [offset] ==> <hex> MCU4_LOAD_ADDR set mcu4.bin load address"
echo " -l0 [offset] ==> <hex> LOAD0_LOAD_ADDR set load0.bin load address"
echo " -l1 [offset] ==> <hex> LOAD1_LOAD_ADDR set load1.bin load address"
echo " -l2 [offset] ==> <hex> LOAD2_LOAD_ADDR set load2.bin load address"
echo " -l3 [offset] ==> <hex> LOAD3_LOAD_ADDR set load3.bin load address"
echo " -l4 [offset] ==> <hex> LOAD4_LOAD_ADDR set load4.bin load address"
echo " -t [offset] ==> <hex> TEE_LOAD_ADDR set tee.bin load address"
echo " (none) ==> <hex> UBOOT_LOAD_ADDR set U-Boot load address"
echo " (none) ==> <string> ARCH set arch: \"arm\", \"arm64\""
echo
}

if [ $# -eq 1 ]; then
# default
TEE_OFFSET=0x30000000
else
# args
while [ $# -gt 0 ]; do
case $1 in
--help|-help|help|--h|-h)
help
exit
;;
-c)
COMPRESSION=$2
shift 2
;;
-m0)
MCU0_OFFSET=$2
shift 2
;;
-m1)
MCU1_OFFSET=$2
shift 2
;;
-m2)
MCU2_OFFSET=$2
shift 2
;;
-m3)
MCU3_OFFSET=$2
shift 2
;;
-m4)
MCU4_OFFSET=$2
shift 2
;;
-l0)
LOAD0_OFFSET=$2
shift 2
;;
-l1)
LOAD1_OFFSET=$2
shift 2
;;
-l2)
LOAD2_OFFSET=$2
shift 2
;;
-l3)
LOAD3_OFFSET=$2
shift 2
;;
-l4)
LOAD4_OFFSET=$2
shift 2
;;
-t)
TEE_OFFSET=$2
shift 2
;;
*)
echo "Invalid arg: $1"
help
exit 1
;;
esac
done
fi

# Base
DARM_BASE=`sed -n "/CONFIG_SYS_SDRAM_BASE=/s/CONFIG_SYS_SDRAM_BASE=//p" ${srctree}/include/autoconf.mk|tr -d '\r'`
if ! grep -q '^CONFIG_FIT_OMIT_UBOOT=y' .config ; then
UBOOT_LOAD_ADDR=`sed -n "/CONFIG_SYS_TEXT_BASE=/s/CONFIG_SYS_TEXT_BASE=//p" ${srctree}/include/autoconf.mk|tr -d '\r'`
fi

# ARCH
U_ARCH="arm"
if grep -q '^CONFIG_ARM64=y' .config ; then
ARCH="arm64"
U_ARCH="arm64"
elif grep -q '^CONFIG_ARM64_BOOT_AARCH32=y' .config ; then
ARCH="arm64"
else
ARCH="arm"
fi

# tee
if [ ! -z "${TEE_OFFSET}" ]; then
TEE_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+TEE_OFFSET))"|bc)
fi

# mcu
if [ ! -z "${MCU0_OFFSET}" ]; then
MCU0_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$MCU0_OFFSET))"|bc)
fi
if [ ! -z "${MCU1_OFFSET}" ]; then
MCU1_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$MCU1_OFFSET))"|bc)
fi
if [ ! -z "${MCU2_OFFSET}" ]; then
MCU2_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$MCU2_OFFSET))"|bc)
fi
if [ ! -z "${MCU3_OFFSET}" ]; then
MCU3_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$MCU3_OFFSET))"|bc)
fi
if [ ! -z "${MCU4_OFFSET}" ]; then
MCU4_LOAD_ADDR="0x"$(echo "obase=16;$$((DARM_BASE+$MCU4_OFFSET))"|bc)
fi

# loadables
if [ ! -z "${LOAD0_OFFSET}" ]; then
LOAD0_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$LOAD0_OFFSET))"|bc)
fi
if [ ! -z "${LOAD1_OFFSET}" ]; then
LOAD1_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$LOAD1_OFFSET))"|bc)
fi
if [ ! -z "${LOAD2_OFFSET}" ]; then
LOAD2_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$LOAD2_OFFSET))"|bc)
fi
if [ ! -z "${LOAD3_OFFSET}" ]; then
LOAD3_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$LOAD3_OFFSET))"|bc)
fi
if [ ! -z "${LOAD4_OFFSET}" ]; then
LOAD4_LOAD_ADDR="0x"$(echo "obase=16;$((DARM_BASE+$LOAD4_OFFSET))"|bc)
fi
# echo " ## $DARM_BASE, $UBOOT_LOAD_ADDR, $TEE_LOAD_ADDR, $MCU0_LOAD_ADDR, $MCU1_LOAD_ADDR, $MCU2_LOAD_ADDR, $MCU3_LOAD_ADDR, $MCU4_LOAD_ADDR"
4 changes: 2 additions & 2 deletions nanopc-t6/rk3588-nanopi6-optee.dtso
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
#size-cells = <2>;
ranges;

optee@8400000 {
reg = <0x0 0x8400000 0x0 0x2000000>;
optee@30000000 {
reg = <0x0 0x30000000 0x0 0x2000000>;
no-map;
};
};
Expand Down

0 comments on commit 3c716b9

Please sign in to comment.