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

Marek Vasut marex at denx.de
Wed Sep 23 21:17:49 CEST 2015


On Wednesday, September 23, 2015 at 05:07:28 PM, Dinh Nguyen wrote:
> On Tue, Sep 22, 2015 at 8:57 PM, Marek Vasut <marex at denx.de> wrote:
> > On Wednesday, September 23, 2015 at 12:01:34 AM,
> > dinguyen at opensource.altera.com
> > 
> > wrote:
> >> 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>
> >> ---
> >> 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         | 2 ++
> >>  include/configs/socfpga_cyclone5_socdk.h | 4 ++++
> >>  include/configs/socfpga_de0_nano_soc.h   | 4 ++++
> >>  4 files changed, 14 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..249d70f 100644
> >> --- a/include/configs/socfpga_common.h
> >> +++ b/include/configs/socfpga_common.h
> >> @@ -281,7 +281,9 @@ 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
> >> 
> >>  #define CONFIG_ENV_IS_NOWHERE
> >> 
> >> +#endif
> >> 
> >>  #define CONFIG_ENV_SIZE                      4096
> > 
> > This would explode for boards which store env in for example QSPI,
> > 
> > You should just define ENV_IS_NOWHERE for all the other boards.
> 
> I can add the saveenv support for SD/MMC for the sockit as well. What does
> the mcvevk support?

The SoCkit supports SD/MMC and QSPI, that's the problem.
The MCVEVK supports SD/MMC only (well, eMMC to be precise).

I am positive there will be some board which does QSPI env (like the sockit
can do) and then the above won't work. That's why the env config should be
configured for each board separately.

Best regards,
Marek Vasut


More information about the U-Boot mailing list