23 Jun, 2014

1 commit

  • move fdtdec_get_int() out of lib/fdtdec.c into lib/fdtdec_common.c
    as this function is also used, if CONFIG_OF_CONTROL is not
    used. Poped up on the ids8313 board using signed FIT images,
    and activating CONFIG_SYS_GENERIC_BOARD. Without this patch
    it shows on boot:

    No valid FDT found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d

    With this patch, it boots again with CONFIG_SYS_GENERIC_BOARD
    enabled.

    Signed-off-by: Heiko Schocher
    Acked-by: Simon Glass
    Cc: Tom Rini

    Heiko Schocher
     

19 Jun, 2014

3 commits


12 Jun, 2014

2 commits

  • It seems the code tries to trick the compiler the argument
    is actually used. However compilers became too smart to
    fool them so easily an now warn. Gcc and clang don't seem
    to emit a warning when the argument is unused. If so it
    should be decorated with unused / (void).

    Signed-off-by: Jeroen Hofstee

    Jeroen Hofstee
     
  • When writing values into an FDT it is possible that there will be
    insufficient space. If the caller gets a useful error then it can
    potentially deal with the situation.

    Adjust these functions to return -ENOSPC when the FDT is full.

    Signed-off-by: Simon Glass

    Simon Glass
     

02 Jun, 2014

1 commit


28 May, 2014

3 commits

  • Add the ability to display the code offset of an initcall even after it
    is relocated. This makes it much easier to relate initcalls back to the
    U-Boot System.map file.

    Signed-off-by: Simon Glass
    Signed-off-by: Minkyu Kang

    Simon Glass
     
  • The backlight uses FETs on the TPS65090. Enable this so that the display
    is visible.

    Signed-off-by: Simon Glass
    Reviewed-by: Lukasz Majewski
    Signed-off-by: Minkyu Kang

    Simon Glass
     
  • This adds driver support for the TPS65090 PMU. Support includes
    hooking into the pmic infrastructure so that the pmic commands
    can be used on the console. The TPS65090 supports the following
    functionality:

    - fet enable/disable/querying
    - getting and setting of charge state

    Even though it is connected to the pmic infrastructure it does
    not hook into the pmic charging charging infrastructure.

    The device tree binding is from Linux, but only a small subset of
    functionality is supported.

    Signed-off-by: Tom Wai-Hong Tam
    Signed-off-by: Hatim Ali
    Signed-off-by: Katie Roberts-Hoffman
    Signed-off-by: Rong Chang
    Signed-off-by: Sean Paul
    Signed-off-by: Vincent Palatin
    Signed-off-by: Aaron Durbin
    Signed-off-by: Simon Glass
    Signed-off-by: Minkyu Kang

    Tom Wai-Hong Tam
     

23 May, 2014

1 commit


16 May, 2014

1 commit


13 May, 2014

1 commit

  • Commit 2842c1c24269a05142802d25520e7cb9035e456c introduced lib/sha256 into
    mkimage. Since then it will be compiled with HOSTCC which may produce errors
    on some systems. Most BSD systems (like OS X for me) do not ship a
    linux/string.h which will lead to take the U-Boot provided
    include/linux/string.h in the end. This header howver is completely wrong
    here. Just take the string.h if compiling with HOSTCC and linux/string.h when
    not.

    Signed-off-by: Andreas Bießmann
    Cc: Heiko Schocher
    Acked-by: Heiko Schocher

    Andreas Bießmann
     

19 Apr, 2014

1 commit

  • Tegra's crypto.c uses apply_cbc_chain_data() to sign the warm restart
    code. This function was recently moved into the core aes.c and made
    static, which prevents the Tegra code from compiling. Make it public
    again to avoid the compile errors:

    arch/arm/cpu/tegra20-common/crypto.c: In function ‘sign_object’:
    arch/arm/cpu/tegra20-common/crypto.c:74:3: warning: implicit declaration of function ‘apply_cbc_chain_data’ [-Wimplicit-function-declaration]
    arch/arm/cpu/built-in.o: In function `sign_object':
    .../arch/arm/cpu/tegra20-common/crypto.c:74: undefined reference to `apply_cbc_chain_data'
    .../arch/arm/cpu/tegra20-common/crypto.c:78: undefined reference to `apply_cbc_chain_data'

    Fixes: 6e7b9f4fa0ae ("aes: Move the AES-128-CBC encryption function to common code")
    Signed-off-by: Stephen Warren
    Reviewed-by: Simon Glass
    Acked-by: Marek Vasut

    Stephen Warren
     

18 Apr, 2014

1 commit


08 Apr, 2014

1 commit


03 Apr, 2014

5 commits

  • Changes:
    - randomly generate partition uuid if any is undefined and CONFIG_RAND_UUID
    is defined
    - print debug info about set/unset/generated uuid
    - update doc/README.gpt

    Signed-off-by: Przemyslaw Marczak
    Acked-by: Lukasz Majewski
    Cc: Piotr Wilczek
    Cc: Tom Rini
    Cc: Stephen Warren
    Cc: Lukasz Majewski

    Przemyslaw Marczak
     
  • Those commands basis on implementation of random UUID generator version 4
    which is described in RFC4122. The same algorithm is used for generation
    both ids but string representation is different as below.

    char: 0 9 14 19 24 36
    xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    UUID: be be be be be
    GUID: le le le be be

    Commands usage:
    - uuid []
    - guid []

    The result is saved in environment as a "varname" variable if argument is given,
    if not then it is printed.

    New config:
    - CONFIG_CMD_UUID

    Signed-off-by: Przemyslaw Marczak
    Cc: Stephen Warren
    Cc: Lukasz Majewski
    Cc: trini@ti.com

    Przemyslaw Marczak
     
  • This patch adds support to generate UUID (Universally Unique Identifier)
    in version 4 based on RFC4122, which is randomly.

    Source: https://www.ietf.org/rfc/rfc4122.txt

    Changes:
    - new configs:
    - CONFIG_LIB_UUID for compile lib/uuid.c
    - CONFIG_RANDOM_UUID for functions gen_rand_uuid() and gen_rand_uuid_str()
    - add configs dependency to include/config_fallbacks.h for lib uuid.

    lib/uuid.c:
    - add gen_rand_uuid() - this function writes 16 bytes len binary representation
    of UUID v4 to the memory at given address.

    - add gen_rand_uuid_str() - this function writes 37 bytes len hexadecimal
    ASCII string representation of UUID v4 to the memory at given address.

    Signed-off-by: Przemyslaw Marczak
    Cc: Stephen Warren
    Cc: Lukasz Majewski
    [trini: Add CONFIG_EFI_PARTITION to fallbacks]
    Signed-off-by: Tom Rini

    Przemyslaw Marczak
     
  • Changes in lib/uuid.c to:
    - uuid_str_to_bin()
    - uuid_bin_to_str()

    New parameter is added to specify input/output string format in listed functions
    This change allows easy recognize which UUID type is or should be stored in given
    string array. Binary data of UUID and GUID is always stored in big endian, only
    string representations are different as follows.

    String byte: 0 36
    String char: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    string UUID: be be be be be
    string GUID: le le le be be

    This patch also updates functions calls and declarations in a whole code.

    Signed-off-by: Przemyslaw Marczak
    Cc: Stephen Warren
    Cc: Lukasz Majewski
    Cc: trini@ti.com

    Przemyslaw Marczak
     
  • This commit introduces cleanup for uuid library.
    Changes:
    - move uuidstring conversion functions into lib/uuid.c so they can be
    used by code outside part_efi.c.
    - rename uuid_string() to uuid_bin_to_str() for consistency with existing
    uuid_str_to_bin()
    - add an error return code to uuid_str_to_bin()
    - update existing code to the new library functions.

    Signed-off-by: Przemyslaw Marczak
    Cc: Stephen Warren
    Cc: Lukasz Majewski
    Cc: trini@ti.com

    Przemyslaw Marczak
     

29 Mar, 2014

2 commits

  • New configs:
    - CONFIG_LIB_RAND - to enable implementation of rand library in lib/rand.c
    - CONFIG_LIB_HW_RAND - to enable hardware based implementations of lib rand

    Other changes:
    - add CONFIG_LIB_RAND to boards configs which needs rand()
    - put only one rand.o dependency in lib/Makefile

    CONFIG_LIB_HW_RAND should be defined for drivers which implements rand library
    (declared in include/common.h):
    - void srand(unsigned int seed)
    - unsigned int rand(void)
    - unsigned int rand_r(unsigned int *seedp)

    Signed-off-by: Przemyslaw Marczak
    Cc: Michael Walle
    Cc: Tom Rini
    Cc: Masahiro Yamada

    Przemyslaw Marczak
     
  • Since TIZEN group has been used 450 X 140 bmp logo for lunchbox,
    this patch tries to change the logo size from 500 X 150 to official size.
    By reducing image size, we also save about 35KB.

    To make row aligned 4 bytes, add 2 pixels to row. Therefore the real width
    of image size is 452.

    Signed-off-by: Jonghwa Lee
    Reviewed-by : Przemyslaw Marczak

    Jonghwa Lee
     

25 Mar, 2014

1 commit


22 Mar, 2014

7 commits


18 Mar, 2014

3 commits

  • Add a simple LCD driver which uses SDL to display the image. We update the
    image regularly, while still providing for reasonable performance.

    Adjust the common lcd code to support sandbox.

    For command-line runs we do not want the LCD to be displayed, so add a
    --show_lcd option to enable it.

    Tested-by: Che-Liang Chiou
    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add a simple emulation of the Chrome OS EC for sandbox, so that it can
    perform various EC tasks such as keyboard handling.

    Reviewed-by: Vadim Bendebury
    Signed-off-by: Simon Glass

    Simon Glass
     
  • A flash map describes the layout of flash memory in terms of offsets and
    sizes for each region. Add a function to read a flash map entry from the
    device tree.

    Reviewed-by: Che-Liang Chiou
    Signed-off-by: Simon Glass

    Simon Glass
     

12 Mar, 2014

2 commits


07 Mar, 2014

1 commit

  • Many (but not all) of Blackfin boards give -O2 option
    to compile under lib/ directory.
    That means lib/ should be speed-optimized,
    whereas other parts should be size-optimized.

    We want to keep the same behavior,
    but do not want to parse board/*/config.mk again and again.
    We've got no choice but to invent a new method.

    CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED, if it is enabled,
    gives -O2 flag only for building under lib/ directory.

    Dirty codes which I had marked as "FIX ME"
    in board/${BOARD}/config.mk have been deleted.
    Instead, CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED has been
    defined in include/configs/${BOARD}.h.

    Signed-off-by: Masahiro Yamada
    Cc: Sonic Zhang

    Masahiro Yamada
     

05 Mar, 2014

1 commit

  • Add 64-bit data for memory commands, such as md, mw, mm, cmp. The new
    size ".q " is introduced.

    For 64-bit architecture, 64-bit data is enabled by default, by detecting
    compiler __LP64__. It is optional for other architectures.

    Signed-off-by: York Sun

    York Sun
     

27 Feb, 2014

1 commit

  • When we tell the compiler to optimize for ARMv7 (and ARMv6 for that
    matter) it assumes a default of SCTRL.A being cleared and unaligned
    accesses being allowed and fast at the hardware level. We set this bit
    and must pass along -mno-unaligned-access so that the compiler will
    still breakdown accesses and not trigger a data abort.

    To better help understand the requirements of the project with respect
    to unaligned memory access, the
    Documentation/unaligned-memory-access.txt file has been added as
    doc/README.unaligned-memory-access.txt and is taken from the v3.14-rc1
    tag of the kernel.

    Cc: Albert ARIBAUD
    Cc: Mans Rullgard
    Signed-off-by: Tom Rini

    Tom Rini
     

20 Feb, 2014

1 commit

  • Now we are ready to switch over to real Kbuild.

    This commit disables temporary scripts:
    scripts/{Makefile.build.tmp, Makefile.host.tmp}
    and enables real Kbuild scripts:
    scripts/{Makefile.build,Makefile.host,Makefile.lib}.

    This switch is triggered by the line in scripts/Kbuild.include
    -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
    +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj

    We need to adjust some build scripts for U-Boot.
    But smaller amount of modification is preferable.

    Additionally, we need to fix compiler flags which are
    locally added or removed.

    In Kbuild, it is not allowed to change CFLAGS locally.
    Instead, ccflags-y, asflags-y, cppflags-y,
    CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
    are prepared for that purpose.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada