[1/2] keystone2: config: restructure handling of default env settings

Message ID 1415112755-3099-2-git-send-email-ivan.khoronzhuk@ti.com
State Accepted
Commit 349c26dd06c95f07973440199b1d885db23452cb
Headers show

Commit Message

Ivan Khoronzhuk Nov. 4, 2014, 2:52 p.m.
From: Murali Karicheri <m-karicheri2@ti.com>

Currently to customize env for various ks2 boards, individual
variables such as NAME_FS etc are defined and included in the
common config.h to define CONFIG_EXTRA_ENV_SETTINGS. This
doesn't scale well if a variable is not applicable on a
specific board. Using this scheme, we have to define variables
with empty value and it's ugly. Instead, to allow board specific
customization of default env variable, define a common
CONFIG_EXTRA_ENV_KS2_SETTINGS for all common variables and define
board specific variables in individual board specific config.h
using CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS. Use the common and board
specific variables to define CONFIG_EXTRA_ENV_SETTINGS. This way
more variables can be added in future for individual boards
without affecting the other config.h files.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
---
 include/configs/k2e_evm.h  | 16 ++++++++--------
 include/configs/k2hk_evm.h | 16 ++++++++--------
 include/configs/k2l_evm.h  | 16 ++++++++--------
 include/configs/ks2_evm.h  |  7 +------
 4 files changed, 25 insertions(+), 30 deletions(-)

Comments

Tom Rini Nov. 4, 2014, 4:46 p.m. | #1
On Tue, Nov 04, 2014 at 04:52:34PM +0200, Ivan Khoronzhuk wrote:

> From: Murali Karicheri <m-karicheri2@ti.com>
> 
> Currently to customize env for various ks2 boards, individual
> variables such as NAME_FS etc are defined and included in the
> common config.h to define CONFIG_EXTRA_ENV_SETTINGS. This
> doesn't scale well if a variable is not applicable on a
> specific board. Using this scheme, we have to define variables
> with empty value and it's ugly. Instead, to allow board specific
> customization of default env variable, define a common
> CONFIG_EXTRA_ENV_KS2_SETTINGS for all common variables and define
> board specific variables in individual board specific config.h
> using CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS. Use the common and board
> specific variables to define CONFIG_EXTRA_ENV_SETTINGS. This way
> more variables can be added in future for individual boards
> without affecting the other config.h files.
> 
> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>

Reviewed-by: Tom Rini <trini@ti.com>
Tom Rini Nov. 5, 2014, 9:32 p.m. | #2
On Tue, Nov 04, 2014 at 04:52:34PM +0200, Khoronzhuk, Ivan wrote:

> From: Murali Karicheri <m-karicheri2@ti.com>
> 
> Currently to customize env for various ks2 boards, individual
> variables such as NAME_FS etc are defined and included in the
> common config.h to define CONFIG_EXTRA_ENV_SETTINGS. This
> doesn't scale well if a variable is not applicable on a
> specific board. Using this scheme, we have to define variables
> with empty value and it's ugly. Instead, to allow board specific
> customization of default env variable, define a common
> CONFIG_EXTRA_ENV_KS2_SETTINGS for all common variables and define
> board specific variables in individual board specific config.h
> using CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS. Use the common and board
> specific variables to define CONFIG_EXTRA_ENV_SETTINGS. This way
> more variables can be added in future for individual boards
> without affecting the other config.h files.
> 
> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
> Reviewed-by: Tom Rini <trini@ti.com>

Applied to u-boot-ti/master, thanks!

Patch

diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
index 8c3a0c0..6b87f6c 100644
--- a/include/configs/k2e_evm.h
+++ b/include/configs/k2e_evm.h
@@ -17,14 +17,14 @@ 
 /* U-Boot general configuration */
 #define CONFIG_SYS_PROMPT               "K2E EVM # "
 
-#define KS2_ARGS_UBI   "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "\
-		       "root=ubi0:rootfs rootflags=sync rw ubi.mtd=2,2048\0"
-
-#define KS2_FDT_NAME   "name_fdt=k2e-evm.dtb\0"
-#define KS2_ADDR_MON   "addr_mon=0x0c140000\0"
-#define KS2_NAME_MON   "name_mon=skern-k2e-evm.bin\0"
-#define NAME_UBOOT     "name_uboot=u-boot-spi-k2e-evm.gph\0"
-#define NAME_UBI       "name_ubi=k2e-evm-ubifs.ubi\0"
+#define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
+	"addr_mon=0x0c140000\0"						\
+	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
+	"root=ubi0:rootfs rootflags=sync rw ubi.mtd=2,2048\0"		\
+	"name_fdt=k2e-evm.dtb\0"					\
+	"name_mon=skern-k2e-evm.bin\0"					\
+	"name_ubi=k2e-evm-ubifs.ubi\0"					\
+	"name_uboot=u-boot-spi-k2e-evm.gph\0"
 
 #include <configs/ks2_evm.h>
 
diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h
index ebf4630..33e43eb 100644
--- a/include/configs/k2hk_evm.h
+++ b/include/configs/k2hk_evm.h
@@ -17,14 +17,14 @@ 
 /* U-Boot general configuration */
 #define CONFIG_SYS_PROMPT               "K2HK EVM # "
 
-#define KS2_ARGS_UBI   "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "\
-		       "root=ubi0:rootfs rootflags=sync rw ubi.mtd=2,2048\0"
-
-#define KS2_FDT_NAME   "name_fdt=k2hk-evm.dtb\0"
-#define KS2_ADDR_MON   "addr_mon=0x0c5f0000\0"
-#define KS2_NAME_MON   "name_mon=skern-k2hk-evm.bin\0"
-#define NAME_UBOOT     "name_uboot=u-boot-spi-k2hk-evm.gph\0"
-#define NAME_UBI       "name_ubi=k2hk-evm-ubifs.ubi\0"
+#define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
+	"addr_mon=0x0c5f0000\0"						\
+	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
+	"root=ubi0:rootfs rootflags=sync rw ubi.mtd=2,2048\0"		\
+	"name_fdt=k2hk-evm.dtb\0"					\
+	"name_mon=skern-k2hk-evm.bin\0"					\
+	"name_ubi=k2hk-evm-ubifs.ubi\0"					\
+	"name_uboot=u-boot-spi-k2hk-evm.gph\0"
 
 #include <configs/ks2_evm.h>
 
diff --git a/include/configs/k2l_evm.h b/include/configs/k2l_evm.h
index ec0d543..07326fc 100644
--- a/include/configs/k2l_evm.h
+++ b/include/configs/k2l_evm.h
@@ -17,14 +17,14 @@ 
 /* U-Boot general configuration */
 #define CONFIG_SYS_PROMPT		"K2L EVM # "
 
-#define KS2_ARGS_UBI   "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "\
-		       "root=ubi0:rootfs rootflags=sync rw ubi.mtd=2,4096\0"
-
-#define KS2_FDT_NAME	"name_fdt=k2l-evm.dtb\0"
-#define KS2_ADDR_MON	"addr_mon=0x0c140000\0"
-#define KS2_NAME_MON	"name_mon=skern-k2l-evm.bin\0"
-#define NAME_UBOOT	"name_uboot=u-boot-spi-k2l-evm.gph\0"
-#define NAME_UBI	"name_ubi=k2l-evm-ubifs.ubi\0"
+#define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
+	"addr_mon=0x0c140000\0"						\
+	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
+	"root=ubi0:rootfs rootflags=sync rw ubi.mtd=2,4096\0"		\
+	"name_fdt=k2l-evm.dtb\0"					\
+	"name_mon=skern-k2l-evm.bin\0"					\
+	"name_ubi=k2l-evm-ubifs.ubi\0"					\
+	"name_uboot=u-boot-spi-k2l-evm.gph\0"
 
 #include <configs/ks2_evm.h>
 
diff --git a/include/configs/ks2_evm.h b/include/configs/ks2_evm.h
index f7585ba..19273d9 100644
--- a/include/configs/ks2_evm.h
+++ b/include/configs/ks2_evm.h
@@ -247,6 +247,7 @@ 
 #define CONFIG_BOOTDELAY		3
 #define CONFIG_BOOTFILE			"uImage"
 #define CONFIG_EXTRA_ENV_SETTINGS					\
+	CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
 	"boot=ubi\0"							\
 	"tftp_root=/\0"							\
 	"nfs_root=/export\0"						\
@@ -254,18 +255,13 @@ 
 	"mem_reserve=512M\0"						\
 	"addr_fdt=0x87000000\0"						\
 	"addr_kern=0x88000000\0"					\
-	KS2_ADDR_MON							\
 	"addr_uboot=0x87000000\0"					\
 	"addr_fs=0x82000000\0"						\
 	"addr_ubi=0x82000000\0"						\
 	"addr_secdb_key=0xc000000\0"					\
 	"fdt_high=0xffffffff\0"						\
-	KS2_FDT_NAME							\
 	"name_fs=arago-console-image.cpio.gz\0"				\
 	"name_kern=uImage\0"						\
-	KS2_NAME_MON							\
-	NAME_UBOOT							\
-	NAME_UBI							\
 	"run_mon=mon_install ${addr_mon}\0"				\
 	"run_kern=bootm ${addr_kern} - ${addr_fdt}\0"			\
 	"init_net=run args_all args_net\0"				\
@@ -284,7 +280,6 @@ 
 	"burn_uboot_nand=nand erase 0 0x100000; "			\
 		"nand write ${addr_uboot} 0 ${filesize}\0"		\
 	"args_all=setenv bootargs console=ttyS0,115200n8 rootwait=1\0"	\
-	KS2_ARGS_UBI							\
 	"args_net=setenv bootargs ${bootargs} rootfstype=nfs "		\
 		"root=/dev/nfs rw nfsroot=${serverip}:${nfs_root},"	\
 		"${nfs_options} ip=dhcp\0"				\