21 Jun, 2017

1 commit


05 Apr, 2017

1 commit

  • Support EPDC.
    E-Ink feature is supported by i.MX6DL/SL and i.MX7D.
    For now this driver only supports i.MX6DL/SL, because the
    i.MX7D EPDC driver needs pxp support which is not included
    in U-Boot.

    Support user defined logo file, if there is no logo file, it will
    draw a black border around a white screen.

    If need to enable EPDC, a waveform file is required to let all
    work.

    Since we need LCD_MONOCHROME mode for EPDC, we introduce LCD_MONOCHROME
    support.

    Please refer to Linux Reference Manual for how to flash WAVEFORM file.

    Signed-off-by: Peng Fan
    Signed-off-by: Robby Cai
    Signed-off-by: Nitin Garg
    Signed-off-by: Ye.Li
    (cherry picked from commit a7244f279cc3c3994bcd103f5e9a183b1075ae71)

    Peng Fan
     

26 Jan, 2017

3 commits


22 Jan, 2017

1 commit

  • Move all of the status LED feature to drivers/led/Kconfig.
    The LED status definitions were moved from the board configuration
    files to the defconfig files.

    TBD: Move all of the definitions in the include/status_led.h to the
    relevant board's defconfig files.

    Tested boards: CL-SOM-AM57x, CM-T335

    Signed-off-by: Uri Mashiach

    Uri Mashiach
     

15 Jan, 2017

2 commits

  • The include/common.h is a collection of unrelated declarations,
    macros, etc.

    It is horrible to include such a cluttered header just for some
    timer functions. Split out timer functions into include/time.h.

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

    Masahiro Yamada
     
  • Currently, mdelay() and udelay() are declared in include/common.h,
    while ndelay() in include/linux/compat.h. It would be nice to
    collect them into include/linux/delay.h like Linux.

    While we are here, fix the ndelay() implementation; I used the
    DIV_ROUND_UP() instead of (x)/1000 because it must wait *longer*
    than the given period of time.

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

    Masahiro Yamada
     

04 Jan, 2017

1 commit

  • The UL() macro is pretty useful in sharing constants between assembly
    and C files while still being able to specify a type for C.
    Move the macro from an armv8 specific header into a common header file
    to be able to use it by arm code (for instance) as well.

    Signed-off-by: Andre Przywara
    Reviewed-by: Alexander Graf
    Reviewed-by: Jagan Teki

    Andre Przywara
     

17 Sep, 2016

1 commit

  • At present TPL uses the same options as SPL support. In a few cases the board
    config enables or disables the SPL options depending on whether
    CONFIG_TPL_BUILD is defined.

    With the move to Kconfig, options are determined for the whole build and
    (without a hack like an #undef in a header file) cannot be controlled in this
    way.

    Create new TPL options for these and update users. This will allow Kconfig
    conversion to proceed for these boards.

    Signed-off-by: Simon Glass

    Simon Glass
     

15 Jul, 2016

2 commits


06 Jul, 2016

1 commit


15 Mar, 2016

3 commits


25 Jan, 2016

1 commit

  • BUILD_BUG_* macros have been defined in several headers. It would
    be nice to collect them in include/linux/bug.h like Linux.

    This commit is cherry-picking useful macros from include/linux/bug.h
    of Linux 4.4.

    I did not import BUILD_BUG_ON_MSG() because it would not work if it
    is used with include/common.h in U-Boot. I'd like to postpone it
    until the root cause (the "error()" macro in include/common.h causes
    the name conflict with "__attribute__((error()))") is fixed.

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

    Masahiro Yamada
     

14 Jan, 2016

1 commit

  • board_init_f_mem() alters the C runtime environment's
    stack it is actually already using. This is not a valid
    behaviour within a C runtime environment.

    Split board_init_f_mem into C functions which do not alter
    their own stack and always behave properly with respect to
    their C runtime environment.

    Signed-off-by: Albert ARIBAUD
    Acked-by: Thomas Chou

    Albert ARIBAUD
     

01 Dec, 2015

1 commit


22 Nov, 2015

2 commits

  • Add bus argument to eeprom_init(), so that it can select
    the I2C bus number on which the eeprom resides. Any negative
    value of the $bus argument will preserve the old behavior.
    This is in place so that old code does not randomly break.

    Signed-off-by: Marek Vasut
    Cc: Simon Glass
    Cc: Tom Rini
    Cc: Heiko Schocher
    Reviewed-by: Heiko Schocher
    [trini: Wrap i2c_set_bus_num() call with CONFIG_SYS_I2C test]
    Signed-off-by: Tom Rini

    Marek Vasut
     
  • Remove this function as it's no longer used.

    Signed-off-by: Marek Vasut
    Cc: Tom Rini
    Cc: Simon Glass
    Cc: Heiko Schocher
    Reviewed-by: Heiko Schocher

    Marek Vasut
     

20 Nov, 2015

1 commit


30 Oct, 2015

2 commits

  • Freescale LayerScape with Chassis Generation 2 is a set of SoCs with
    ARMv8 cores and 2rd generation of Chassis.

    Signed-off-by: Li Yang
    Signed-off-by: Hou Zhiqiang
    Signed-off-by: Mingkai Hu
    Signed-off-by: Gong Qianyu
    Reviewed-by: York Sun

    Mingkai Hu
     
  • There are two LS series processors are built on ARMv8 Layersacpe
    architecture currently, LS2085A and LS1043A. They are based on
    ARMv8 core although use different chassis, so create fsl-layerscape
    to refactor the common code for the LS series processors which also
    paves the way for adding LS1043A platform.

    Signed-off-by: Mingkai Hu
    Signed-off-by: Hou Zhiqiang
    Signed-off-by: Gong Qianyu
    Reviewed-by: York Sun

    Mingkai Hu
     

12 Oct, 2015

1 commit

  • This patch adds support for LZ4-compressed FIT image contents. This
    algorithm has a slightly worse compression ration than LZO while being
    nearly twice as fast to decompress. When loading images from a fast
    storage medium this usually results in a boot time win.

    Sandbox-tested only since I don't have a U-Boot development system set
    up right now. The code was imported unchanged from coreboot where it's
    proven to work, though. I'm mostly interested in getting this recognized
    by mkImage for use in a downstream project.

    Signed-off-by: Julius Werner
    Acked-by: Simon Glass

    Julius Werner
     

12 Sep, 2015

2 commits

  • Now that we have a new header file for cache-aligned allocation, we should
    move the stack-based allocation macro there also.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present malloc.h is included everywhere since it recently was added to
    common.h in this commit:

    4519668 mtd/nand/ubi: assortment of alignment fixes

    This seems wasteful and unnecessary. We have been trying to trim down
    common.h and put separate functions into separate header files and that
    change goes in the opposite direction.

    Move malloc_cache_aligned() to a new header so that this can be avoided.
    The header would perhaps be better named as alignmem.h but it needs to be
    included after common.h and people might be confused by this. With the name
    memalign.h it fits nicely after malloc() in most cases.

    Signed-off-by: Simon Glass
    Acked-by: Marcel Ziswiler

    Simon Glass
     

29 Aug, 2015

1 commit

  • Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer
    alignment into account which led to failures of the following form:

    ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
    ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Scott Wood
    [trini: Add __UBOOT__ hunk to lib/zlib/zutil.c due to malloc.h in common.h]
    Signed-off-by: Tom Rini

    Marcel Ziswiler
     

14 Aug, 2015

1 commit


13 Aug, 2015

1 commit


05 Aug, 2015

1 commit

  • It is useful to be able to load U-Boot onto a board even if is it already
    running EFI. This can allow access to the U-Boot command interface, flexible
    booting options and easier development.

    The easiest way to do this is to build U-Boot as a binary blob and have an
    EFI stub copy it into RAM. Add support for this feature, targeting 32-bit
    initially.

    Also add a way to detect when U-Boot has been loaded via a stub. This goes
    in common.h since it needs to be widely available so that we avoid redoing
    initialisation that should be skipped.

    Signed-off-by: Simon Glass
    Improvements to how the payload is built:
    Signed-off-by: Bin Meng
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     

22 Jul, 2015

1 commit

  • U-Boot uses structures for hardware access so it is important that these
    structures are correct. Add a way of asserting that a structure member is
    at a particular offset. This can be created using the datasheet for the
    hardware.

    This implementation uses Static_assert() since BUILD_BUG_ON() only works
    within functions.

    Signed-off-by: Simon Glass

    Simon Glass
     

11 Jun, 2015

1 commit


28 May, 2015

1 commit


30 Apr, 2015

1 commit


23 Apr, 2015

1 commit


21 Apr, 2015

1 commit

  • U-Boot does not have system calls (the services it exposes to
    standalone commands use a different mechanism), so the syscall handler
    is dead code. It's also broken code, as it assumes it is located at
    0xc00 -- while even before the patch to stop relocating exception
    vectors to 0, U-Boot had the syscall at 0x900.

    The critical and machine check return paths are never called -- the
    regular exception return path is used instead, which works because
    xSRR0/1 have already been saved and can be restored via the regular
    SRR0/1 (we don't care too much in U-Boot about taking a critical/mcheck
    inside another exception prolog/epilog).

    Also remove a few other small unused functions.

    Signed-off-by: Scott Wood
    Reviewed-by: York Sun

    Scott Wood
     

19 Apr, 2015

2 commits


17 Apr, 2015

1 commit

  • Since driver model is set up after arch_cpu_init(), that function cannot
    use drivers. Add a new arch_cpu_init_dm() function which is called
    immediately after driver model is ready, and can reference devices.

    This can be used to probe essential devices for the CPU.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass