[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