diff options
author | Dean Birch <dean.birch@arm.com> | 2016-08-08 14:49:52 +0100 |
---|---|---|
committer | Dean Birch <dean.birch@arm.com> | 2016-08-24 14:54:39 +0100 |
commit | 5efa6fb597863d1f33aeff5c395972c45a47fc36 (patch) | |
tree | 71c0cb645efd661913dcc3f7a5596fcc7f64bc46 /platforms/tc2 | |
parent | ad2ce32742f3b13312d28142a414d84fd1769385 (diff) |
Change to build-scripts arguments and structureupstream
If there is only one filesystem/flavour then the -f and -t options
become optional, and omitting them will be the same as specifying the
only available filesystem/flavour with those flags. Also changing so
that if there is only one platform/filesystem/flavour, then
"./build-$COMP.sh $CMD" will work with no options (where $COMP is a
component, or 'all' and $CMD is clean/build/package).
Splitting the public 'platform' into the real platforms. The folder
platforms/public no longer exists and in it's place, there are separate
juno, tc2 and fvp.
Changing the output directory to be "output/platform" for platforms with
only one flavour and "output/platform/flavour" for platforms with
multiple flavours.
Previously, there was a huge amount of find commands to handle
platform/filesystem/flavour detection over these 3 files. They all
needed to be modified to ignore hidden objects, so it was a good time to
ensure that they were abstracted.
Change-Id: Id6054966651d39251665a960047217466c06fb88
Signed-off-by: Dean Birch <dean.birch@arm.com>
Diffstat (limited to 'platforms/tc2')
-rw-r--r-- | platforms/tc2/tc2 | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/platforms/tc2/tc2 b/platforms/tc2/tc2 new file mode 100644 index 0000000..aac1a9d --- /dev/null +++ b/platforms/tc2/tc2 @@ -0,0 +1,135 @@ +# Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# Neither the name of ARM nor the names of its contributors may be used +# to endorse or promote products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +#Android options +ANDROID_BINS_VARIANTS_PLAT="tc2" +ANDROID_SOURCE_VARIANT=$ANDROID_BINS_VARIANTS_PLAT +ANDROID_LUNCH_TARGET_PREBUILT="vexpress-userdebug" +ANDROID_LUNCH_TARGET_SRC="vexpress-userdebug" +VARIANT_DESC="TC2 kernel for BusyBox Software Stack" +source $DIR/platforms/common/common.base + +export CROSS_COMPILE=${CROSS_COMPILE_32} + +LINUX_IMAGE_TYPE=zImage +LINUX_ARCH=arm +#Override the configs, no vexpress64 +LINUX_mobile_bb[config]="linaro-base EAS vexpress" +LINUX_mobile_oe[config]="linaro-base EAS distribution vexpress" +LINUX_android[config]="linaro-base EAS android vexpress" +LINUX_CONFIG_LIST="" + +BOOTMON_BUILD_ENABLED=1 +BOOTMON_SCRIPT="bootscr.txt" + +UBOOT_BUILD_ENABLED=1 +UBOOT_PATH=u-boot +UBOOT_ARCH=arm +UBOOT_MKIMG=${TOP_DIR}/${UBOOT_PATH}/output/tools/mkimage +UBOOT_UIMAGE_ADDRS="0x80080000" +UBOOT_BOARDS="vexpress_ca15_tc2" +declare -A UBOOT_OUTPUT_DESTS +UBOOT_OUTPUT_DESTS[vexpress_ca15_tc2]=tc2 + +UEFI_BUILD_ENABLED=1 +UEFI_PLATFORMS="tc2" +UEFI_BUILD_MODE=RELEASE + +ARM_TF_BUILD_ENABLED=0 + +DEVTREE_BUILD_ENABLED=0 +TARGET_BINS_HAS_DTB_RAMDISK=1 + +TARGET_BINS_PLATS="tc2" +declare -A TARGET_tc2 +TARGET_tc2[arm-tf]="" +TARGET_tc2[scp]="" +TARGET_tc2[uboot]="" +TARGET_tc2[uefi]="" +TARGET_tc2[fdts]="vexpress-v2p-ca15_a7" +TARGET_tc2[linux]="zImage uImage.0x80080000" +TARGET_tc2[ramdisk]=0x84000000 +TARGET_tc2[output]=tc2 + +UEFI_PLATFORMS="tc2" +declare -A UEFI_PLAT_tc2 +UEFI_PLAT_tc2[platname]="ArmVExpress-CTA15-A7" +UEFI_PLAT_tc2[output]=tc2 +UEFI_PLAT_tc2[defines]= +UEFI_PLAT_tc2[binary]="ARM_VEXPRESS_CTA15A7_EFI.fd" + +#Copy binaries into the U-Boot folder +TARGET_BINS_COPY_ENABLED=1 + +#Busybox copies +TC2_BB_BOOTMON_FOLDER=$PLATDIR/tc2-busybox/bootmon +index=${#TARGET_BINS_COPY_LIST_BUSYBOX[@]} +TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${OUTDIR}/linux/zImage ${TC2_BB_BOOTMON_FOLDER}/zImage" +TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${OUTDIR}/linux/vexpress-v2p-ca15_a7.dtb ${TC2_BB_BOOTMON_FOLDER}/tc2.dtb" +TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${PLATDIR}/ramdisk-busybox.img ${TC2_BB_BOOTMON_FOLDER}/ramdisk.img" +TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${TOP_DIR}/vexpress-firmware/SOFTWARE/bootkern.txt ${TC2_BB_BOOTMON_FOLDER}/bootscr.txt" +if [ "$UBOOT_BUILD_ENABLED" == "1" ]; then + TC2_BB_UBOOT_FOLDER=$PLATDIR/tc2-busybox/uboot + TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${OUTDIR}/linux/uImage.0x80080000 ${TC2_BB_UBOOT_FOLDER}/Image" + TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${OUTDIR}/linux/vexpress-v2p-ca15_a7.dtb ${TC2_BB_UBOOT_FOLDER}/tc2.dtb" + TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${PLATDIR}/uInitrd-busybox.0x84000000 ${TC2_BB_UBOOT_FOLDER}/ramdisk.img" + TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${TOP_DIR}/vexpress-firmware/SOFTWARE/bootscr.txt ${TC2_BB_UBOOT_FOLDER}/bootscr.txt" + TARGET_BINS_COPY_LIST_BUSYBOX[$[index++]]="${OUTDIR}/tc2/uboot.bin ${TC2_BB_UBOOT_FOLDER}/boot-tc2.bin" +fi + +TC2_OE_BOOTMON_FOLDER=$PLATDIR/tc2-oe/bootmon +index=${#TARGET_BINS_COPY_LIST_OE[@]} +TARGET_BINS_COPY_LIST_OE[$[index++]]="${OUTDIR}/linux/zImage ${TC2_OE_BOOTMON_FOLDER}/Image" +TARGET_BINS_COPY_LIST_OE[$[index++]]="${OUTDIR}/linux/vexpress-v2p-ca15_a7.dtb ${TC2_OE_BOOTMON_FOLDER}/tc2.dtb" +TARGET_BINS_COPY_LIST_OE[$[index++]]="${PLATDIR}/ramdisk-oe.img ${TC2_OE_BOOTMON_FOLDER}/ramdisk.img" +TARGET_BINS_COPY_LIST_OE[$[index++]]="${TOP_DIR}/vexpress-firmware/SOFTWARE/bootkern.txt ${TC2_OE_BOOTMON_FOLDER}/bootscr.txt" +if [ "$UBOOT_BUILD_ENABLED" == "1" ]; then + TC2_OE_UBOOT_FOLDER=$PLATDIR/tc2-oe/uboot + TARGET_BINS_COPY_LIST_OE[$[index++]]="${OUTDIR}/linux/uImage.0x80080000 ${TC2_OE_UBOOT_FOLDER}/Image" + TARGET_BINS_COPY_LIST_OE[$[index++]]="${OUTDIR}/linux/vexpress-v2p-ca15_a7.dtb ${TC2_OE_UBOOT_FOLDER}/tc2.dtb" + TARGET_BINS_COPY_LIST_OE[$[index++]]="${PLATDIR}/uInitrd-oe.0x84000000 ${TC2_OE_UBOOT_FOLDER}/ramdisk.img" + TARGET_BINS_COPY_LIST_OE[$[index++]]="${TOP_DIR}/vexpress-firmware/SOFTWARE/bootscr.txt ${TC2_OE_UBOOT_FOLDER}/bootscr.txt" + TARGET_BINS_COPY_LIST_OE[$[index++]]="${OUTDIR}/tc2/uboot.bin ${TC2_OE_UBOOT_FOLDER}/boot-tc2.bin" +fi + +TC2_BOOTMON_FOLDER=$PLATDIR/tc2-android/bootmon +index=${#TARGET_BINS_COPY_LIST_ANDROID[@]} +TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${OUTDIR}/linux/zImage ${TC2_BOOTMON_FOLDER}/Image" +TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${OUTDIR}/linux/vexpress-v2p-ca15_a7.dtb ${TC2_BOOTMON_FOLDER}/tc2.dtb" +TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${TOP_DIR}/prebuilts/android/tc2/ramdisk.img ${TC2_BOOTMON_FOLDER}/ramdisk.img" +TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${TOP_DIR}/vexpress-firmware/SOFTWARE/bootkern.txt ${TC2_BOOTMON_FOLDER}/bootscr.txt" +if [ "$UBOOT_BUILD_ENABLED" == "1" ]; then + TC2_ANDROID_UBOOT_FOLDER=$PLATDIR/tc2-android/uboot + TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${OUTDIR}/linux/uImage.0x80080000 ${TC2_ANDROID_UBOOT_FOLDER}/Image" + TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${OUTDIR}/linux/vexpress-v2p-ca15_a7.dtb ${TC2_ANDROID_UBOOT_FOLDER}/tc2.dtb" + TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${PLATDIR}/tc2-uInitrd-android.0x84000000 ${TC2_ANDROID_UBOOT_FOLDER}/ramdisk.img" + TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${TOP_DIR}/vexpress-firmware/SOFTWARE/bootscr.txt ${TC2_ANDROID_UBOOT_FOLDER}/bootscr.txt" + TARGET_BINS_COPY_LIST_ANDROID[$[index++]]="${OUTDIR}/tc2/uboot.bin ${TC2_ANDROID_UBOOT_FOLDER}/boot-tc2.bin" +fi + +FLAVOUR_BUILD_SCRIPTS="build-uboot.sh build-uefi.sh build-linux.sh build-devtrees.sh build-scp.sh build-arm-tf.sh build-optee-os.sh build-android.sh build-target-bins.sh" |