30 Jan, 2020

2 commits

  • Most of the SPI flash devices in rockchip are 16MiB size.

    So, keeping U-Boot proper offset start from 128MiB with 1MiB
    size and then start env of 8KiB would be a compatible location
    between all variants of flash sizes.

    This patch add env start from 0x14000 with a size of 8KiB.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Rockchip do support SPI flash as well, so there is
    a possibility of using flash environment for those
    use cases.

    So, restrict the current env offset, size for MMC.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     

23 Jan, 2020

1 commit

  • I'm also seeing the build failure that commit

    7d4776545b env: solve compilation error in SPL

    tried to fix, namely that the reference to env_flags_validate from
    env_htab cannot be satisfied when flags.o is not built in. However,
    that commit got reverted by

    d90fc9c3de Revert "env: solve compilation error in SPL"

    Necessary, but not sufficient conditions to see this are

    CONFIG_SPL=y (obviously)
    CONFIG_SPL_ENV_SUPPORT=n (so flags.o does not get compiled)
    CONFIG_SPL_LIBCOMMON_SUPPORT=y (so env/built-in.o is part of the SPL link)

    Now, these are satisfied for e.g. imx6q_logic_defconfig. But that
    builds just fine, and spl/u-boot-spl.map lists .data.env_htab among
    the discarded (garbage collected) sections. Yet, on our
    mpc8309-derived board, we do see the build failure, so perhaps the
    linker works a bit differently on ppc than on ARM, or there's yet some
    other configuration option needed to observe the break.

    This is another attempt at solving it, which also cleans up
    env/Makefile a bit: Introduce a def_bool y symbol CONFIG_ENV_SUPPORT
    which complements CONFIG_(SPL/TPL)_SUPPORT. Then use
    CONFIG_$(SPL_TPL_)ENV_SUPPORT to decide whether to include the five
    basic env/*.o files. For attr.o, flags.o and callback.o, this
    shouldn't change anything. Also, common.o and env.o still get
    unconditionally built for U-boot proper. But for TPL/SPL, those two
    are only included if CONFIG_(SPL/TPL)_SUPPORT is set.

    Having that symbol should also allow simplifying conditionals such as

    #if !defined(CONFIG_SPL_BUILD) || CONFIG_IS_ENABLED(ENV_SUPPORT)

    found in drivers/reset/reset-socfpga.c to just
    CONFIG_IS_ENABLED(ENV_SUPPORT).

    Signed-off-by: Rasmus Villemoes

    Rasmus Villemoes
     

05 Dec, 2019

1 commit


21 Nov, 2019

3 commits

  • - In ARMv8 NXP Layerscape platforms we also need to make use of
    CONFIG_SYS_RELOC_GD_ENV_ADDR now, do so.
    - On ENV_IS_IN_REMOTE, CONFIG_ENV_OFFSET is never used, drop the define
    to 0.
    - Add Kconfig entry for ENV_ADDR.
    - Make ENV_ADDR / ENV_OFFSET depend on the env locations that use it.
    - Add ENV_xxx_REDUND options that depend on their primary option and
    SYS_REDUNDAND_ENVIRONMENT
    - On a number of PowerPC platforms, use SPL_ENV_ADDR not CONFIG_ENV_ADDR
    for the pre-main-U-Boot environment location.
    - On ENV_IS_IN_SPI_FLASH, check not for CONFIG_ENV_ADDR being set but
    rather it being non-zero, as it will now be zero by default.
    - Rework the env_offset absolute in env/embedded.o to not use
    CONFIG_ENV_OFFSET as it was the only use of ENV_OFFSET within
    ENV_IS_IN_FLASH.
    - Migrate all platforms.

    Cc: Wolfgang Denk
    Cc: Joe Hershberger
    Cc: Patrick Delaunay
    Cc: uboot-stm32@st-md-mailman.stormreply.com
    Signed-off-by: Tom Rini
    Acked-by: Joe Hershberger
    Reviewed-by: Simon Goldschmidt

    Tom Rini
     
  • We have CONFIG_ENV_SIZE_IS_REDUND but don't really use it. We have one
    board where we can simply multiple CONFIG_ENV_SIZE by two for the same
    result. The other place where we could but were not previously using
    this is for where env_internal.h checks for if we should set
    ENV_IS_EMBEDDED. This seems like the most likely use, historically, of
    the variable, but it was not used. Add logic to check for this now.

    Cc: Wolfgang Denk
    Cc: Joe Hershberger
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass
    Acked-by: Joe Hershberger

    Tom Rini
     
  • Today in initr_reloc_global_data() we use some non-obvious tests to
    determine if we need to relocate the env_addr within gd or not. In
    order to facilitate migration of other symbols to Kconfig we need to
    introduce a new symbol for this particular use case.

    Cc: Wolfgang Denk
    Cc: Joe Hershberger
    Signed-off-by: Tom Rini

    Tom Rini
     

13 Nov, 2019

1 commit


16 Oct, 2019

1 commit

  • We check (with a #if defined()) the config ENV_UBI_VOLUME_REDUND
    to know if there is a redundant env. But this config is a string
    and is always defined with env is in ubi, so we always consider
    that a redundand env is used.

    To fix this issue, I've added a hidden flag ENV_UBI_IS_VOLUME_REDUND
    that is true when ENV_UBI_VOLUME_REDUND is not "". Then, I check
    this flag in the code, instead of the string ENV_UBI_VOLUME_REDUND.

    hs: fixed typo s/condider/consider

    Signed-off-by: Philippe Reynes
    Reviewed-by: Heiko Schocher

    Philippe Reynes
     

08 Oct, 2019

1 commit


12 Jul, 2019

1 commit


09 Jul, 2019

3 commits

  • Introduce KConfig CONFIG_ENV_UBI_VID_OFFSET to allow providing custom
    VID header offsets for the environment on UBI.

    Signed-off-by: Hamish Guthrie
    Signed-off-by: Markus Klotzbuecher
    Reviewed-by: Heiko Schocher
    Cc: Kyungmin Park

    Hamish Guthrie
     
  • Enable the extended ENV options for AT91 and OMAP2PLUS in order to be
    able to use CONFIG_ENV_UBI_* on these architectures.

    As this change also makes the configs ENV_SIZE, ENV_SECT_SIZE,
    ENV_OFFSET visible to AT91 and OMAP2PLUS, migrate users of these to
    KConfig.

    This migration was run using an extended moveconfig.py which evaluates
    expressions such as "(512 << 10)". See patch ("moveconfig: expand
    simple expressions").

    All modified boards were built with SOURCE_DATE_EPOCH=0 before and
    after the change and successfully confirmed that the identical binary
    is generated (the only exception was igep00x0, which does not define
    CONFIG_ENV_IS_IN_UBI in the original board header. Once that is
    defined, the test passes too).

    hs: rebased patch to:
    68b90e57bc: "configs: tinker-rk3288 disable CONFIG_SPL_I2C_SUPPORT"

    Signed-off-by: Markus Klotzbuecher
    Cc: Heiko Schocher
    Cc: Eugen Hristev
    Cc: Tom Rini

    Markus Klotzbuecher
     
  • Introduce the KConfig option CONFIG_ENV_UBI_VOLUME_REDUND for defining
    the name of the UBI volume used to store the redundant environment.

    Signed-off-by: Markus Klotzbuecher
    Reviewed-by: Heiko Schocher
    Cc: Kyungmin Park

    hs: get rid of stm32mp1* build errors

    Markus Klotzbuecher
     

17 Jun, 2019

1 commit


13 Jun, 2019

1 commit


06 Jun, 2019

1 commit


23 May, 2019

1 commit


10 May, 2019

1 commit


26 Mar, 2019

1 commit

  • This converts the following to Kconfig:
    CONFIG_ENV_SPI_BUS
    CONFIG_ENV_SPI_CS
    CONFIG_ENV_SPI_MAX_HZ
    CONFIG_ENV_SPI_MODE

    Most of time these value are not needed, CONFIG_SF_DEFAULT
    with same value is used, so I introduced CONFIG_USE_ENV_SPI_*
    to force the associated value for the environment.

    Signed-off-by: Patrick Delaunay

    Patrick Delaunay
     

25 Jan, 2019

1 commit


16 Oct, 2018

1 commit

  • Xilinx is introducing Versal, an adaptive compute acceleration platform
    (ACAP), built on 7nm FinFET process technology. Versal ACAPs combine
    Scalar Processing Engines, Adaptable Hardware Engines, and Intelligent
    Engines with leading-edge memory and interfacing technologies to deliver
    powerful heterogeneous acceleration for any application. The Versal AI
    Core series has five devices, offering 128 to 400 AI Engines. The series
    includes dual-core Arm Cortex™-A72 application processors, dual-core Arm
    Cortex-R5 real-time processors, 256KB of on-chip memory with ECC, more
    than 1,900 DSP engines optimized for high-precision floating point with
    low latency.

    The patch is adding necessary infrastructure in place without enabling
    platform which is done in separate patch.

    Signed-off-by: Michal Simek

    Michal Simek
     

20 Aug, 2018

1 commit

  • There is no reason to have the same Kconfig options for different SoCs
    separately. The patch is merging them together.

    Signed-off-by: Michal Simek
    Acked-by: Maxime Ripard
    [trini: Fix ENV_SIZE around ENV_IS_NOWHERE]
    Signed-off-by: Tom Rini

    Signed-off-by: Tom Rini

    Michal Simek
     

22 Jul, 2018

2 commits


19 Jul, 2018

1 commit


13 Jun, 2018

2 commits


09 Apr, 2018

1 commit


07 Apr, 2018

1 commit

  • Modifying the default environment via CONFIG_EXTRA_ENV_SETTINGS is
    somewhat inflexible, partly because the cpp language does not allow
    appending to an existing macro. This prevents reuse of "environment
    fragments" for different boards, which in turn makes maintaining that
    environment consistently tedious and error-prone.

    This implements a Kconfig option for allowing one to define the entire
    default environment in an external file, which can then, for example, be
    generated programmatically as part of a Yocto recipe, or simply be kept
    in version control separately from the U-boot repository.

    Tested-by: Sean Nyekjaer
    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Lukasz Majewski

    Rasmus Villemoes
     

05 Apr, 2018

1 commit


04 Apr, 2018

1 commit

  • Since the dawn of time for the Allwinner support in mainline U-Boot
    we store the environment to the SD card and write directly at
    544KB from the beginning of the device. This leads to problems when
    the U-Boot proper image grows beyond 504KB and eventually overlaps.
    With one release of having the environment preferably in a FAT
    partition, let's now turn off the MMC variant fallback, so we get back
    all the space we need to implement features.

    Signed-off-by: Andre Przywara
    Reviewed-by: Jagan Teki
    Acked-by: Maxime Ripard

    Andre Przywara
     

24 Mar, 2018

2 commits

  • Signed-off-by: Petr Vorel

    Petr Vorel
     
  • Introduce another difference from upstream (kernel) source in
    fs/ubifs/super.c: adding preprocessor condition as y variable in
    mount_ubifs() depends on CONFIG_UBIFS_SILENCE_MSG:
    fs/ubifs/super.c:1337:15: error: variable ?y? set but not used [-Werror=unused-but-set-variable]
    long long x, y;

    Not setting CONFIG_UBIFS_SILENCE_MSG in am335x_igep003x_defconfig and
    igep0032_defconfig. Although it was defined in their config headers, it
    depends on CMD_UBIFS which is not set for them.

    Signed-off-by: Petr Vorel
    Cc: Joe Hershberger
    Cc: Heiko Schocher

    Petr Vorel
     

27 Jan, 2018

3 commits


23 Jan, 2018

1 commit

  • Make it select FS_FAT as well, because if it's not selected, enabling
    ENV_IS_IN_FAT causes a Kconfig warning:

    warning: (ENV_IS_IN_FAT) selects FAT_WRITE which has unmet direct dependencies (FS_FAT)

    This also allows dropping some code from config_fallbacks.

    Also drop the unnecessary help text about having to enable
    CONFIG_FAT_WRITE - Kconfig automatically handles that.

    Signed-off-by: Tuomas Tynkkynen

    Tuomas Tynkkynen
     

16 Jan, 2018

1 commit

  • For example to store the environment in a file named "/uboot.env" in MMC
    "0", where partition "1" contains the EXT4 filesystem, the following
    configs should be added to the board's default config:

    CONFIG_ENV_IS_IN_EXT4=y
    CONFIG_ENV_EXT4_DEVICE_AND_PART="0:1"
    CONFIG_ENV_EXT4_FILE="/uboot.env"
    CONFIG_ENV_EXT4_INTERFACE="mmc"

    Signed-off-by: Jorge Ramirez-Ortiz
    [trini: Fix some line over 80 chars issues]
    Signed-off-by: Tom Rini

    Jorge Ramirez-Ortiz
     

18 Dec, 2017

1 commit

  • This commit adds ENV_SIZE and ENV_OFFSET configuration items for
    ARCH_ROCKCHIP, but keeps these non-visible (i.e. not prompt is given).
    With these new items present, the configuration from the header files
    is moved to Kconfig.

    Keeping these non-visible is necessary to have the possibility to
    select new default values if CONFIG_IS_IN_* is changed (interactively
    or with oldconfig). Otherwise it will always be set to a previous
    value if used with a prompt. As an example if we do a defconfig with
    CONFIG_IS_IN_MMC and change it to CONFIG_IS_IN_SPI_FLASH via
    menuconfig, ENV_SIZE and ENV_OFFSET will not be changed to the correct
    values as defconfig will already have set them to the default values
    of CONFIG_IS_IN_MMC in .config.

    Signed-off-by: Klaus Goger
    Reviewed-by: Philipp Tomsich

    Klaus Goger