
Hi, Andreas
On 8/19/2015 3:40 PM, Andreas Bießmann wrote:
Hi Josh,
On 07/07/2015 01:08 PM, Josh Wu wrote:
As almost all sama5 sd/mmc env configurations are same, so move them to at91-sama5_common.h.
Also we define a KERNEL_DTB_FILE_NAME as dtb file name for different board.
I don't like this new variable. At least we need some documentation in README or even better Kconfig for it! But I think we do not need it, let's see ...
Signed-off-by: Josh Wu josh.wu@atmel.com
Hi,
Those patches depends on the patch: http://patchwork.ozlabs.org/patch/485339/
Best Regards, Josh Wu
include/configs/at91-sama5_common.h | 17 +++++++++++++++++ include/configs/sama5d3_xplained.h | 12 +++--------- include/configs/sama5d3xek.h | 10 +--------- include/configs/sama5d4_xplained.h | 20 +++----------------- include/configs/sama5d4ek.h | 18 +++--------------- 5 files changed, 27 insertions(+), 50 deletions(-)
diff --git a/include/configs/at91-sama5_common.h b/include/configs/at91-sama5_common.h index 9289964..99fa0b1 100644 --- a/include/configs/at91-sama5_common.h +++ b/include/configs/at91-sama5_common.h @@ -56,6 +56,23 @@ #define CONFIG_CMD_DHCP
#ifdef CONFIG_SYS_USE_MMC +/* u-boot env in sd/mmc card */ +#define CONFIG_ENV_IS_IN_FAT +#define CONFIG_FAT_WRITE +#define FAT_ENV_INTERFACE "mmc" +#define FAT_ENV_DEVICE_AND_PART "0" +#define FAT_ENV_FILE "uboot.env" +#define CONFIG_ENV_SIZE 0x4000
+#ifdef KERNEL_DTB_FILE_NAME +#define CONFIG_BOOT_DTB_COMMAND "fatload mmc 0:1 0x21000000 " KERNEL_DTB_FILE_NAME "; " +#else +#define CONFIG_BOOT_DTB_COMMAND "fatload mmc 0:1 0x21000000 ${ek_name}.dtb; " +#endif
+#define CONFIG_BOOTCOMMAND CONFIG_BOOT_DTB_COMMAND \
"fatload mmc 0:1 0x22000000 zImage; " \
#define CONFIG_BOOTARGS \ "console=ttyS0,115200 earlyprintk " \ "root=/dev/mmcblk0p2 rw rootwait""bootz 0x22000000 - 0x21000000"
diff --git a/include/configs/sama5d3_xplained.h b/include/configs/sama5d3_xplained.h index c4141a0..e5de24b 100644 --- a/include/configs/sama5d3_xplained.h +++ b/include/configs/sama5d3_xplained.h @@ -13,6 +13,8 @@ /* No NOR flash, this definition should put before common header */ #define CONFIG_SYS_NO_FLASH
+#define KERNEL_DTB_FILE_NAME "at91-sama5d3_xplained.dtb"
This is "at91-" + $CONFIG_SYS_BOARD + ".dtb"
#include "at91-sama5_common.h"
/* serial console */
@@ -124,15 +126,7 @@ "nand read 0x22000000 0x200000 0x600000;" \ "bootz 0x22000000 - 0x21000000" #elif CONFIG_SYS_USE_MMC -/* bootstrap + u-boot + env in sd card */ -#define CONFIG_ENV_IS_IN_FAT -#define FAT_ENV_INTERFACE "mmc" -#define FAT_ENV_FILE "uboot.env" -#define FAT_ENV_DEVICE_AND_PART "0" -#define CONFIG_ENV_SIZE 0x4000 -#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 at91-sama5d3_xplained.dtb; " \
"fatload mmc 0:1 0x22000000 zImage; " \
"bootz 0x22000000 - 0x21000000"
+/* override the bootcmd, bootargs and other configuration for sd/mmc env */ #else #define CONFIG_ENV_IS_NOWHERE #endif diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h index 344ae9c..71441a4 100644 --- a/include/configs/sama5d3xek.h +++ b/include/configs/sama5d3xek.h @@ -176,15 +176,7 @@ "nand read 0x22000000 0x200000 0x600000;" \ "bootm 0x22000000 - 0x21000000" #elif CONFIG_SYS_USE_MMC -/* bootstrap + u-boot + env in sd card */ -#define CONFIG_ENV_IS_IN_FAT -#define FAT_ENV_INTERFACE "mmc" -#define FAT_ENV_FILE "uboot.env" -#define FAT_ENV_DEVICE_AND_PART "0" -#define CONFIG_ENV_SIZE 0x4000 -#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 ${ek_name}.dtb; " \
"fatload mmc 0:1 0x22000000 zImage; " \
"bootm 0x22000000 - 0x21000000"
+/* override the bootcmd, bootargs and other configuration for sd/mmc env */ #else #define CONFIG_ENV_IS_NOWHERE #endif diff --git a/include/configs/sama5d4_xplained.h b/include/configs/sama5d4_xplained.h index 5fb621e..a7d9e78 100644 --- a/include/configs/sama5d4_xplained.h +++ b/include/configs/sama5d4_xplained.h @@ -13,6 +13,8 @@ /* No NOR flash, this definition should put before common header */ #define CONFIG_SYS_NO_FLASH
+#define KERNEL_DTB_FILE_NAME "at91-sama5d4_xplained.dtb"
This is also "at91-" + $CONFIG_SYS_BOARD + ".dtb"
#include "at91-sama5_common.h"
/* serial console */
@@ -139,25 +141,9 @@ "nand read 0x22000000 0x200000 0x600000;" \ "bootz 0x22000000 - 0x21000000" #elif CONFIG_SYS_USE_MMC -/* bootstrap + u-boot + env in sd card */ -#define CONFIG_ENV_IS_IN_FAT -#define CONFIG_FAT_WRITE -#define FAT_ENV_INTERFACE "mmc" -/*
- We don't specify the part number, if device 0 has partition table, it means
- the first partition; it no partition table, then take whole device as a
- FAT file system.
- */
-#define FAT_ENV_DEVICE_AND_PART "0" -#define FAT_ENV_FILE "uboot.env" -#define CONFIG_ENV_SIZE 0x4000 -#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 at91-sama5d4_xplained.dtb; " \
"fatload mmc 0:1 0x22000000 zImage; " \
"bootz 0x22000000 - 0x21000000"
+/* override the bootcmd, bootargs and other configuration for sd/mmc env */ #endif
- /* SPL */ #define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x200000
diff --git a/include/configs/sama5d4ek.h b/include/configs/sama5d4ek.h index 546d7a3..8ecb6d3 100644 --- a/include/configs/sama5d4ek.h +++ b/include/configs/sama5d4ek.h @@ -13,6 +13,8 @@ /* No NOR flash, this definition should put before common header */ #define CONFIG_SYS_NO_FLASH
+#define KERNEL_DTB_FILE_NAME "sama5d4ek.dtb"
Damn ... this lacks the presiding 'at91-'
So a solution could be to rename some board's with presiding 'at91-' and just use the $board_name everywhere. Some board's may adopt the $board_name at runtime. What do you think about?
I think use $board_name is a good idea. We can use $board_name to combine the dtb name. And also we can use the CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG to override the $board_name if $board_name is not what we need exactly.
I will re-spin the v2 version patches soon. Thanks for the review.
Best Regards, Josh Wu
Andreas
#include "at91-sama5_common.h"
/* serial console */
@@ -137,21 +139,7 @@ "nand read 0x22000000 0x200000 0x600000;" \ "bootz 0x22000000 - 0x21000000" #elif CONFIG_SYS_USE_MMC -/* bootstrap + u-boot + env in sd card */ -#define CONFIG_ENV_IS_IN_FAT -#define CONFIG_FAT_WRITE -#define FAT_ENV_INTERFACE "mmc" -/*
- We don't specify the part number, if device 0 has partition table, it means
- the first partition; it no partition table, then take whole device as a
- FAT file system.
- */
-#define FAT_ENV_DEVICE_AND_PART "0" -#define FAT_ENV_FILE "uboot.env" -#define CONFIG_ENV_SIZE 0x4000 -#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 sama5d4ek.dtb; " \
"fatload mmc 0:1 0x22000000 zImage; " \
"bootz 0x22000000 - 0x21000000"
+/* override the bootcmd, bootargs and other configuration for sd/mmc env */ #endif
/* SPL */