01 Nov, 2013

1 commit


15 Oct, 2013

1 commit


07 Sep, 2013

1 commit


24 Jul, 2013

2 commits


23 Jul, 2013

1 commit


22 Apr, 2013

1 commit

  • This patch adds the fast booting LWMON5 derivat "lcd4_lwmon5".
    Its a stripped down version of the full blown lwmon5 support,
    without ECC, USB, POST and some other stuff. It used the newly
    introduced SPL infrastrucure for SPL from NOR flash booting
    on the PPC4xx.

    By setting the environment variable "boot_os" to "yes", Linux
    will be started from the SPL version. If not, the "normal"
    U-Boot will be started.

    Signed-off-by: Stefan Roese

    Stefan Roese
     

04 Feb, 2013

2 commits


16 Oct, 2011

1 commit

  • The top level Makefile does not do any recursion into subdirs when
    cleaning, so these clean/distclean targets in random arch/board dirs
    never get used. Punt them all.

    MAKEALL didn't report any errors related to this that I could see.

    Signed-off-by: Mike Frysinger

    Mike Frysinger
     

13 May, 2011

1 commit

  • A large number of boards incorrectly used getenv() in their board init
    code running before relocation. In some cases this caused U-Boot to
    hang when certain environment variables grew too long.
    Fix the code to use getenv_r().

    Signed-off-by: Wolfgang Denk
    Cc: Stefan Roese
    Cc: The LEOX team
    Cc: Michael Schwingen
    Cc: Georg Schardt
    Cc: Werner Pfister
    Cc: Dirk Eibach
    Cc: Peter De Schrijver
    Cc: John Zhan
    Cc: Rishi Bhattacharya
    Cc: Peter Tyser

    Wolfgang Denk
     

17 Dec, 2010

1 commit

  • This patch includes the following changes for the lwmon5 board support:

    - Enable cache in SDRAM
    - Use common EHCI driver instead of the PPC4xx specific OHCI driver
    This can be done since only high-speed devices are connected.
    - Remove cached TLB entry again after ECC setup
    - Use correct define for cache enabling
    (CONFIG_4xx_DCACHE instead of CONFIG_SYS_ENABLE_SDRAM_CACHE)
    - Enable FIT image support

    Signed-off-by: Stefan Roese

    Stefan Roese
     

28 Nov, 2010

1 commit

  • This commit adapts 4xx boards for partial linking with --gc-sections.

    Signed-off-by: Stefan Roese
    Signed-off-by: Wolfgang Denk
    Cc: Stefan Roese
    Cc: Tirumala Marri
    Cc: David Updegraff
    Cc: Matthias Fuchs
    Cc: Dirk Eibach
    Cc: Larry Johnson
    Cc: Peter De Schrijver
    Cc: Niklaus Giger
    Cc: Daniel Poirot
    Acked-by: Stefan Roese

    Wolfgang Denk
     

18 Nov, 2010

1 commit

  • Before this commit, weak symbols were not overridden by non-weak symbols
    found in archive libraries when linking with recent versions of
    binutils. As stated in the System V ABI, "the link editor does not
    extract archive members to resolve undefined weak symbols".

    This commit changes all Makefiles to use partial linking (ld -r) instead
    of creating library archives, which forces all symbols to participate in
    linking, allowing non-weak symbols to override weak symbols as intended.
    This approach is also used by Linux, from which the gmake function
    cmd_link_o_target (defined in config.mk and used in all Makefiles) is
    inspired.

    The name of each former library archive is preserved except for
    extensions which change from ".a" to ".o". This commit updates
    references accordingly where needed, in particular in some linker
    scripts.

    This commit reveals board configurations that exclude some features but
    include source files that depend these disabled features in the build,
    resulting in undefined symbols. Known such cases include:
    - disabling CMD_NET but not CMD_NFS;
    - enabling CONFIG_OF_LIBFDT but not CONFIG_QE.

    Signed-off-by: Sebastien Carlier

    Sebastien Carlier
     

27 Oct, 2010

1 commit

  • CONFIG_SYS_GBL_DATA_SIZE has always been just a bad workarond for not
    being able to use "sizeof(struct global_data)" in assembler files.
    Recent experience has shown that manual synchronization is not
    reliable enough. This patch renames CONFIG_SYS_GBL_DATA_SIZE into
    GENERATED_GBL_DATA_SIZE which gets automatically generated by the
    asm-offsets tool. In the result, all definitions of this value can be
    deleted from the board config files. We have to make sure that all
    files that reference such data include the new file.

    No other changes have been done yet, but it is obvious that similar
    changes / simplifications can be done for other, related macro
    definitions as well.

    Signed-off-by: Wolfgang Denk
    Acked-by: Kumar Gala

    Wolfgang Denk
     

19 Oct, 2010

2 commits

  • Clean up Makefile, and drop a lot of the config.mk files on the way.

    We now also automatically pick all boards that are listed in
    boards.cfg (and with all configurations), so we can drop the redundant
    entries from MAKEALL to avoid building these twice.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     
  • The change is currently needed to be able to remove the board
    configuration scripting from the top level Makefile and replace it by
    a simple, table driven script.

    Moving this configuration setting into the "CONFIG_*" name space is
    also desirable because it is needed if we ever should move forward to
    a Kconfig driven configuration system.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

04 Oct, 2010

1 commit

  • This patch brings the lwmon5 board support up-to-date. Here a
    summary of the changes:

    lwmon5 board port related:
    - GPIO's changed to control the LSB transmitter
    - Reset USB PHY's upon power-up
    - Enable CAN upon power-up
    - USB init error workaround (errata CHIP_6)
    - EBC: Enable burstmode and modify the timings for the GDC memory
    - EBC: Speed up NOR flash timings

    lwmon5 board POST related:
    - Add FPGA memory test
    - Add GDC memory test
    - DSP POST reworked
    - SYSMON POST: Fix handling of negative temperatures
    - Add output for sysmon1 POST
    - HW-watchdog min. time test reworked

    Additionally some coding-style changes were done.

    Signed-off-by: Sascha Laue
    Signed-off-by: Stefan Roese

    Sascha Laue
     

23 Sep, 2010

3 commits


25 Jul, 2010

1 commit

  • Lots of code use this construct:

    cmd_usage(cmdtp);
    return 1;

    Change cmd_usage() let it return 1 - then we can replace all these
    ocurrances by

    return cmd_usage(cmdtp);

    This fixes a few places with incorrect return code handling, too.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

05 Jul, 2010

1 commit

  • The hush shell dynamically allocates (and re-allocates) memory for the
    argument strings in the "char *argv[]" argument vector passed to
    commands. Any code that modifies these pointers will cause serious
    corruption of the malloc data structures and crash U-Boot, so make
    sure the compiler can check that no such modifications are being done
    by changing the code into "char * const argv[]".

    This modification is the result of debugging a strange crash caused
    after adding a new command, which used the following argument
    processing code which has been working perfectly fine in all Unix
    systems since version 6 - but not so in U-Boot:

    int main (int argc, char **argv)
    {
    while (--argc > 0 && **++argv == '-') {
    /* ====> */ while (*++*argv) {
    switch (**argv) {
    case 'd':
    debug++;
    break;
    ...
    default:
    usage ();
    }
    }
    }
    ...
    }

    The line marked "====>" will corrupt the malloc data structures and
    usually cause U-Boot to crash when the next command gets executed by
    the shell. With the modification, the compiler will prevent this with
    an
    error: increment of read-only location '*argv'

    N.B.: The code above can be trivially rewritten like this:

    while (--argc > 0 && **++argv == '-') {
    char *arg = *argv;
    while (*++arg) {
    switch (*arg) {
    ...

    Signed-off-by: Wolfgang Denk
    Acked-by: Mike Frysinger

    Wolfgang Denk
     

19 Apr, 2010

1 commit

  • This patch adds new macros, with frequently used combinations of the
    4xx TLB access control and storage attibutes. Additionally the 4xx init.S
    files are updated to make use of these new macros. Resulting in easier
    to read TLB definitions.

    Additionally some init.S files are updated to use the mmu header for the
    TLB defines, instead of defining their own macros.

    Signed-off-by: Stefan Roese

    Stefan Roese
     

13 Apr, 2010

1 commit


19 Nov, 2009

3 commits

  • This patch removes the duplicted implementations of the pci_master_init()
    function by introducing a weak default function for it. It can be
    overridden by a board specific version.

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • This patch removes the duplicted implementations of the pci_pre_init()
    function by introducing a weak default function for it. This weak default
    has a different implementation for some PPC variants. It can be
    overridden by a board specific version.

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • This patch removes the duplicted implementations of the pci_target_init()
    function by introducing a weak default function for it. This weak default
    has a different implementation for 440EP(x)/GR(x) PPC's. It can be
    overridden by a board specific version (e.g. PMC440, korat).

    Signed-off-by: Stefan Roese
    Acked-by: Matthias Fuchs

    Stefan Roese
     

09 Nov, 2009

1 commit


02 Nov, 2009

1 commit


31 Oct, 2009

1 commit

  • To avoid board-specific code accessing the mb862xx registers directly,
    the public function mb862xx_probe() has been introduced. Furthermore,
    the "Change of Clock Frequency" and "Set Memory I/F Mode" registers
    are now defined by CONFIG_SYS_MB862xx_CCF and CONFIG_SYS_MB862xx__MMR,
    respectively. The BSPs for the socrates and lwmon5 boards have been
    adapted accordingly.

    Signed-off-by: Wolfgang Grandegger

    Wolfgang Grandegger
     

09 Oct, 2009

1 commit


07 Oct, 2009

1 commit


03 Oct, 2009

1 commit

  • The following changes allow U-Boot to fully relocate from flash to
    RAM:
    - Remove linker scripts' .fixup sections from the .text section
    - Add -mrelocatable to PLATFORM_RELFLAGS for all boards
    - Define CONFIG_RELOC_FIXUP_WORKS for all boards

    Previously, U-Boot would partially relocate, but statically initialized
    pointers needed to be manually relocated.

    Signed-off-by: Peter Tyser

    Peter Tyser
     

28 Sep, 2009

1 commit


11 Sep, 2009

1 commit

  • This patch cleans up multiple issues of the 4xx register (mostly
    DCR, SDR, CPR, etc) definitions:

    - Change lower case defines to upper case (plb4_acr -> PLB4_ACR)
    - Change the defines to better match the names from the
    user's manuals (e.g. cprpllc -> CPR0_PLLC)
    - Removal of some unused defines

    Please test this patch intensive on your PPC4xx platform. Even though
    I tried not to break anything and tested successfully on multiple
    4xx AMCC platforms, testing on custom platforms is recommended.

    Signed-off-by: Stefan Roese

    Stefan Roese
     

13 Jun, 2009

1 commit

  • Many of the help messages were not really helpful; for example, many
    commands that take no arguments would not print a correct synopsis
    line, but "No additional help available." which is not exactly wrong,
    but not helpful either.

    Commit ``Make "usage" messages more helpful.'' changed this
    partially. But it also became clear that lots of "Usage" and "Help"
    messages (fields "usage" and "help" in struct cmd_tbl_s respective)
    were actually redundant.

    This patch cleans this up - for example:

    Before:
    => help dtt
    dtt - Digital Thermometer and Thermostat

    Usage:
    dtt - Read temperature from digital thermometer and thermostat.

    After:
    => help dtt
    dtt - Read temperature from Digital Thermometer and Thermostat

    Usage:
    dtt

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

21 Mar, 2009

1 commit

  • A recent gcc added a new unaligned rodata section called '.rodata.str1.1',
    which needs to be added the the linker script. Instead of just adding this
    one section, we use a wildcard ".rodata*" to get all rodata linker section
    gcc has now and might add in the future.

    However, '*(.rodata*)' by itself will result in sub-optimal section
    ordering. The sections will be sorted by object file, which causes extra
    padding between the unaligned rodata.str.1.1 of one object file and the
    aligned rodata of the next object file. This is easy to fix by using the
    SORT_BY_ALIGNMENT command.

    This patch has not be tested one most of the boards modified. Some boards
    have a linker script that looks something like this:

    *(.text)
    . = ALIGN(16);
    *(.rodata)
    *(.rodata.str1.4)
    *(.eh_frame)

    I change this to:

    *(.text)
    . = ALIGN(16);
    *(.eh_frame)
    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))

    This means the start of rodata will no longer be 16 bytes aligned.
    However, the boundary between text and rodata/eh_frame is still aligned to
    16 bytes, which is what I think the real purpose of the ALIGN call is.

    Signed-off-by: Trent Piepho

    Trent Piepho
     

17 Mar, 2009

1 commit


28 Jan, 2009

1 commit

  • Remove command name from all command "usage" fields and update
    common/command.c to display "name - usage" instead of
    just "usage". Also remove newlines from command usage fields.

    Signed-off-by: Peter Tyser

    Peter Tyser