[U-Boot] [PATCHv3] arm: socfpga: Enable saveenv for SD/MMC

Pavel Machek pavel at denx.de
Thu Sep 24 19:47:46 CEST 2015


Hi!

> From: Dinh Nguyen <dinguyen at opensource.altera.com>
> 
> Enable the able to save the environment variables when SD/MMC is used.
> 
> Signed-off-by: Dinh Nguyen <dinguyen at opensource.altera.com>
> ---
> v3: Only define ENV_IS_NOWHERE if env is not in MMC, NAND, FAT, and SPI_FLASH
> v2: Move this option to be on a per-board basis
>     Add config for socfpga_cyclone5 and socfpga_arria5
> ---
>  include/configs/socfpga_arria5_socdk.h   | 4 ++++
>  include/configs/socfpga_common.h         | 5 +++++
>  include/configs/socfpga_cyclone5_socdk.h | 4 ++++
>  include/configs/socfpga_de0_nano_soc.h   | 4 ++++
>  include/configs/socfpga_sockit.h         | 4 ++++
>  5 files changed, 21 insertions(+)
> 
> diff --git a/include/configs/socfpga_arria5_socdk.h b/include/configs/socfpga_arria5_socdk.h
> index 3193684..b75b0a2 100644
> --- a/include/configs/socfpga_arria5_socdk.h
> +++ b/include/configs/socfpga_arria5_socdk.h
> @@ -59,6 +59,10 @@
>  
>  #endif
>  
> +#define CONFIG_ENV_IS_IN_MMC
> +#define CONFIG_SYS_MMC_ENV_DEV		0	/* device 0 */
> +#define CONFIG_ENV_OFFSET		512	/* just after the MBR */
> +
>  /* USB */
>  #ifdef CONFIG_CMD_USB
>  #define CONFIG_USB_DWC2_REG_ADDR	SOCFPGA_USB1_ADDRESS
> diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
> index a2811ba..b3fba5b 100644
> --- a/include/configs/socfpga_common.h
> +++ b/include/configs/socfpga_common.h
> @@ -281,7 +281,12 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>  #define CONFIG_SYS_CONSOLE_IS_IN_ENV
>  #define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
>  #define CONFIG_SYS_CONSOLE_ENV_OVERWRITE
> +#if !defined CONFIG_ENV_IS_IN_MMC && \
> +    !defined CONFIG_ENV_IS_IN_NAND && \
> +    !defined CONFIG_ENV_IS_IN_FAT && \
> +    !defined CONFIG_ENV_IS_IN_SPI_FLASH
>  #define CONFIG_ENV_IS_NOWHERE
> +#endif
>  #define CONFIG_ENV_SIZE			4096
>


Actually... if we decided that position of u-boot environment is
board-specific, size should be board-specific, too.

But it might be better to just define

#define ENV_IN_MMC_SECTOR_1

in each board, and have the common code in socfpga_common.h... so that
we can change environment size for all boards using "after mmc"
layout, for example.

Ouch and 4K is way too small.
								Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


More information about the U-Boot mailing list