09 Jan, 2013

1 commit

  • Move all the C runtime setup code from every start.S
    in arch/arm into arch/arm/lib/crt0.S. This covers
    the code sequence from setting up the initial stack
    to calling into board_init_r().

    Also, rewrite the C runtime setup and make functions
    board_init_*() and relocate_code() behave according to
    normal C semantics (no jumping across the C stack any
    more, etc).

    Some SPL targets had to be touched because they use
    start.S explicitly or for some reason; the relevant
    maintainers and custodians are cc:ed.

    Signed-off-by: Albert ARIBAUD

    Albert ARIBAUD
     

20 Dec, 2012

1 commit


14 Dec, 2012

8 commits

  • Currently just validates variable types as decimal, hexidecimal,
    boolean, ip address, and mac address.

    If the entry is not found in the env ".flags", then look in the static
    one. This allows the env to override the static definitions, but prevents
    the need to have every definition in the environment distracting you.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • Add support for per-variable callbacks to the "hashtable" functions.

    Signed-off-by: Joe Hershberger

    !!!fix comment in callback

    Joe Hershberger
     
  • When printing all variables with env print, don't print variables that
    begin with '.'. If env print is called with a '-a' switch, then
    include variables that begin with '.' (just like the ls command).

    Variables printed explicitly will be printed even without the -a.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • Move the read of the old value to inside the check function. In some
    cases it can be avoided all together and at the least the code is only
    called from one place.

    Also name the function and the callback to more clearly describe what
    it does.

    Pass the ENTRY instead of just the name for direct access to the whole
    data structure.

    Pass an enum to the callback that specifies the operation being approved.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • The same chunk of code was replicated in two places and the following
    changes will make that chunk grow a bit, so combine into a static func.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • Use a flag in hsearch_r for insert mode passed from import to allow the
    behavior be different based on use.

    Now that "do_check" is called for all imports, ensure console init is
    complete before updating the console on relocation import

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • isspace() and strim() are not in the typical user-mode string.h, so
    put them in a separate compilation unit so that they can be built into
    tools that need them independent of the other common string functions.

    This allows code shared by u-boot and the linux user-mode tools to link.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • The ustrtoul shall convert string defined size (e.g. 1GiB) to unsigned
    long type (as its name implies).

    Up till now it had returned int, which might cause problems with large
    numbers (GiB range), when interpreted as U2 signed numbers.

    Signed-off-by: Lukasz Majewski
    Signed-off-by: Kyungmin Park

    Lukasz Majewski
     

12 Dec, 2012

3 commits


07 Dec, 2012

3 commits


19 Nov, 2012

2 commits

  • Add support for the LCD peripheral at the Tegra2 SOC level. A separate
    LCD driver will use this functionality to configure the display.

    Signed-off-by: Mayuresh Kulkarni
    Mayuresh Kulkarni:
    - changes to remove bitfields and clean up for submission

    Signed-off-by: Simon Glass
    Simon Glass:
    - simplify code, move clock control into here, clean-up
    Signed-off-by: Tom Warren

    Wei Ni
     
  • The pulse width/frequency modulation peripheral supports generating
    a repeating pulse. It is useful for controlling LCD brightness.

    Signed-off-by: Simon Glass
    Signed-off-by: Tom Warren

    Simon Glass
     

13 Nov, 2012

9 commits


05 Nov, 2012

2 commits

  • vsprintf.c:31:12: warning: symbol 'hex_asc' was not declared. Should it be static?
    vsprintf.c:398:18: warning: Using plain integer as NULL pointer

    Signed-off-by: Kim Phillips

    Kim Phillips
     
  • define Z_NULL to (void *)0 include/u-boot/zlib.h to get rid of most of
    the NULL pointer warnings.

    inflate.c:942:1: warning: non-ANSI definition of function 'inflateEnd'
    inflate.c:9:1: warning: non-ANSI definition of function 'inflateReset'
    inflate.c:12:17: warning: Using plain integer as NULL pointer
    inflate.c:12:42: warning: Using plain integer as NULL pointer
    inflate.c:15:17: warning: Using plain integer as NULL pointer
    inflate.c:21:19: warning: Using plain integer as NULL pointer
    inflate.c:35:1: warning: non-ANSI definition of function 'inflateInit2_'
    inflate.c:38:20: warning: Using plain integer as NULL pointer
    inflate.c:41:17: warning: Using plain integer as NULL pointer
    inflate.c:42:17: warning: Using plain integer as NULL pointer
    inflate.c:50:18: warning: Using plain integer as NULL pointer
    inflate.c:65:23: warning: Using plain integer as NULL pointer
    inflate.c:69:21: warning: Using plain integer as NULL pointer
    inflate.c:78:1: warning: non-ANSI definition of function 'inflateInit_'
    inflate.c:86:1: warning: non-ANSI definition of function 'fixedtables'
    inflate.c:108:26: warning: Using plain integer as NULL pointer
    inflate.c:109:1: warning: non-ANSI definition of function 'updatewindow'
    inflate.c:112:30: warning: Using plain integer as NULL pointer
    inflate.c:339:1: warning: non-ANSI definition of function 'inflate'
    inflate.c:349:17: warning: Using plain integer as NULL pointer
    inflate.c:349:42: warning: Using plain integer as NULL pointer
    inflate.c:350:27: warning: Using plain integer as NULL pointer
    inflate.c:369:42: warning: Using plain integer as NULL pointer
    inflate.c:376:32: warning: Using plain integer as NULL pointer
    inflate.c:401:54: warning: Using plain integer as NULL pointer
    inflate.c:419:32: warning: Using plain integer as NULL pointer
    inflate.c:426:32: warning: Using plain integer as NULL pointer
    inflate.c:433:32: warning: Using plain integer as NULL pointer
    inflate.c:444:36: warning: Using plain integer as NULL pointer
    inflate.c:449:37: warning: Using plain integer as NULL pointer
    inflate.c:450:38: warning: Using plain integer as NULL pointer
    inflate.c:457:40: warning: Using plain integer as NULL pointer
    inflate.c:458:47: warning: Using plain integer as NULL pointer
    inflate.c:480:40: warning: Using plain integer as NULL pointer
    inflate.c:481:50: warning: Using plain integer as NULL pointer
    inflate.c:491:37: warning: Using plain integer as NULL pointer
    inflate.c:492:37: warning: Using plain integer as NULL pointer
    inflate.c:501:40: warning: Using plain integer as NULL pointer
    inflate.c:502:53: warning: Using plain integer as NULL pointer
    inflate.c:512:37: warning: Using plain integer as NULL pointer
    inflate.c:513:40: warning: Using plain integer as NULL pointer
    inflate.c:525:32: warning: Using plain integer as NULL pointer
    inflate.c:529:52: warning: Using plain integer as NULL pointer
    inflate.c:543:54: warning: Using plain integer as NULL pointer
    inflate.c:932:17: warning: Using plain integer as NULL pointer
    inflate.c:932:42: warning: Using plain integer as NULL pointer
    inflate.c:935:26: warning: Using plain integer as NULL pointer
    inflate.c:940:19: warning: Using plain integer as NULL pointer
    adler32.c:58:5: warning: non-ANSI definition of function 'adler32'
    adler32.c:81:16: warning: Using plain integer as NULL pointer
    zutil.c:53:9: warning: non-ANSI definition of function 'zcalloc'
    zutil.c:64:9: warning: non-ANSI definition of function 'zcfree'
    inffast.c:70:1: warning: non-ANSI definition of function 'inflate_fast'
    inftrees.c:33:1: warning: non-ANSI definition of function 'inflate_table'

    Signed-off-by: Kim Phillips

    Kim Phillips
     

03 Nov, 2012

1 commit

  • The %p format of printf() would print a pointer to address null as
    "(null)". This makes sense in a real OS where a NULL pointer must
    never be dereferenced, but this is a bootloader, and there are cases
    where accessing the data at address null makes perfect sense.

    Remove the special case in lib/vsprintf.c using "#if 0" with a comment
    to make clear this was an intentional change and to stop re-adding
    this code.

    Signed-off-by: Wolfgang Denk
    Acked-by: Joe Hershberger

    Wolfgang Denk
     

23 Oct, 2012

1 commit


16 Oct, 2012

5 commits

  • The libfdt read/write functions are now usable enough that it's become a
    moderately common pattern to use them to build and manipulate a device
    tree from scratch. For example, we do so ourself in our rw_tree1 testcase,
    and qemu is starting to use this model when building device trees for some
    targets such as e500.

    However, the read/write functions require some sort of valid tree to begin
    with, so this necessitates either having a trivial canned dtb to begin with
    or, more commonly, creating an empty tree using the serial-write functions
    first.

    This patch adds a helper function which uses the serial-write functions to
    create a trivial, empty but complete and valid tree in a supplied buffer,
    ready for manipulation with the read/write functions.

    Signed-off-by: David Gibson

    From git://git.jdl.com/software/dtc.git patch hash be6026838 with
    adaptations to include/libfdt.h and lib/libfdt/Makefile for the U-Boot
    environment.

    Signed-off-by: Gerald Van Baren

    Gerald Van Baren
     
  • Some properties may contain multiple values, these values may need
    to be added to the property respectively. this patch provides this
    functionality. The main purpose of fdt_append_prop() is to append
    the values to a existing property, or create a new property if it
    dose not exist.

    Signed-off-by: Minghuan Lian
    Signed-off-by: David Gibson

    Minghuan Lian
     
  • This fixes warnings when compiling with ELDK-5.2.1 for MIPS64:

    vsprintf.c: In function 'put_dec':
    vsprintf.c:258:9: warning: comparison of distinct pointer types lacks a cast [enabled by default]
    vsprintf.c:258:3: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default]
    include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *'

    Signed-off-by: Daniel Schwierzeck

    Daniel Schwierzeck
     
  • Signed-off-by: Daniel Schwierzeck

    Daniel Schwierzeck
     
  • Under option -munaligned-access, gcc can perform local char
    or 16-bit array initializations using misaligned native
    accesses which will throw a data abort exception. Fix files
    where these array initializations were unneeded, and for
    files known to contain such initializations, enforce gcc
    option -mno-unaligned-access.

    Signed-off-by: Albert ARIBAUD
    [trini: Switch to usign call cc-option for -mno-unaligned-access as
    Albert had done previously as that's really correct]
    Signed-off-by: Tom Rini

    Albert ARIBAUD
     

02 Oct, 2012

1 commit

  • This patch adds support for networking in SPL. Some devices are
    capable of loading SPL via network so it makes sense to load the
    main U-Boot binary via network too. This patch tries to use
    existing network code as much as possible. Unfortunately, it depends
    on environment which in turn depends on other code so SPL size
    is increased significantly. No effort was done to decouple network
    code and environment so far.

    Signed-off-by: Ilya Yanok
    Acked-by: Joe Hershberger
    Signed-off-by: Tom Rini

    Ilya Yanok
     

29 Sep, 2012

3 commits