04 Aug, 2014

3 commits


02 Aug, 2014

8 commits


01 Aug, 2014

2 commits


31 Jul, 2014

7 commits

  • Now CONFIG_SPL and CONFIG_TPL are defined in Kconfig.

    Remove the redundant definition in config headers.

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

    Masahiro Yamada
     
  • CONFIG_${CPU} is defined by Kconfig.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass
    Acked-by: Stefan Roese

    Masahiro Yamada
     
  • CONFIG_${ARCH} is defined by Kconfig.

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

    Masahiro Yamada
     
  • Use "make _defconfig" instead of "make _config".

    Invoke tools/genboardscfg.py to generate boards.cfg when it is missing.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • - Use "make _defconfig" instead of "make _config".

    - Invoke tools/genboardscfg.py to generate boards.cfg when it is
    missing.

    - Show "Building ${BOARD_NAME} board..." message.
    (Prior to Kconfig, instead, mkconfig script displayed
    "Configuring for ${BOARD_NAME} board..." but it was removed.)
    Without this message, we cannot know which board is currently
    being built.

    - Do not show "# configuration written to .config".
    This message is useless and just annoying for MAKEALL.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • The old configuration script is no longer necessary.
    Nor is boards.cfg a primary database.
    We can generate it with the genboardscfg.py tool
    based on the latest Kconfig, defconfig and MAINTAINERS.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • Now the primary data for each board is in Kconfig, defconfig and
    MAINTAINERS.

    It is true boards.cfg is needed for MAKEALL and buildman and might be
    useful to brouse all the supported boards in a single database.
    But it would be painful to maintain the boards.cfg in sync.

    So, this is the solution.
    Add a tool to generate the equivalent boards.cfg file based on
    the latest Kconfig, defconfig and MAINTAINERS.

    We can keep all the functions of MAKEALL and buildman with it.

    The best thing would be to change MAKEALL and buildman for not
    depending on boards.cfg in the future, but it would take some time.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     

30 Jul, 2014

7 commits

  • We have switched to Kconfig and the boards.cfg file is going to
    be removed. We have to retrieve the board status and maintainers
    information from it.

    The MAINTAINERS format as in Linux Kernel would be nice
    because we can crib the scripts/get_maintainer.pl script.

    After some discussion, we chose to put a MAINTAINERS file under each
    board directory, not the top-level one because we want to collect
    relevant information for a board into a single place.

    TODO:
    Modify get_maintainer.pl to scan multiple MAINTAINERS files.

    Signed-off-by: Masahiro Yamada
    Suggested-by: Tom Rini
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • This commit enables Kconfig.
    Going forward, we use Kconfig for the board configuration.
    mkconfig will never be used. Nor will include/config.mk be generated.

    Kconfig must be adjusted for U-Boot because our situation is
    a little more complicated than Linux Kernel.
    We have to generate multiple boot images (Normal, SPL, TPL)
    from one source tree.
    Each image needs its own configuration input.

    Usage:

    Run "make _defconfig" to do the board configuration.

    It will create the .config file and additionally spl/.config, tpl/.config
    if SPL, TPL is enabled, respectively.

    You can use "make config", "make menuconfig" etc. to create
    a new .config or modify the existing one.

    Use "make spl/config", "make spl/menuconfig" etc. for spl/.config
    and do likewise for tpl/.config file.

    The generic syntax of configuration targets for SPL, TPL is:

    /

    Here, is either 'spl' or 'tpl'
    is 'config', 'menuconfig', 'xconfig', etc.

    When the configuration is done, run "make".
    (Or "make _defconfig all" will do the configuration and build
    in one time.)

    For futher information of how Kconfig works in U-Boot,
    please read the comment block of scripts/multiconfig.py.

    By the way, there is another item worth remarking here:
    coexistence of Kconfig and board herder files.

    Prior to Kconfig, we used C headers to define a set of configs.

    We expect a very long term to migrate from C headers to Kconfig.
    Two different infractructure must coexist in the interim.

    In our former configuration scheme, include/autoconf.mk was generated
    for use in makefiles.
    It is still generated under include/, spl/include/, tpl/include/ directory
    for the Normal, SPL, TPL image, respectively.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • We are about to switch to Kconfig in the next commit.
    But there are something to get done beforehand.

    In Kconfig, include/generated/autoconf.h defines boolean
    CONFIG macros as 1.

    CONFIG_SPL and CONFIG_TPL, if defined, must be set to 1.
    Otherwise, when switching to Kconfig, the build log
    would be sprinkled with warning messages like this:
    warning: "CONFIG_SPL" redefined [enabled by default]

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

    Masahiro Yamada
     
  • This commit adds more Kconfig files, which were written by hand.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • This commit adds:
    - arch/${ARCH}/Kconfig
    provide a menu to select target boards
    - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig
    set CONFIG macros to the appropriate values for each board
    - configs/${TARGET_BOARD}_defconfig
    default setting of each board

    (This commit was automatically generated by a conversion script
    based on boards.cfg)

    In Linux Kernel, defconfig files are located under
    arch/${ARCH}/configs/ directory.
    It works in Linux Kernel since ARCH is always given from the
    command line for cross compile.

    But in U-Boot, ARCH is not given from the command line.
    Which means we cannot know ARCH until the board configuration is done.
    That is why all the "*_defconfig" files should be gathered into a
    single directory ./configs/.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • Import
    - scripts/kconfig/*
    - include/linux/kconfig.h
    from Linux 3.16-rc7.

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

    Masahiro Yamada
     
  • Change-Id: I8e72b942b8816726773d5407ce405d68a1594389
    Signed-off-by: Lukasz Majewski

    Łukasz Majewski
     

29 Jul, 2014

8 commits


28 Jul, 2014

5 commits

  • Having a form of whitelist to check if we know of a CPU core
    and and obtain CBAR is a bit silly.

    It doesn't scale (how about A12, A17, as well as other I don't know
    about?), and is actually a property of the SoC, not the core.

    So either it works and everybody is happy, or it doesn't and
    the u-boot port to this SoC is providing the real address via
    a configuration option.

    The result of the above is that this code doesn't need to exist,
    is thus forcefully removed.

    Signed-off-by: Marc Zyngier
    Acked-by: Ian Campbell

    Marc Zyngier
     
  • Generate the PSCI node in the device tree.

    Also add a reserve section for the "secure" code that lives in
    in normal RAM, so that the kernel knows it'd better not trip on
    it.

    Signed-off-by: Marc Zyngier
    Acked-by: Ian Campbell

    Marc Zyngier
     
  • Some architecture needs extra device tree setup. Instead of adding
    yet another hook, convert arch_fixup_memory_node to be a generic
    FDT fixup function.

    [maz: collapsed 3 patches into one, rewrote commit message]

    Signed-off-by: Ma Haijun
    Signed-off-by: Marc Zyngier
    Acked-by: Ian Campbell

    Ma Haijun
     
  • Allow the switch to a second stage secure monitor just before
    switching to non-secure.

    This allows a resident piece of firmware to be active once the
    kernel has been entered (the u-boot monitor is dead anyway,
    its pages being reused).

    Signed-off-by: Marc Zyngier
    Acked-by: Ian Campbell

    Marc Zyngier
     
  • Implement core support for PSCI. As this is generic code, it doesn't
    implement anything really useful (all the functions are returning
    Not Implemented).

    Signed-off-by: Marc Zyngier
    Acked-by: Ian Campbell

    Marc Zyngier