diff options
author | Xiaobo Gu <xiaobo.gu@amlogic.com> | 2015-12-18 14:21:25 +0800 |
---|---|---|
committer | Xiaobo Gu <xiaobo.gu@amlogic.com> | 2015-12-18 17:38:27 +0800 |
commit | a270928821d8161be0fcb71c52666b60db12b901 (patch) | |
tree | b88f42af7b32d5681562a17db95de2badc91793f | |
parent | 72ca77a0d988fa9930580a449311a2ff9d283e07 (diff) | |
download | u-boot-odroid-c1-a270928821d8161be0fcb71c52666b60db12b901.tar.gz |
PD#116790: Support customer folder
a). Support customer folder(no matter exist or not)
b). _defconfig and (config).h have 3 different place now.
_defconfig:
1. configs/
2. board/amlogic/defconfigs/
3. customer/board/defconfigs/
(config).h:
1. include/configs/
2. board/amlogic/configs/
3. customer/board/configs/
Change-Id: I63858d32931b72b35ac8fc0702c8903e3d00d279
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | Makefile | 11 | ||||
-rwxr-xr-x | amlogic_help.sh | 18 | ||||
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/gxb/firmware/acs/Makefile | 6 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/gxb/firmware/bl21/Makefile | 6 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/gxtvbb/firmware/acs/Makefile | 6 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/gxtvbb/firmware/bl21/Makefile | 6 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/Makefile | 3 | ||||
-rw-r--r-- | board/amlogic/Kconfig | 4 | ||||
-rw-r--r-- | config.mk | 10 | ||||
-rwxr-xr-x | scripts/Makefile.autoconf | 22 | ||||
-rw-r--r-- | scripts/kconfig/zconf.tab.c_shipped | 15 | ||||
-rwxr-xr-x | scripts/multiconfig.sh | 9 |
15 files changed, 101 insertions, 22 deletions
diff --git a/.gitignore b/.gitignore index 332f678b5b..5fe0ac9118 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,9 @@ *.efuse *.encrypt +# folder +customer/ + # host programs on Cygwin *.exe @@ -654,7 +654,8 @@ libs-$(CONFIG_HAS_POST) += post/ libs-y += test/ libs-y += test/dm/ -libs-y += $(if $(BOARDDIR),board/$(BOARDDIR)/) +#libs-y += $(if $(BOARDDIR),board/$(BOARDDIR)/) +libs-y += $(if $(BOARDDIR),$(BOARDDIR)/) libs-y := $(sort $(libs-y)) @@ -885,12 +886,12 @@ endif .PHONY : acs.bin acs.bin: tools prepare u-boot.bin $(Q)$(MAKE) -C $(srctree)/$(CPUDIR)/${SOC}/firmware/acs all FIRMWARE=$@ - $(Q)cp $(buildtree)/board/${BOARDDIR}/firmware/acs.bin $(FIP_FOLDER_SOC)/acs.bin -f + $(Q)cp $(buildtree)/${BOARDDIR}/firmware/acs.bin $(FIP_FOLDER_SOC)/acs.bin -f .PHONY : bl21.bin bl21.bin: tools prepare u-boot.bin acs.bin $(Q)$(MAKE) -C $(srctree)/$(CPUDIR)/${SOC}/firmware/bl21 all FIRMWARE=$@ - $(Q)cp $(buildtree)/board/${BOARDDIR}/firmware/bl21.bin $(FIP_FOLDER_SOC)/bl21.bin -f + $(Q)cp $(buildtree)/${BOARDDIR}/firmware/bl21.bin $(FIP_FOLDER_SOC)/bl21.bin -f .PHONY : boot.bin boot.bin: fip.bin @@ -903,10 +904,10 @@ endif $(Q)cat $(FIP_FOLDER_SOC)/bl2_new.bin $(FIP_FOLDER_SOC)/fip.bin > $(FIP_FOLDER_SOC)/boot_new.bin $(Q)$(FIP_FOLDER_SOC)/aml_encrypt_$(SOC) --bootsig --input $(FIP_FOLDER_SOC)/boot_new.bin --output $(FIP_FOLDER_SOC)/u-boot.bin ifeq ($(CONFIG_AML_CRYPTO_UBOOT), y) - $(Q)$(FIP_FOLDER_SOC)/aml_encrypt_$(SOC) --bootsig --input $(FIP_FOLDER_SOC)/boot_new.bin --amluserkey $(srctree)/board/$(BOARDDIR)/aml-user-key.sig --aeskey enable --output $(FIP_FOLDER_SOC)/u-boot.bin.encrypt + $(Q)$(FIP_FOLDER_SOC)/aml_encrypt_$(SOC) --bootsig --input $(FIP_FOLDER_SOC)/boot_new.bin --amluserkey $(srctree)/$(BOARDDIR)/aml-user-key.sig --aeskey enable --output $(FIP_FOLDER_SOC)/u-boot.bin.encrypt endif ifeq ($(CONFIG_AML_CRYPTO_IMG), y) - $(Q)$(FIP_FOLDER_SOC)/aml_encrypt_$(SOC) --imgsig --input $(srctree)/board/$(BOARDDIR)/boot.img --amluserkey $(srctree)/board/$(BOARDDIR)/aml-user-key.sig --output $(FIP_FOLDER_SOC)/boot.img.encrypt + $(Q)$(FIP_FOLDER_SOC)/aml_encrypt_$(SOC) --imgsig --input $(srctree)/$(BOARDDIR)/boot.img --amluserkey $(srctree)/$(BOARDDIR)/aml-user-key.sig --output $(FIP_FOLDER_SOC)/boot.img.encrypt @cp -f $(FIP_FOLDER_SOC)/boot.img.encrypt $(FIP_FOLDER)/boot.img.encrypt endif @cp -f $(FIP_FOLDER_SOC)/u-boot.* $(FIP_FOLDER)/ diff --git a/amlogic_help.sh b/amlogic_help.sh index 69f5299690..4df368f39b 100755 --- a/amlogic_help.sh +++ b/amlogic_help.sh @@ -15,10 +15,24 @@ echo "*******************************************" for file in ${folder_board}/*; do temp_file=`basename $file` - if [ -d ${folder_board}/${temp_file} ];then + #echo "$temp_file" + if [ -d ${folder_board}/${temp_file} ] && [ "$temp_file" != "defconfigs" ] && [ "$temp_file" != "configs" ];then echo " \c" echo $temp_file fi done -echo "*******************************************"
\ No newline at end of file +echo "*******************************************" + +customer_folder=${srctree}"/customer/board" +if [ -e ${customer_folder} ];then + echo "**************Customer Configs*************" + for file in ${customer_folder}/*; do + temp_file=`basename $file` + if [ -d ${customer_folder}/${temp_file} ] && [ "$temp_file" != "defconfigs" ] && [ "$temp_file" != "configs" ];then + echo " \c" + echo $temp_file + fi + done + echo "*******************************************" +fi diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3b7d80d7a1..5a9aad7d78 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -993,6 +993,7 @@ source "board/xaeniax/Kconfig" source "board/zipitz2/Kconfig" source "board/amlogic/Kconfig" +source "customer/board/Kconfig" source "arch/arm/Kconfig.debug" diff --git a/arch/arm/cpu/armv8/gxb/firmware/acs/Makefile b/arch/arm/cpu/armv8/gxb/firmware/acs/Makefile index 4ecedcb2dc..647f1615f8 100644 --- a/arch/arm/cpu/armv8/gxb/firmware/acs/Makefile +++ b/arch/arm/cpu/armv8/gxb/firmware/acs/Makefile @@ -88,7 +88,8 @@ BL_COMMON_SOURCES := common/bl_common.c \ BUILD_BASE := $(buildtree)/firmware #BUILD_PLAT := ${BUILD_BASE}/${PLAT} -BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +#BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +BUILD_PLAT := $(buildtree)/${BOARDDIR}/firmware # Convenience function for adding build definitions # $(eval $(call add_define,FOO)) will have: @@ -169,7 +170,8 @@ $(eval $(call add_define,NS_TIMER_SWITCH)) $(eval $(call assert_boolean,RESET_TO_BL31)) $(eval $(call add_define,RESET_TO_BL31)) -VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +#VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +VPATH_LIST = $(buildsrc)/$(BOARDDIR) VPATH_LIST:=$(VPATH_LIST:%=%/firmware/) vpath %.c $(VPATH_LIST) diff --git a/arch/arm/cpu/armv8/gxb/firmware/bl21/Makefile b/arch/arm/cpu/armv8/gxb/firmware/bl21/Makefile index 5c80f0c220..4dfe4620f4 100644 --- a/arch/arm/cpu/armv8/gxb/firmware/bl21/Makefile +++ b/arch/arm/cpu/armv8/gxb/firmware/bl21/Makefile @@ -90,7 +90,8 @@ BL_COMMON_SOURCES := common/bl_common.c \ BUILD_BASE := $(buildtree)/firmware #BUILD_PLAT := ${BUILD_BASE}/${PLAT} -BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +#BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +BUILD_PLAT := $(buildtree)/${BOARDDIR}/firmware # Convenience function for adding build definitions # $(eval $(call add_define,FOO)) will have: @@ -171,7 +172,8 @@ $(eval $(call add_define,NS_TIMER_SWITCH)) $(eval $(call assert_boolean,RESET_TO_BL31)) $(eval $(call add_define,RESET_TO_BL31)) -VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +#VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +VPATH_LIST = $(buildsrc)/$(BOARDDIR) VPATH_LIST:=$(VPATH_LIST:%=%/firmware/) vpath %.c $(VPATH_LIST) diff --git a/arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile b/arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile index 865d142b80..62df8767f8 100644 --- a/arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile +++ b/arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile @@ -36,7 +36,8 @@ CFLAGS_INCLUDE=-I$(buildsrc)/build/include/ \ -I./include \ -I./build -VPATH_LIST= $(buildsrc)/board/$(BOARDDIR) +#VPATH_LIST= $(buildsrc)/board/$(BOARDDIR) +VPATH_LIST= $(buildsrc)/$(BOARDDIR) VPATH_LIST:=$(VPATH_LIST:%=%/firmware/scp_task/) diff --git a/arch/arm/cpu/armv8/gxtvbb/firmware/acs/Makefile b/arch/arm/cpu/armv8/gxtvbb/firmware/acs/Makefile index 4ecedcb2dc..647f1615f8 100644 --- a/arch/arm/cpu/armv8/gxtvbb/firmware/acs/Makefile +++ b/arch/arm/cpu/armv8/gxtvbb/firmware/acs/Makefile @@ -88,7 +88,8 @@ BL_COMMON_SOURCES := common/bl_common.c \ BUILD_BASE := $(buildtree)/firmware #BUILD_PLAT := ${BUILD_BASE}/${PLAT} -BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +#BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +BUILD_PLAT := $(buildtree)/${BOARDDIR}/firmware # Convenience function for adding build definitions # $(eval $(call add_define,FOO)) will have: @@ -169,7 +170,8 @@ $(eval $(call add_define,NS_TIMER_SWITCH)) $(eval $(call assert_boolean,RESET_TO_BL31)) $(eval $(call add_define,RESET_TO_BL31)) -VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +#VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +VPATH_LIST = $(buildsrc)/$(BOARDDIR) VPATH_LIST:=$(VPATH_LIST:%=%/firmware/) vpath %.c $(VPATH_LIST) diff --git a/arch/arm/cpu/armv8/gxtvbb/firmware/bl21/Makefile b/arch/arm/cpu/armv8/gxtvbb/firmware/bl21/Makefile index 5c80f0c220..4dfe4620f4 100644 --- a/arch/arm/cpu/armv8/gxtvbb/firmware/bl21/Makefile +++ b/arch/arm/cpu/armv8/gxtvbb/firmware/bl21/Makefile @@ -90,7 +90,8 @@ BL_COMMON_SOURCES := common/bl_common.c \ BUILD_BASE := $(buildtree)/firmware #BUILD_PLAT := ${BUILD_BASE}/${PLAT} -BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +#BUILD_PLAT := $(buildtree)/board/${BOARDDIR}/firmware +BUILD_PLAT := $(buildtree)/${BOARDDIR}/firmware # Convenience function for adding build definitions # $(eval $(call add_define,FOO)) will have: @@ -171,7 +172,8 @@ $(eval $(call add_define,NS_TIMER_SWITCH)) $(eval $(call assert_boolean,RESET_TO_BL31)) $(eval $(call add_define,RESET_TO_BL31)) -VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +#VPATH_LIST = $(buildsrc)/board/$(BOARDDIR) +VPATH_LIST = $(buildsrc)/$(BOARDDIR) VPATH_LIST:=$(VPATH_LIST:%=%/firmware/) vpath %.c $(VPATH_LIST) diff --git a/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/Makefile b/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/Makefile index 865d142b80..62df8767f8 100644 --- a/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/Makefile +++ b/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/Makefile @@ -36,7 +36,8 @@ CFLAGS_INCLUDE=-I$(buildsrc)/build/include/ \ -I./include \ -I./build -VPATH_LIST= $(buildsrc)/board/$(BOARDDIR) +#VPATH_LIST= $(buildsrc)/board/$(BOARDDIR) +VPATH_LIST= $(buildsrc)/$(BOARDDIR) VPATH_LIST:=$(VPATH_LIST:%=%/firmware/scp_task/) diff --git a/board/amlogic/Kconfig b/board/amlogic/Kconfig index ceeed05d05..654a26ad98 100644 --- a/board/amlogic/Kconfig +++ b/board/amlogic/Kconfig @@ -39,6 +39,10 @@ config PXP_EMULATOR bool "Support pxp environment" default n +config SUPPORT_CUSOTMER_BOARD + bool "Customer board support" + default n + if GXB_SKT_V1 source "board/amlogic/gxb_skt_v1/Kconfig" endif @@ -45,14 +45,18 @@ ifdef SOC sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules endif ifneq ($(BOARD),) +ifeq ($(CONFIG_SUPPORT_CUSOTMER_BOARD), y) #SUPPORT_CUSOTMER_BOARD +BOARDDIR = customer/board/$(BOARD) +else #SUPPORT_CUSOTMER_BOARD ifdef VENDOR -BOARDDIR = $(VENDOR)/$(BOARD) +BOARDDIR = board/$(VENDOR)/$(BOARD) else -BOARDDIR = $(BOARD) +BOARDDIR = board/$(BOARD) endif +endif #SUPPORT_CUSOTMER_BOARD endif ifdef BOARD -sinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules +sinclude $(srctree)/$(BOARDDIR)/config.mk # include board specific rules endif ifdef FTRACE diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf index 2dafb3a25c..ca15762a4a 100755 --- a/scripts/Makefile.autoconf +++ b/scripts/Makefile.autoconf @@ -65,6 +65,26 @@ $(obj)/autoconf.mk: FORCE include/autoconf.mk include/autoconf.mk.dep: include/config.h +# support amlogic config folder and customer folder + +# 1st. this is old u-boot config file folder +config_file=$(shell echo "$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME).h") +ifneq ($(config_file), $(wildcard $(config_file))) + +# 2nd. this is amlogic config file folder +config_file=$(shell echo "$(srctree)/board/amlogic/configs/$(CONFIG_SYS_CONFIG_NAME).h") +ifneq ($(config_file), $(wildcard $(config_file))) + +# 3rd. this is amlogic customer config folder +config_file=$(shell echo "$(srctree)/customer/board/configs/$(CONFIG_SYS_CONFIG_NAME).h") +ifneq ($(config_file), $(wildcard $(config_file))) +$(error $(shell echo "Error: Can not find $(CONFIG_SYS_CONFIG_NAME).h")) +endif +endif +endif + +#$(warning "final file"$(config_file)) + # include/config.h # Prior to Kconfig, it was generated by mkconfig. Now it is created here. define filechk_config_h @@ -75,7 +95,7 @@ define filechk_config_h done; \ echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\ echo \#include \<config_defaults.h\>; \ - echo \#include \<configs/$(CONFIG_SYS_CONFIG_NAME).h\>; \ + echo \#include \<$(config_file)\>; \ echo \#include \<asm/config.h\>; \ echo \#include \<config_fallbacks.h\>; \ echo \#include \<config_uncmd_spl.h\>; \ diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped index de5e84ed3f..03ae7ff632 100644 --- a/scripts/kconfig/zconf.tab.c_shipped +++ b/scripts/kconfig/zconf.tab.c_shipped @@ -1923,7 +1923,20 @@ yyreduce: { printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); - zconf_nextfile((yyvsp[(2) - (3)].string)); + printd(DEBUG_PARSE, "strcmp : %d\n", strncmp("customer", (yyvsp[(2) - (3)].string), 8)); + if (0 == strncmp("customer", (yyvsp[(2) - (3)].string), 8)) { + FILE *file; + file = zconf_fopen((yyvsp[(2) - (3)].string)); + if (file) { + zconf_nextfile((yyvsp[(2) - (3)].string)); + } + else { + printd(DEBUG_PARSE, "Customer folder doesn't exist!\n"); + } + } + else{ + zconf_nextfile((yyvsp[(2) - (3)].string)); + } } break; diff --git a/scripts/multiconfig.sh b/scripts/multiconfig.sh index 70f3a5df6f..f0ed84d899 100755 --- a/scripts/multiconfig.sh +++ b/scripts/multiconfig.sh @@ -118,6 +118,15 @@ do_board_defconfig () { defconfig_path=$srctree/configs/$1 tmp_defconfig_path=configs/.tmp_defconfig + # amlogic configs folder support + if [ ! -r $defconfig_path ]; then + defconfig_path=$srctree/board/amlogic/defconfigs/$1 + fi + # amlogic customer configs support + if [ ! -r $defconfig_path ]; then + defconfig_path=$srctree/customer/board/defconfigs/$1 + fi + if [ ! -r $defconfig_path ]; then echo >&2 "***" echo >&2 "*** Can't find default configuration \"configs/$1\"!" |