08 Sep, 2017

1 commit


16 Aug, 2017

1 commit

  • At present we support multiple environment drivers but there is not way to
    select between them at run time. Also settings related to the position and
    size of the environment area are global (i.e. apply to all locations).

    Until these limitations are removed we cannot really support more than one
    environment location. Adjust the location to be a choice so that only one
    can be selected. By default the environment is 'nowhere', meaning that the
    environment exists only in memory and cannot be saved.

    Also expand the help for the 'nowhere' option and move it to the top since
    it is the default.

    Signed-off-by: Simon Glass
    [trini: Move all of the imply logic to default X if Y so it works again]
    Signed-off-by: Tom Rini

    Simon Glass
     

13 Aug, 2017

1 commit

  • With SPL_LDSCRIPT moved to Kconfig (and this being a 'string' config
    node), all the lingering definitions in header files will cause
    warnings/errors due to the redefinition of the configuration item.

    As we don't want to pollute the defconfig files (and values should
    usually be identical for entire architectures), the defaults are moved
    into Kconfig. Kconfig will always pick the first default that
    matches, so please keep these values at the end of each file (to allow
    any board-specific Kconfig, which will be included earlier) to
    override with an unconditional default setting.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     

26 Jul, 2017

1 commit

  • This converts the following to Kconfig:
    CONFIG_ENV_IS_IN_MMC
    CONFIG_ENV_IS_IN_NAND
    CONFIG_ENV_IS_IN_UBI
    CONFIG_ENV_IS_NOWHERE

    In fact this already exists for sunxi as a 'choice' config. However not
    all the choices are available in Kconfig yet so we cannot use that. It
    would lead to more than one option being set.

    In addition, one purpose of this series is to allow the environment to be
    stored in more than one place. So the existing choice is converted to a
    normal config allowing each option to be set independently.

    There are not many opportunities for Kconfig updates to reduce the size of
    this patch. This was tested with

    ./tools/moveconfig.py -i CONFIG_ENV_IS_IN_MMC

    And then manual updates. This is because for CHAIN_OF_TRUST boards they
    can only have ENV_IS_NOWHERE set, so we enforce that via Kconfig logic
    now.

    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Simon Glass
     

01 Jun, 2017

1 commit

  • Currently these (board agnostic) commands cannot be selected using
    menuconfig and friends. Fix this the obvious way. As part of this,
    don't muddle the meaning of CONFIG_HASH_VERIFY to mean both 'hash -v'
    and "we have a hashing command" as this makes the Kconfig logic odd.

    Signed-off-by: Daniel Thompson
    [trini: Re-apply, add imply for a few cases, run moveconfig.py, also
    migrate CRC32_VERIFY]
    Signed-off-by: Tom Rini

    Daniel Thompson
     

23 May, 2017

1 commit


22 May, 2017

1 commit

  • Commit 94e3c8c4fd7b ("crypto/fsl - Add progressive hashing support
    using hardware acceleration.") created entries for CONFIG_SHA1,
    CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and CONFIG_SHA_PROG_HW_ACCEL.
    However, no defconfig has migrated to it. Complete the move by first
    adding additional logic to various Kconfig files to select this when
    required and then use the moveconfig tool. In many cases we can select
    these because they are required to implement other drivers. We also
    correct how we include the various hashing algorithms in SPL.

    This commit was generated as follows (after Kconfig additions):

    [1] tools/moveconfig.py -y SHA1 SHA256 SHA_HW_ACCEL
    [2] tools/moveconfig.py -y SHA_PROG_HW_ACCEL

    Note:
    We cannot move SHA_HW_ACCEL and SHA_PROG_HW_ACCEL simultaneously
    because there is dependency between them.

    Cc: Poonam Aggrwal
    Cc: Naveen Burmi
    Cc: Po Liu
    Cc: Shengzhou Liu
    Cc: Priyanka Jain
    Cc: Shaohui Xie
    Cc: Chunhe Lan
    Cc: Chander Kashyap
    Cc: Steve Rae
    Cc: Dirk Eibach
    Cc: Feng Li
    Cc: Alison Wang
    Cc: Sumit Garg
    Cc: Mingkai Hu
    Cc: York Sun
    Cc: Prabhakar Kushwaha
    Cc: Jaehoon Chung
    Cc: Akshay Saraswat
    Cc: Heiko Schocher
    Cc: Jagan Teki
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass
    Signed-off-by: Tom Rini

    Tom Rini
     

10 Mar, 2017

1 commit

  • This moves all of the current ARM errata from various header files and in to
    Kconfig. This allows for a minor amount of cleanup as we had some instances
    where both a general common header file was enabling errata as well as the
    board config. We now just select these once at the higher level in Kconfig

    Signed-off-by: Tom Rini

    Tom Rini
     

26 Jan, 2017

1 commit


23 Nov, 2016

1 commit

  • Remove the custom low-level initialization function and reuse the
    default low-level initialization function. But this requires the
    ARMV8_MULTIENTRY config option to be enabled for Exynos7420.

    On Exynos7420, the boot CPU belongs to the second cluster and so
    with ARMV8_MULTIENTRY config option enabled, the 'branch_if_master'
    macro fails to detect the CPU as boot CPU. As a temporary workaround
    the CPU_RELEASE_ADDR is set to point to '_main'.

    Cc: Minkyu Kang
    Cc: Alison Wang
    Signed-off-by: Thomas Abraham
    Reviewed-by: Alison Wang
    Reviewed-by: York Sun

    Thomas Abraham
     

31 Oct, 2016

1 commit


17 Sep, 2016

3 commits


05 Aug, 2016

1 commit

  • As part of testing booting Linux kernels on Rockchip devices, it was
    discovered by Ziyuan Xu and Sandy Patterson that we had multiple and for
    some cases incomplete isb definitions. This was causing a failure to
    boot of the Linux kernel.

    In order to solve this problem as well as cover any corner cases that we
    may also have had a number of changes are made in order to consolidate
    things. First, now becomes the source of isb/dsb/dmb
    definitions. This however introduces another complexity. Due to
    needing to build SPL for 32bit tegra with -march=armv4 we need to borrow
    the __LINUX_ARM_ARCH__ logic from the Linux Kernel in a more complete
    form. Move this from arch/arm/lib/Makefile to arch/arm/Makefile and add
    a comment about it. Now that we can always know what the target CPU is
    capable off we can get always do the correct thing for the barrier. The
    final part of this is that need to be consistent everywhere and call
    isb()/dsb()/dmb() and NOT call ISB/DSB/DMB in some cases and the
    function names in others.

    Reviewed-by: Stephen Warren
    Tested-by: Stephen Warren
    Acked-by: Ziyuan Xu
    Acked-by: Sandy Patterson
    Reported-by: Ziyuan Xu
    Reported-by: Sandy Patterson
    Signed-off-by: Tom Rini

    Tom Rini
     

20 Jul, 2016

1 commit


16 Jul, 2016

1 commit


12 Jul, 2016

1 commit


26 May, 2016

1 commit

  • If CONFIG_SPL_SERIAL_SUPPORT is not defined in include/configs/exynos5-common.h
    the following error is produced during the build of the SPL:

    arch/arm/mach-exynos/built-in.o: In function `do_lowlevel_init':
    ...u-boot/arch/arm/mach-exynos/lowlevel_init.c:221: undefined reference to `debug_uart_init'

    Add additional condition to check if SPL build is in progress and
    in that case check if CONFIG_SPL_SERIAL_SUPPORT is also set before
    enabling the debug UART.

    Signed-off-by: Marek Vasut
    Cc: Simon Glass
    Cc: Tom Rini
    Reviewed-by: Simon Glass
    Signed-off-by: Minkyu Kang

    Marek Vasut
     

25 May, 2016

11 commits


06 Feb, 2016

1 commit

  • Correct spelling of "U-Boot" shall be used in all written text
    (documentation, comments in source files etc.).

    Signed-off-by: Bin Meng
    Reviewed-by: Heiko Schocher
    Reviewed-by: Simon Glass
    Reviewed-by: Minkyu Kang

    Bin Meng
     

02 Nov, 2015

4 commits

  • This patch will fix these checkpatch issues.

    ERROR: Macros with complex values should be enclosed in parentheses
    +#define DEFAULT_DQS_X4 (DEFAULT_DQS << 24) || (DEFAULT_DQS << 16) \
    + || (DEFAULT_DQS << 8) || (DEFAULT_DQS << 0)

    ERROR: space prohibited before that ',' (ctx:WxW)
    + writel(val , &drex0->concontrol);
    ^

    ERROR: space prohibited before that ',' (ctx:WxW)
    + writel(val , &drex1->concontrol);
    ^

    Signed-off-by: Minkyu Kang

    Minkyu Kang
     
  • There are 8 pins for SD card in Exynos, but the MUX was configured
    only for 7, since the one was used for card detection.
    This caused the pin's pull wrong configuration.

    This commit fixes this and the card detect can work properly,
    after call this function.

    Tested-on: Odroid U3 and Odroid X2.

    Signed-off-by: Przemyslaw Marczak
    Cc: Guillaume GARDET
    Cc: Lukasz Majewski
    Cc: Jaehoon Chung
    Cc: Minkyu Kang
    Cc: Simon Glass
    Acked-by: Jaehoon Chung
    Tested-by: Lukasz Majewski
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     
  • This commit adds driver for Exynos54xx ADC subsystem.

    The driver is implemented using driver model, amd provides
    ADC uclass's methods for ADC single channel operations:
    - adc_start_channel()
    - adc_channel_data()
    - adc_stop()

    The basic parameters of ADC conversion, are:
    - sample rate: 600KSPS
    - output the data as average of 8 time conversion

    ADC features:
    - sample rate: 600KSPS
    - resolution: 12-bit
    - channels: 10 (analog multiplexer)

    Signed-off-by: Przemyslaw Marczak
    Cc: Minkyu Kang
    Cc: Simon Glass
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     
  • The proper CPU ID for those Exynos variants is 0x5422,
    but before the 0x5800 was set. This commit fix this back.

    Changes:
    - set cpu id to 0x5422 instead of 0x5800
    - remove macro proid_is_exynos5800()
    - add macro proid_is_exynos5422()
    - change the calls to proid_is_exynos5800() with new macro

    Signed-off-by: Przemyslaw Marczak
    Cc: Minkyu Kang
    Cc: Simon Glass
    Tested-by: Anand Moon
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     

03 Oct, 2015

1 commit

  • After rework of code by:

    commit: d952796 Exynos5: Use clock_get_periph_rate generic API

    function get_mmc_clk() always returns -1 for Exynos 4.

    This was caused by omitting, that SDHCI driver for Exynos 4,
    calls get_mmc_clk(), with mmc device number as argument,
    instead of pinmux peripheral id, like DW MMC driver for Exynos 5.

    By this commit, the code directly calls a proper function
    to get mmc clock for Exynos 4, without checking the peripheral id.

    Tested on: Odroid U3/X2, Trats, Trats2, Odroid XU3, Snow (by Simon).

    Signed-off-by: Przemyslaw Marczak
    Acked-by: Jaehoon Chung
    Acked-by: Simon Glass
    Tested-by: Simon Glass

    Przemyslaw Marczak
     

19 Aug, 2015

2 commits

  • We have flipped CONFIG_SPL_DISABLE_OF_CONTROL. We have cleansing
    devices, $(SPL_) and CONFIG_IS_ENABLED(), so we are ready to clear
    away the ugly logic in include/fdtdec.h:

    #ifdef CONFIG_OF_CONTROL
    # if defined(CONFIG_SPL_BUILD) && !defined(SPL_OF_CONTROL)
    # define OF_CONTROL 0
    # else
    # define OF_CONTROL 1
    # endif
    #else
    # define OF_CONTROL 0
    #endif

    Now CONFIG_IS_ENABLED(OF_CONTROL) is the substitute. It refers to
    CONFIG_OF_CONTROL for U-boot proper and CONFIG_SPL_OF_CONTROL for
    SPL.

    Also, we no longer have to cancel CONFIG_OF_CONTROL in
    include/config_uncmd_spl.h and scripts/Makefile.spl.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Tom Rini
    Reviewed-by: Simon Glass
    Acked-by: Linus Walleij

    Masahiro Yamada
     
  • As we discussed a couple of times, negative CONFIG options make our
    life difficult; CONFIG_SYS_NO_FLASH, CONFIG_SYS_DCACHE_OFF, ...
    and here is another one.

    Now, there are three boards enabling OF_CONTROL on SPL:
    - socfpga_arria5_defconfig
    - socfpga_cyclone5_defconfig
    - socfpga_socrates_defconfig

    This commit adds CONFIG_SPL_OF_CONTROL for them and deletes
    CONFIG_SPL_DISABLE_OF_CONTROL from the other boards to invert
    the logic.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Tom Rini
    Reviewed-by: Simon Glass

    Masahiro Yamada
     

17 Aug, 2015

2 commits

  • The do_lowlevel_init() function includes certian CA15 specific L2 cache
    configuration which is only applicable on Exynos5420 and members of its
    family. Fix the regression on Origen4210 by skipping the Exynos5420
    specific portions of the code.

    Cc: Minkyu Kang
    Cc: Albert Aribaud
    Signed-off-by: Thomas Abraham
    Tested-by: Przemyslaw Marczak
    Acked-by: Przemyslaw Marczak
    Signed-off-by: Minkyu Kang

    Thomas Abraham
     
  • Move arch/arm/cpu/armv7/exynos/* to arch/arm/mach-exynos/* to allow
    reuse of existing code for ARMv8 based Exynos platforms.

    Cc: Minkyu Kang
    Cc: Albert Aribaud
    Cc: Masahiro Yamada
    Signed-off-by: Thomas Abraham
    Reviewed-by: Masahiro Yamada
    Tested-by: Przemyslaw Marczak
    Acked-by: Przemyslaw Marczak
    Signed-off-by: Minkyu Kang

    Thomas Abraham