[U-Boot] [PATCH 05/11] arm/pxa: fix environment location/length for vpac270 and related bugs.

Marek Vasut marek.vasut at gmail.com
Thu Aug 26 13:41:38 CEST 2010


Dne Čt 26. srpna 2010 12:48:00 Mikhail Kshevetskiy napsal(a):
> Define MONITOR_BASE on the base of used flash type. Define ENV_ADDR as
> MONITOR_BASE + MONITOR_LEN. Fix environment sector size (NOR: 32Kb for
> first four sectors and 128Kb for other; OneNAND: 128Kb).
> 
> Last but not least: we have MONITOR_LEN = 0x40000, one sector for
> environment and one sector for its redundancy copy (2 * 0x20000 = 256Kb).
> So the kernel may start from 0x00080000 only.
> 
> Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy at gmail.com>
> ---
>  include/configs/vpac270.h |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
> index 4c162bd..d3e805a 100644
> --- a/include/configs/vpac270.h
> +++ b/include/configs/vpac270.h
> @@ -49,7 +49,7 @@
>  	"if usb reset && fatload usb 0 0xa4000000 uImage; then "	\
>  		"bootm 0xa4000000; "					\
>  	"fi; "								\
> -	"bootm 0x40000;"
> +	"bootm 0x00080000;"

Good catch, but let's make it 0x60000 as spare env isn't used.

>  #define	CONFIG_BOOTARGS			"console=tty0 
console=ttyS0,115200"
>  #define	CONFIG_TIMESTAMP
>  #define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
> @@ -188,6 +188,7 @@
>  #if	defined(CONFIG_CMD_FLASH)	/* NOR */
>  #define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 
*/
>  #define	PHYS_FLASH_2			0x02000000	/* Flash Bank #2 
*/
> +#define	CONFIG_SYS_MONITOR_BASE		PHYS_FLASH_1

This is always 0 ... that's why it's defined in common place.
> 
>  #define	CONFIG_SYS_FLASH_CFI
>  #define	CONFIG_FLASH_CFI_DRIVER		1
> @@ -207,18 +208,19 @@
>  #elif	defined(CONFIG_CMD_ONENAND)	/* OneNAND */
>  #define	CONFIG_SYS_NO_FLASH
>  #define	CONFIG_SYS_ONENAND_BASE		0x00000000
> +#define	CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_ONENAND_BASE
>  #define	CONFIG_ENV_IS_IN_ONENAND	1
> 
>  #else	/* No flash */
>  #define	CONFIG_SYS_NO_FLASH
>  #define	CONFIG_SYS_ENV_IS_NOWHERE
> +#define	CONFIG_SYS_MONITOR_BASE		0x000000
>  #endif
> 
> -#define	CONFIG_SYS_MONITOR_BASE		0x000000
>  #define	CONFIG_SYS_MONITOR_LEN		0x40000
> 
> -#define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_LEN)
> -#define CONFIG_ENV_SECT_SIZE	0x40000
> +#define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE +
> CONFIG_SYS_MONITOR_LEN) +#define CONFIG_ENV_SECT_SIZE	0x20000
>  #define CONFIG_ENV_ADDR_REDUND	(CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE)
>  #define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE)

Please rebase the patch on top of for-wd-master.


More information about the U-Boot mailing list