summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaobo Gu <xiaobo.gu@amlogic.com>2015-12-18 14:21:25 +0800
committerXiaobo Gu <xiaobo.gu@amlogic.com>2015-12-18 17:38:27 +0800
commita270928821d8161be0fcb71c52666b60db12b901 (patch)
treeb88f42af7b32d5681562a17db95de2badc91793f
parent72ca77a0d988fa9930580a449311a2ff9d283e07 (diff)
downloadu-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--.gitignore3
-rw-r--r--Makefile11
-rwxr-xr-xamlogic_help.sh18
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/cpu/armv8/gxb/firmware/acs/Makefile6
-rw-r--r--arch/arm/cpu/armv8/gxb/firmware/bl21/Makefile6
-rw-r--r--arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile3
-rw-r--r--arch/arm/cpu/armv8/gxtvbb/firmware/acs/Makefile6
-rw-r--r--arch/arm/cpu/armv8/gxtvbb/firmware/bl21/Makefile6
-rw-r--r--arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/Makefile3
-rw-r--r--board/amlogic/Kconfig4
-rw-r--r--config.mk10
-rwxr-xr-xscripts/Makefile.autoconf22
-rw-r--r--scripts/kconfig/zconf.tab.c_shipped15
-rwxr-xr-xscripts/multiconfig.sh9
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
diff --git a/Makefile b/Makefile
index ac9ccae5cf..33e6c54354 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/config.mk b/config.mk
index 9ab5ec695e..d13f4338e8 100644
--- a/config.mk
+++ b/config.mk
@@ -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\"!"