[PATCH 2/7] board: MCR3000: Modernise the settings to properly work on lastest u-boot version

Tom Rini trini at konsulko.com
Mon Jan 30 18:23:18 CET 2023


On Mon, Jan 30, 2023 at 03:34:01PM +0100, Christophe Leroy wrote:

> Both U-boot and Linux kernel have grown over the last releases
> and don't fit anymore in the 2M EPROM of the board.
> 
> So, rework the setup to allow storing the Linux kernel image
> on the UBIFS NAND Flash.
> 
> Also add support to FIT images as this is what the Linux kernel
> look like nowadays.
> 
> Also increase CONFIG_SYS_BOOTMAPSZ to 32Mbytes and define
> CONFIG_SYS_BOOTM_LEN with the same value, otherwise it defaults
> to 8M which is not sufficient anymore with nowadays Linux kernels.
> 
> Signed-off-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> Reviewed-by: FRANJOU Stephane <stephane.franjou at csgroup.eu>
> ---
>  configs/MCR3000_defconfig |  8 ++++++--
>  include/configs/MCR3000.h | 42 ++++++++++++++++++---------------------
>  2 files changed, 25 insertions(+), 25 deletions(-)
> 
> diff --git a/configs/MCR3000_defconfig b/configs/MCR3000_defconfig
> index 6c41d7c88d1..2e9d8c24329 100644
> --- a/configs/MCR3000_defconfig
> +++ b/configs/MCR3000_defconfig
> @@ -20,6 +20,7 @@ CONFIG_SYS_SCCR=0x00C20000
>  CONFIG_SYS_SCCR_MASK=0x60000000
>  CONFIG_SYS_DER=0x2002000F
>  CONFIG_SYS_MONITOR_LEN=327680
> +CONFIG_FIT=y
>  CONFIG_OF_BOARD_SETUP=y
>  CONFIG_SYS_MONITOR_BASE=0x04000000
>  CONFIG_BOOTDELAY=5
> @@ -35,11 +36,12 @@ CONFIG_HUSH_PARSER=y
>  CONFIG_SYS_PBSIZE=278
>  # CONFIG_CMD_BDI is not set
>  # CONFIG_CMD_CONSOLE is not set
> -CONFIG_SYS_BOOTM_LEN=0x800000
> +CONFIG_SYS_BOOTM_LEN=0x2000000
>  # CONFIG_CMD_IMI is not set
>  CONFIG_CMD_ASKENV=y
>  # CONFIG_CMD_LOADB is not set
>  # CONFIG_CMD_LOADS is not set
> +CONFIG_CMD_MTD=y
>  CONFIG_CMD_NAND=y
>  # CONFIG_CMD_ECHO is not set
>  # CONFIG_CMD_ITEST is not set
> @@ -50,6 +52,8 @@ CONFIG_CMD_MII=y
>  CONFIG_MII_INIT=y
>  CONFIG_CMD_PING=y
>  # CONFIG_CMD_SLEEP is not set
> +CONFIG_CMD_MTDPARTS=y
> +CONFIG_CMD_UBI=y
>  CONFIG_OF_CONTROL=y
>  CONFIG_ENV_OVERWRITE=y
>  CONFIG_ENV_IS_IN_FLASH=y
> @@ -80,6 +84,7 @@ CONFIG_SYS_BR7_PRELIM=0x1C000001
>  CONFIG_SYS_OR7_PRELIM=0xFFFF810A
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> +CONFIG_DM_MTD=y
>  CONFIG_MTD_NOR_FLASH=y
>  CONFIG_FLASH_CFI_DRIVER=y
>  CONFIG_SYS_FLASH_CFI=y
> @@ -89,5 +94,4 @@ CONFIG_MPC8XX_FEC=y
>  # CONFIG_PCI is not set
>  CONFIG_DM_SERIAL=y
>  CONFIG_WDT=y
> -CONFIG_SHA256=y
>  CONFIG_LZMA=y
> diff --git a/include/configs/MCR3000.h b/include/configs/MCR3000.h
> index b0809332bb5..62c3404415c 100644
> --- a/include/configs/MCR3000.h
> +++ b/include/configs/MCR3000.h
> @@ -12,45 +12,40 @@
>  #define CONFIG_EXTRA_ENV_SETTINGS					\
>  	"sdram_type=SDRAM\0"						\
>  	"flash_type=AM29LV160DB\0"					\
> -	"loadaddr=0x400000\0"						\
> -	"filename=uImage.lzma\0"					\
> -	"nfsroot=/opt/ofs\0"						\
> +	"loadaddr=0x1200000\0"						\
> +	"filename=mcr3000.itb\0"					\
>  	"dhcp_ip=ip=:::::eth0:dhcp\0"					\
>  	"console_args=console=ttyCPM0,115200N8\0"			\
> +	"loadkernel=ubi part nand0;ubifsmount ubi0;"			\
> +		"ubifsload ${loadaddr} /boot/${filename};"		\
> +		"ubifsumount; ubi detach\0"				\
> +	"bootcmd=run flashboot\0" 					\
>  	"flashboot=setenv bootargs "					\
>  		"${console_args} "					\
>  		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:"	\
>  		"mcr3k:eth0:off;"					\
>  		"${ofl_args}; "						\
> -		"bootm 0x04060000 - 0x04050000\0"			\
> +		"run loadkernel; "					\
> +		"bootm ${loadaddr}\0"                                   \
>  	"tftpboot=setenv bootargs "					\
>  		"${console_args} "					\
>  		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:"	\
>  		"mcr3k:eth0:off "					\
>  		"${ofl_args}; "						\
>  		"tftp ${loadaddr} ${filename};"				\
> -		"tftp 0xf00000 mcr3000.dtb;"				\
> -		"bootm ${loadaddr} - 0xf00000\0"			\
> -	"netboot=dhcp ${loadaddr} ${filename};"				\
> -		"tftp 0xf00000 mcr3000.dtb;"				\
> -		"setenv bootargs "					\
> -		"root=/dev/nfs rw "					\
> -		"${console_args} "					\
> -		"${dhcp_ip};"						\
> -		"bootm ${loadaddr} - 0xf00000\0"			\
> -	"nfsboot=setenv bootargs "					\
> -		"root=/dev/nfs rw nfsroot=${serverip}:${nfsroot} "	\
> -		"${console_args} "					\
> -		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:"	\
> -		"mcr3k:eth0:off;"					\
> -		"bootm 0x04060000 - 0x04050000\0"			\
> +		"bootm ${loadaddr}\0"                                   \
>  	"dhcpboot=dhcp ${loadaddr} ${filename};"			\
> -		"tftp 0xf00000 mcr3000.dtb;"				\
>  		"setenv bootargs "					\
>  		"${console_args} "					\
>  		"${dhcp_ip} "						\
>  		"${ofl_args}; "						\
> -		"bootm ${loadaddr} - 0xf00000\0"
> +		"bootm ${loadaddr}\0"					\
> +	"update=echo 'Updating ubi image'; "				\
> +		"if tftp 0x2000 $ubifile; then "			\
> +		"nand erase.chip; "					\
> +		"nand write 0x2000 0x00 $filesize; "			\
> +		"fi;\0 "
> +

I would like to see this move instead to using the plain text
environment as can be see in commits such as 5c3f6a320678
("dragonboard410c: Migrate to using CONFIG_EXTRA_ENV_TEXT").

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230130/587d2cb8/attachment.sig>


More information about the U-Boot mailing list