26 Feb, 2015

3 commits


25 Feb, 2015

1 commit


24 Feb, 2015

1 commit

  • The SD/MMC version scheme was buggy when dealing with standard
    major.minor.change cases. Fix it by using something similar to
    the linux's kernel versioning method.

    Signed-off-by: Pantelis Antoniou
    Tested-by: Jaehoon Chung
    Reported-by: Stephen Warren
    Tested-by: Stephen Warren

    Pantelis Antoniou
     

19 Feb, 2015

2 commits

  • I2C chips do exist that require a write of some multi-byte data to occur in
    a single bus transaction (aka atomic transfer), otherwise either the write
    does not come into effect at all, or normal operation of internal circuitry
    cannot be guaranteed. The current implementation of the 'i2c write' command
    (transfer of multiple bytes from a memory buffer) in fact performs a separate
    transaction for each byte to be written and thus cannot support such types of
    I2C slave devices.

    This patch provides an alternative by allowing 'i2c write' to execute the
    write transfer of the given number of bytes in a single bus transaction if
    the '-s' option is specified as a final command argument. Else the current
    re-addressing method is used.

    Signed-off-by: Lubomir Popov

    hs: adapt to CONFIG_DM_I2C

    Lubomir Popov
     
  • If the i2c driver returns an error status, error out immediately.
    Continuing the loop just results in printing error messages
    again and again.

    Signed-off-by: Masahiro Yamada
    Cc: Simon Glass
    Cc: Heiko Schocher
    Reviewed-by: Simon Glass

    Masahiro Yamada
     

18 Feb, 2015

7 commits


17 Feb, 2015

4 commits


13 Feb, 2015

5 commits

  • Add Kconfig settings for these two options.

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

    Simon Glass
     
  • As with i2c_read() and i2c_write(), add a dm_ prefix to the driver model
    versions of these functions to avoid conflicts.

    Signed-off-by: Simon Glass
    Acked-by: Heiko Schocher

    Simon Glass
     
  • At present on some architectures we set up the following before calling
    board_init_f():

    - global_data
    - stack
    - early malloc memory

    Adding the code to support early malloc and global data setup to every
    arch's assembler start-up is a pain. Also this code is not actually
    architecture-specific. We can use common code for all architectures and
    with a bit of care we can write this code in C.

    Add a new function to deal with this. It should be called after memory
    is available, with a pointer to the top of the area that should be used
    before relocation. The function will set things up and return the lowest
    memory address that it allocated/used. That can then be set as the top
    of the stack.

    Note that on some archs this function will use the stack, so the stack
    pointer should be set to same value as is pased to board_init_f_mem().
    A margin of 128 bytes will be left for this stack, so that it is not
    overwritten. This means that 64 bytes is wasted by this early call.
    This is not strictly necessary on several more modern archs, so we could
    remove this at the cost of some arch-dependent code.

    With this function there is no-longer any need for the assembler code to
    zero global_data or set up the early malloc pointers.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • All callers of malloc should already do error checking, and may even be able
    to continue without the alloc succeeding.

    Moreover, common/malloc_simple.c is the only user of .rodata.str1.1 in
    common/built-in.o when building the SPL, triggering this gcc bug:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54303

    Causing .rodata to grow with e.g. 0xc21 bytes, nullifying all benefits of
    using malloc_simple in the first place.

    Signed-off-by: Hans de Goede
    Acked-by: Simon Glass

    Hans de Goede
     
  • Segfaults can occur when a mandatory argument is not provided to
    "demo hello" and "demo status". Eg:

    => demo hello
    Segmentation fault (core dumped)

    Add a check to ensure all required arguments are provided.

    Signed-off-by: Peter Tyser
    Acked-by: Simon Glass

    Peter Tyser
     

10 Feb, 2015

16 commits

  • Tom Rini
     
  • Tom Rini
     
  • Conflicts:
    include/splash.h

    Signed-off-by: Tom Rini

    Tom Rini
     
  • Tom Rini
     
  • lcd_logo() currently performs tasks well beyond just displaying the logo.
    It has code which displays splash image, it has logic which determines
    when the different display features are displayed, and it is coupled with
    the lcd console because it holds the responsibility of returning the
    lcd console base address.

    Make lcd_logo() just about the logo by:
    * Moving splash image display code into a dedicated function
    * Moving the logic regarding when various features are displayed to
    lcd_clear() (which is arguably not the correct name for housing such
    code either, but it is currently the most fitting location code wise)
    * Move the responsibility of setting the console base address to
    lcd_clear() too.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Bo Shen
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • We now have api functions that can support compiling simplefb code as its own
    module. Since this code is not part of the display functionality, extract it
    to its own file.

    Raspberry Pi is updated to accommodate the changes.

    Signed-off-by: Nikita Kiryanov
    Acked-by: Stephen Warren
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Simon Glass
    Cc: Anatolij Gustschin
    Cc: Stephen Warren

    Nikita Kiryanov
     
  • The name "bitmap_plot" is misleading because it implies that this is a generic
    function capable of dealing with any bitmap, but its implementation only works
    with the logo data.

    Rename the function to better reflect this.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • This cleanup mostly focuses on removing unnecessary whitespace and comments
    which are superfluous and/or do not conform to the coding style.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • Remove unused includes.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Bo Shen
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • Reduce the lcd_display_bitmap #ifdef complexity by extracting Atmel-specific
    code for setting cmap for bitmap images into a new function lcd_set_cmap().
    A default version is implemented with the remainder of the code.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Bo Shen
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • Get rid of platform-specific #ifdefs in bitmap_plot() by moving the generic
    case of setting cmap into the weak lcd_logo_set_cmap().

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Bo Shen
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • Reduce the bitmap_plot #ifdef complexity by extracting MPC823-specific code for
    setting cmap into its own implementation of lcd_logo_set_cmap(), implemented in
    mpc8xx_lcd.c. In the MPC823 implementation, ARRAY_SIZE(bmp_logo_palette) is
    switched for BMP_LOGO_COLORS to avoid having to include bmp_logo_data.h, which
    would cause a compilation error because the logo data and palette arrays would
    be defined twice.

    This is a step towards cleaning bitmap_plot() of platform-specific code.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • Reduce the bitmap_plot #ifdef complexity by extracting Atmel-specific code for
    setting cmap into a new function lcd_logo_set_cmap(), which is implemented in
    atmel_lcdfb driver and defined as part of common/lcd.c api with a weak dummy
    version. In the Atmel implementation, ARRAY_SIZE(bmp_logo_palette) is
    switched for BMP_LOGO_COLORS to avoid having to include bmp_logo_data.h, which
    would cause a compilation error because the logo data and palette arrays would
    be defined twice.

    This is a step towards cleaning bitmap_plot() of platform-specific code.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Bo Shen
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • Reduce the amount of platform-specific code in common/lcd.c by moving MPC823
    implementation of fb_put_byte() to mpc8xx_lcd.c. Since we must also have a
    default implementation for everybody else, make the remainder of the code
    into a weak function.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • Reduce the amount of platform-specific code in common/lcd.c by moving Atmel
    implementation of fb_put_word() to atmel_lcdfb.c. Since we must also have a
    default implementation for everybody else, make the remainder of the code
    into a weak function.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Acked-by: Bo Shen
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Bo Shen
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     
  • configuration_get_cmap() is multiple platform-specific functions stuffed into
    one function. Split it into multiple versions, and move each version to the
    appropriate driver to reduce the #ifdef complexity.

    Signed-off-by: Nikita Kiryanov
    Reviewed-by: Simon Glass
    Tested-by: Bo Shen
    Tested-by: Josh Wu
    Cc: Bo Shen
    Cc: Simon Glass
    Cc: Anatolij Gustschin

    Nikita Kiryanov
     

09 Feb, 2015

1 commit