diff mbox

[U-Boot,1/3] ARM: at91: sama5: move the sd/mmc env config to at91-sama5_common.h

Message ID 1436267300-2293-1-git-send-email-josh.wu@atmel.com
State Changes Requested, archived
Delegated to: Andreas Bießmann
Headers show

Commit Message

Josh Wu July 7, 2015, 11:08 a.m. UTC
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.

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(-)

Comments

Josh Wu Aug. 19, 2015, 2:21 a.m. UTC | #1
Hi, Andreas

Any feedback for this patch serials.

Best Regards,
Josh Wu

On 7/7/2015 7: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.
>
> 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; "	\
> +				"bootz 0x22000000 - 0x21000000"
>   #define CONFIG_BOOTARGS							\
>   	"console=ttyS0,115200 earlyprintk "				\
>   	"root=/dev/mmcblk0p2 rw rootwait"
> 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"
> +
>   #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"
> +
>   #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"
> +
>   #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 */
Andreas Bießmann Aug. 19, 2015, 7:40 a.m. UTC | #2
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; "	\
> +				"bootz 0x22000000 - 0x21000000"
>  #define CONFIG_BOOTARGS							\
>  	"console=ttyS0,115200 earlyprintk "				\
>  	"root=/dev/mmcblk0p2 rw rootwait"
> 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?

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 */
>
Josh Wu Aug. 19, 2015, 8:10 a.m. UTC | #3
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; "	\
>> +				"bootz 0x22000000 - 0x21000000"
>>   #define CONFIG_BOOTARGS							\
>>   	"console=ttyS0,115200 earlyprintk "				\
>>   	"root=/dev/mmcblk0p2 rw rootwait"
>> 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 */
>>
diff mbox

Patch

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; "	\
+				"bootz 0x22000000 - 0x21000000"
 #define CONFIG_BOOTARGS							\
 	"console=ttyS0,115200 earlyprintk "				\
 	"root=/dev/mmcblk0p2 rw rootwait"
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"
+
 #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"
+
 #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"
+
 #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 */