24 Oct, 2014

13 commits

  • It is inconvenient to have to use casts when specifying platform data. Also
    it is not strictly correct, since we should use map_sysmem() to convert an
    address to a pointer.

    Adjust the platform data to use an address.

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

    Simon Glass
     
  • There is a bug in the logic which checks for an available character. This
    can cause invalid characters to be received - this was noticed on
    beaglebone. Fix it.

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

    Simon Glass
     
  • We have moved the busy-wait loop out of drivers and into the uclass. This
    means that we must reset the watchdog when busy-waiting.

    Note: some drivers may still have a busy-wait even with driver model, as
    a transition mechanism. Driver model will tolerate this, and is can be
    cleaned up when all users of the driver use driver model. An example is
    ns16550.

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

    Simon Glass
     
  • At present banks must be named and it is not possible to refer to GPIOs by
    number in driver model. Some boards use numbering - e.g. OMAP. It is fairly
    easy to support by detecting the absense of a bank name (which starts with
    a letter).

    Add support for numbered GPIOs in addition to the existing bank support.

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

    Simon Glass
     
  • Since the environment "VENDOR" is set in tcsh, it must be cleared in our
    makefile. Otherwise, boards without CONFIG_SYS_VENDOR fail to build:

    > make CROSS_COMPILE=arm-linux-gnueabi- wandboard_quad_defconfig all
    [ snip ]
    AR arch/arm/lib/lib.a
    CC arch/arm/lib/eabi_compat.o
    scripts/Makefile.build:55: /home/foo/u-boot/board/unknown/wandboard/ \
    Makefile: No such file or directory
    make[2]: *** No rule to make target `/home/foo/u-boot/board/unknown/ \
    wandboard/Makefile'. Stop.
    make[1]: *** [board/unknown/wandboard] Error 2
    make: *** [__build_one_by_one] Error 2

    Signed-off-by: Masahiro Yamada
    Reported-by: Tom Everett
    Reported-by: Jeroen Hofstee

    Masahiro Yamada
     
  • Tom Rini
     
  • Without the private libgcc, we need a full multilib toolchain with
    different libgcc or multiple toolchains to build all BE/LE and
    hard-float/soft-float variants of MIPS boards. That is not feasible.

    This commit allows us to build all the MIPS boards with a single
    kernel.org toolchain:

    https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/
    x86_64-gcc-4.9.0-nolibc_mips-linux.tar.xz

    This change sounds reasonable for most users. If necessary,
    you can disable this option via "make menuconfig" or friends.

    Signed-off-by: Masahiro Yamada
    Acked-by: Daniel Schwierzeck

    Masahiro Yamada
     
  • When spl/.config is updated by "make spl/menuconfig" or friends,
    spl/include/config/auto.conf, spl/include/generated/autoconf.h
    and some other files must be updated by "make silentoldconfig".

    There is no hook for SPL in the top Makefile, so this commit
    touches .config when spl/.config is updated to invoke silentoldconfig.
    Likewise for TPL.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • cmd_u-boot-spl includes $(PLATFORM_LIBS) which changes
    when CONFIG_USE_PRIVATE_GCC is updated. The u-boot-spl image
    should be re-linked if any prerequisite is newer than it
    or the command line has changed.
    $(call, if_changed,...) should be used instead of $(call cmd,...).

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The private libgcc is supported only on ARM, MIPS, PowerPC, SH, x86.
    Those architectures should "select" HAVE_PRIVATE_LIBGCC and
    CONFIG_USE_PRIVATE_LIBGCC should depend on it.

    Currently, this option is enabled on Tegra boards and x86 architecture.
    Move the definition from header files to Kconfig.

    Signed-off-by: Masahiro Yamada
    Tested-by: Simon Glass
    Acked-by: Simon Glass
    Cc: Stephen Warren
    Cc: Tom Warren

    Masahiro Yamada
     
  • Now CONFIG_USE_PRIVATE_LIBGCC is only used as a boolean macro.
    Remove CONFIG_USE_PRIVATE_LIBGCC=path/to/libgcc syntax.

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

    Masahiro Yamada
     
  • The motivation of this commit is to change CONFIG_USE_PRIVATE_LIBGCC
    to a boolean macro so we can move it to Kconfig.

    In the current implementation, there are two forms of syntax
    for this macro:

    - CONFIG_USE_PRIVATE_LIBGCC=y
    - CONFIG_USE_PRIVATE_LIBGCC=path/to/private/libgcc

    The latter is only used by x86 architecture.
    With a little bit refactoring, it can be converted to the former.

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

    Masahiro Yamada
     
  • CONFIG_SYS_HZ is always defined as 1000 in config_fallbacks.h
    (but some boards still have redundant definitions).

    This commit moves the definition and the document in README to
    Kconfig. Since lib/Kconfig can assure that CONFIG_SYS_HZ is 1000,
    the sanity check in lib/time.c should be removed.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Marek Vasut

    Masahiro Yamada
     

23 Oct, 2014

27 commits