aboutsummaryrefslogtreecommitdiff
path: root/core/arch/arm/plat-hisilicon/conf.mk
diff options
context:
space:
mode:
authorZeng Tao <prime.zeng@hisilicon.com>2019-01-31 00:22:23 +0800
committerJérôme Forissier <jerome.forissier@linaro.org>2019-02-22 09:26:59 +0100
commitb7667020c9146b9dc760174406a42ab62b167f6b (patch)
tree65239c0036e5553515b3d9f4306b2d2ececd2ac7 /core/arch/arm/plat-hisilicon/conf.mk
parent7bd5ce8f03604e864613aaa73b721fcb30fbf10e (diff)
Add support for Hisilicon Hi3519AV100 DEMO board
Hi3519AV100 is a high-performance and low-power 4K Smart IP Camera SoC designed for IP cameras, action cameras, panoramic cameras, rear view mirrors, and UAVs. Hi3519A V100 introduces H.265/H.264 encoding and decoding, with performance up to 4K x 2K@60 fps and 1080p@240 fps. For more information: http://www.hisilicon.com/en/Products/ProductList/Surveillance This patch has been tested using the following step, 1. Patch the uboot and Linux kernel with OP-TEE support if required 2. build step: (1) make CROSS_COMPILE=arm-himix200-linux- PLATFORM=hisilicon PLATFORM_FLAVOR=hi3519av100_demo (OPTEE-OS build) (2) make CROSS_COMPILE_HOST=arm-himix200-linux- (OPTEE_CLIENT build) (3) cross_compile openssl and replace optee_test/host/libopenssl (4) make CROSS_COMPILE_HOST=arm-himix200-linux- CROSS_COMPILE_TA=arm-himix200-linux- TA_DEV_KIT_DIR=../optee_os/out/arm-plat-hisilicon/export-ta_arm32 COMPILE_NS_USER=32 (OPTEE_TEST build) 3. mkimage -A arm -T kernel -O tee -C none -d tee.bin uTee.optee 4. Boot setting in uboot: nand read 0x22007fc0 0x100000 0x400000; /* load kernel */ tftp 0x30000000 uTee.optee;bootm 0x30000000; 5. after Linux startup, run daemon tee-supplicant 6. run xtest Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com>
Diffstat (limited to 'core/arch/arm/plat-hisilicon/conf.mk')
-rw-r--r--core/arch/arm/plat-hisilicon/conf.mk64
1 files changed, 64 insertions, 0 deletions
diff --git a/core/arch/arm/plat-hisilicon/conf.mk b/core/arch/arm/plat-hisilicon/conf.mk
new file mode 100644
index 00000000..b91c189f
--- /dev/null
+++ b/core/arch/arm/plat-hisilicon/conf.mk
@@ -0,0 +1,64 @@
+PLATFORM_FLAVOR ?= hi3519av100_demo
+
+hi3519av100-flavorlist = hi3519av100_demo hi3519av100_tst
+
+ifneq (,$(filter $(PLATFORM_FLAVOR),$(hi3519av100-flavorlist)))
+include core/arch/arm/cpu/cortex-armv8-0.mk
+$(call force,CFG_HI3519AV100,y)
+$(call force,CFG_TEE_CORE_NB_CORE,2)
+# Hi3519av100 has got two clusters, one core per cluster
+$(call force,CFG_CORE_CLUSTER_SHIFT,0)
+
+$(call force,CFG_GENERIC_BOOT,y)
+$(call force,CFG_PL011,y)
+$(call force,CFG_PM_STUBS,y)
+$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y)
+$(call force,CFG_ARM32_core,y)
+$(call force,CFG_PSCI_ARM32,y)
+
+CFG_BOOT_SECONDARY_REQUEST ?= y
+CFG_NUM_THREADS ?= 4
+CFG_CRYPTO_WITH_CE ?= y
+CFG_WITH_STACK_CANARIES ?= y
+CFG_NS_ENTRY_ADDR ?= 0x22008000
+CFG_CORE_HEAP_SIZE ?= 131072
+
+#
+# Hi3519av100 memory map
+#
+# This is a general memory map for demo board, and for your own board,
+# you have to define your own memory map.
+#
+# 0x4000_0000 [DRAM_LIMIT]
+# other (media memory zone/uboot and other)
+#
+# 0x3360_0000 -
+# TA RAM: 12 MiB | TZDRAM
+# 0x32a0_0000 -
+#
+# CFG_WITH_PAGER=n -
+# TEE RAM: 4 MiB (TEE_RAM_VA_SIZE) | TZDRAM
+# 0x3260_0000 [TZDRAM_BASE, TEE_LOAD_ADDR] -
+#
+# CFG_WITH_PAGER=y
+# Unused
+# 0x32607_0000 -
+# TEE RAM: 448 KiB (TZSRAM_SIZE) | TZSRAM
+# 0x3260_0000 [TZDRAM_BASE, TZSRAM_BASE, TEE_LOAD_ADDR]
+# OP-TEE Future Use: 2 MiB
+# 0x3240_0000
+# Shared memory: 4 MB
+# 0x3200_0000
+# Linux memory: 256MB
+# 0x2200_0000
+# DSP reserved memory: 32MB
+# 0x2000_0000 [DRAM_BASE]
+#
+CFG_TZDRAM_START ?= 0x32600000
+CFG_TZDRAM_SIZE ?= 0x01000000
+CFG_TEE_RAM_VA_SIZE ?= 0x00400000
+CFG_SHMEM_START ?= 0x32000000
+CFG_SHMEM_SIZE ?= 0x00400000
+else
+$(error Error: Not supported PLATFORM_FLAVOR or NULL PLATFORM_FLAVOR)
+endif