aboutsummaryrefslogtreecommitdiff
path: root/platforms/tc2
diff options
context:
space:
mode:
authorDean Birch <dean.birch@arm.com>2016-08-08 14:49:52 +0100
committerDean Birch <dean.birch@arm.com>2016-08-24 14:54:39 +0100
commit5efa6fb597863d1f33aeff5c395972c45a47fc36 (patch)
tree71c0cb645efd661913dcc3f7a5596fcc7f64bc46 /platforms/tc2
parentad2ce32742f3b13312d28142a414d84fd1769385 (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/tc2135
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"