05 Mar, 2018

1 commit

  • Thomas reported U-Boot failed to build host tools if libfdt-devel
    package is installed because tools include libfdt headers from
    /usr/include/ instead of using internal ones.

    This commit moves the header code:
    include/libfdt.h -> include/linux/libfdt.h
    include/libfdt_env.h -> include/linux/libfdt_env.h

    and replaces include directives:
    #include -> #include
    #include -> #include

    Reported-by: Thomas Petazzoni
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

16 Aug, 2017

1 commit

  • We are now using an env_ prefix for environment functions. Rename these
    two functions for consistency. Also add function comments in common.h.

    Quite a few places use getenv() in a condition context, provoking a
    warning from checkpatch. These are fixed up in this patch also.

    Suggested-by: Wolfgang Denk
    Signed-off-by: Simon Glass

    Simon Glass
     

12 May, 2017

1 commit

  • With gcc-6 and later we see a warning about the fact that we have a
    construct of "if (test);\n\tstatement". Upon reviewing the code, the
    intention here is as the compiler suggests, we only want to execute the
    indented statement if the test was true.

    Cc: Sergei Poselenov
    Signed-off-by: Tom Rini

    Tom Rini
     

24 Sep, 2016

1 commit


04 Jun, 2016

1 commit


28 May, 2016

1 commit


19 Jan, 2016

1 commit

  • In a number of places we had wordings of the GPL (or LGPL in a few
    cases) license text that were split in such a way that it wasn't caught
    previously. Convert all of these to the correct SPDX-License-Identifier
    tag.

    Signed-off-by: Tom Rini

    Tom Rini
     

31 Mar, 2015

1 commit


21 Nov, 2014

1 commit

  • This function can fail if the device tree runs out of space. Rather than
    silently booting with an incomplete device tree, allow the failure to be
    detected.

    Unfortunately this involves changing a lot of places in the code. I have
    not changed behvaiour to return an error where one is not currently
    returned, to avoid unexpected breakage.

    Eventually it would be nice to allow boards to register functions to be
    called to update the device tree. This would avoid all the many functions
    to do this. However it's not clear yet if this should be done using driver
    model or with a linker list. This work is left for later.

    Signed-off-by: Simon Glass
    Acked-by: Anatolij Gustschin

    Simon Glass
     

25 Sep, 2014

1 commit

  • Since commit ddaf5c8f3030050fcd356a1e49e3ee8f8f52c6d4
    (patman: RunPipe() should not pipe stdout/stderr unless asked),
    Patman spits lots of "Invalid MAINTAINERS address: '-'"
    error messages for patches with global changes.
    It takes too long for Patman to process them.

    Anyway, "M: -" does not carry any important information.
    Rather, it is just like a place holder in case of assigning
    a new board maintainer. Let's comment out.

    This commit can be reproduced by the following command:

    find . -name MAINTAINERS | xargs sed -i -e '/^M:[[:blank:]]*-$/s/^/#/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

14 Sep, 2014

1 commit

  • Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME}
    are specified in arch/Kconfig.

    We can delete the ones in arch and board Kconfig files.

    This commit can be easily reproduced by the following command:

    find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e '
    /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ {
    N
    s/\n[[:space:]]*string//
    }
    '

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

26 Aug, 2014

1 commit

  • resync ubi subsystem with linux:

    commit 455c6fdbd219161bd09b1165f11699d6d73de11c
    Author: Linus Torvalds
    Date: Sun Mar 30 20:40:15 2014 -0700

    Linux 3.14

    A nice side effect of this, is we introduce UBI Fastmap support
    to U-Boot.

    Signed-off-by: Heiko Schocher
    Signed-off-by: Tom Rini
    Cc: Marek Vasut
    Cc: Sergey Lapin
    Cc: Scott Wood
    Cc: Joerg Krause

    Heiko Schocher
     

30 Jul, 2014

2 commits

  • We have switched to Kconfig and the boards.cfg file is going to
    be removed. We have to retrieve the board status and maintainers
    information from it.

    The MAINTAINERS format as in Linux Kernel would be nice
    because we can crib the scripts/get_maintainer.pl script.

    After some discussion, we chose to put a MAINTAINERS file under each
    board directory, not the top-level one because we want to collect
    relevant information for a board into a single place.

    TODO:
    Modify get_maintainer.pl to scan multiple MAINTAINERS files.

    Signed-off-by: Masahiro Yamada
    Suggested-by: Tom Rini
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • This commit adds:
    - arch/${ARCH}/Kconfig
    provide a menu to select target boards
    - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig
    set CONFIG macros to the appropriate values for each board
    - configs/${TARGET_BOARD}_defconfig
    default setting of each board

    (This commit was automatically generated by a conversion script
    based on boards.cfg)

    In Linux Kernel, defconfig files are located under
    arch/${ARCH}/configs/ directory.
    It works in Linux Kernel since ARCH is always given from the
    command line for cross compile.

    But in U-Boot, ARCH is not given from the command line.
    Which means we cannot know ARCH until the board configuration is done.
    That is why all the "*_defconfig" files should be gathered into a
    single directory ./configs/.

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

    Masahiro Yamada
     

26 Nov, 2013

2 commits


01 Nov, 2013

1 commit


21 Aug, 2013

1 commit

  • 85xx, 86xx PowerPC folders have code variables with CamelCase naming conventions.
    because of this code checkpatch script generates "WARNING: Avoid CamelCase".

    Convert variables name to normal naming convention and modify board, driver
    files with updated the new structure.

    Signed-off-by: Prabhakar Kushwaha
    Acked-by: York Sun

    Prabhakar Kushwaha
     

24 Jul, 2013

1 commit


28 Nov, 2012

1 commit

  • There were a number of shared files that were using
    CONFIG_SYS_MPC85xx_DDR_ADDR, or CONFIG_SYS_MPC86xx_DDR_ADDR, and
    several variants (DDR2, DDR3). A recent patchset added
    85xx-specific ones to code which was used by 86xx systems.
    After reviewing places where these constants were used, and
    noting that the type definitions of the pointers assigned to
    point to those addresses were the same, the cleanest approach
    to fixing this problem was to unify the namespace for the
    85xx, 83xx, and 86xx DDR address definitions.

    This patch does:

    s/CONFIG_SYS_MPC8.xx_DDR/CONFIG_SYS_MPC8xxx_DDR/g

    All 85xx, 86xx, and 83xx have been built with this change.

    Signed-off-by: Andy Fleming
    Tested-by: Andy Fleming
    Acked-by: Kim Phillips

    Andy Fleming
     

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
     

04 Oct, 2011

1 commit

  • nand.c:36: error: static declaration of 'nand_read_buf' follows non-static declaration
    /home/marex/u-boot/include/nand.h:139: error: previous declaration of 'nand_read_buf' was here

    Signed-off-by: Marek Vasut
    Cc: Scott Wood
    Signed-off-by: Scott Wood

    Marek Vasut
     

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
     

04 Apr, 2011

2 commits

  • Move fsl_ddr_get_spd into common mpc8xxx/ddr/main.c as most boards
    pretty much do the same thing. The only variations are in how many
    controllers or DIMMs per controller exist. To make this work we
    standardize on the names of the SPD_EEPROM_ADDRESS defines based on the
    use case of the board.

    We allow boards to override get_spd to either do board specific fixups
    to the SPD data or deal with any unique behavior of how the SPD eeproms
    are wired up.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • Every 85xx board implements fsl_ddr_get_mem_data_rate via get_ddr_freq()
    and every 86xx board uses get_bus_freq(). If implement get_ddr_freq()
    as a static inline to call get_bus_freq() we can remove
    fsl_ddr_get_mem_data_rate altogether and just call get_ddr_freq()
    directly.

    Signed-off-by: Kumar Gala

    Kumar Gala
     

14 Jan, 2011

2 commits

  • Correct initdram to use phys_size_t to represent the size of
    dram; instead of changing this all over the place, and correcting
    all the other random errors I've noticed, create a
    common initdram that is used by all non-corenet 85xx parts. Most
    of the initdram() functions were identical, with 2 common differences:

    1) DDR tlbs for the fixed_sdram case were set up in initdram() on
    some boards, and were part of the tlb_table on others. I have
    changed them all over to the initdram() method - we shouldn't
    be accessing dram before this point so they don't need to be
    done sooner, and this seems cleaner.

    2) Parts that require the DDR11 erratum workaround had different
    implementations - I have adopted the version from the Freescale
    errata document. It also looks like some of the versions were
    buggy, and, depending on timing, could have resulted in the
    DDR controller being disabled. This seems bad.

    The xpedite boards had a common/fsl_8xxx_ddr.c; with this
    change only the 517 board uses this so I have moved the ddr code
    into that board's directory in xpedite517x.c

    Signed-off-by: Becky Bruce
    Tested-by: Paul Gortmaker
    Signed-off-by: Kumar Gala

    Becky Bruce
     
  • This will help us go to a fixed initdram() for all 85xx boards going
    forward. sdram_setup() had an argument that it didn't need, since the
    value was #defined.

    Signed-off-by: Becky Bruce
    Signed-off-by: Kumar Gala

    Becky Bruce
     

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
     

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
     

19 Sep, 2010

1 commit


16 Jul, 2010

1 commit

  • Currently, 83xx, 86xx, and 85xx have a lot of duplicated code
    dedicated to defining and manipulating the LBC registers. Merge
    this into a single spot.

    To do this, we have to decide on a common name for the data structure
    that holds the lbc registers - it will now be known as fsl_lbc_t, and we
    adopt a common name for the immap layouts that include the lbc - this was
    previously known as either im_lbc or lbus; use the former.

    In addition, create accessors for the BR/OR regs that use in/out_be32
    and use those instead of the mismash of access methods currently in play.

    I have done a successful ppc build all and tested a board or two from
    each processor family.

    Signed-off-by: Becky Bruce
    Acked-by: Kim Phillips
    Signed-off-by: Kumar Gala

    Becky Bruce
     

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
     

25 Sep, 2009

1 commit

  • On 85xx platforms we shouldn't be using any LAWAR_* defines
    but using the LAW_* ones provided by fsl-law.h. Rename any such
    uses and limit the LAWAR_ to the 83xx platform as the only user so
    we will get compile errors in the future.

    Signed-off-by: Kumar Gala

    Kumar Gala
     

29 Aug, 2009

1 commit


04 Jun, 2009

1 commit

  • Several boards used different ways to specify the size of the
    protected area when enabling flash write protection for the sectors
    holding the environment variables: some used CONFIG_ENV_SIZE and
    CONFIG_ENV_SIZE_REDUND, some used CONFIG_ENV_SECT_SIZE, and some even
    a mix of both for the "normal" and the "redundant" areas.

    Normally, this makes no difference at all. However, things are
    different when you have to deal with boards that can come with
    different types of flash chips, which may have different sector
    sizes.

    Here we may have to chose CONFIG_ENV_SECT_SIZE such that it fits the
    biggest sector size, which may include several sectors on boards using
    the smaller sector flash types. In such a case, using CONFIG_ENV_SIZE
    or CONFIG_ENV_SIZE_REDUND to enable the protection may lead to the
    case that only the first of these sectors get protected, while the
    following ones aren't.

    This is no real problem, but it can be confusing for the user -
    especially on boards that use CONFIG_ENV_SECT_SIZE to protect the
    "normal" areas, while using CONFIG_ENV_SIZE_REDUND for the
    "redundant" area.

    To avoid such inconsistencies, I changed all sucn boards that I found
    to consistently use CONFIG_ENV_SECT_SIZE for protection. This should
    not cause any functional changes to the code.

    Signed-off-by: Wolfgang Denk
    Cc: Paul Ruhland
    Cc: Pantelis Antoniou
    Cc: Stefan Roese
    Cc: Gary Jennejohn
    Cc: Dave Ellis
    Acked-by: Stefan Roese

    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
     

20 Dec, 2008

1 commit

  • On newer CPUs, 8536, 8572, and 8610, the CLKDIV field of LCRR is five bits
    instead of four.

    In order to avoid an ifdef, LCRR_CLKDIV is set to 0x1f on all systems. It
    should be safe as the fifth bit was defined as reserved and set to 0.

    Code that was using a hard coded 0x0f is changed to use LCRR_CLKDIV.

    Signed-off-by: Trent Piepho
    Acked-by: Kumar Gala
    Acked-by: Jon Loeliger

    Trent Piepho
     

04 Dec, 2008

1 commit

  • since commit be0bd8234b9777ecd63c4c686f72af070d886517
    tlb entry for socrates DDR SDRAM will be reconfigured
    by setup_ddr_tlbs() from initdram() causing an
    inconsistency with previously configured DDR SDRAM tlb
    entry from tlb_table:

    socrates>l2cam 7 9
    IDX PID EPN SIZE V TS RPN U0-U3 WIMGE UUUSSS
    7 : 00 00000000 256MB V 0 -> 0_00000000 0000 -I-G- ---RWX
    8 : 00 00000000 256MB V 0 -> 0_00000000 0000 ----- ---RWX
    9 : 00 10000000 256MB V 0 -> 0_10000000 0000 ----- ---RWX

    This patch makes the presence of the DDR SDRAM tlb entry in
    the tlb_table dependent on CONFIG_SPD_EEPROM to avoid this
    inconsistency.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Andy Fleming

    Anatolij Gustschin
     

19 Nov, 2008

1 commit

  • Most of the bss initialization loop increments 4 bytes
    at a time. And the loop end is checked for an 'equal'
    condition. Make the bss end address aligned by 4, so
    that the loop will end as expected.

    Signed-off-by: Selvamuthukumar
    Signed-off-by: Wolfgang Denk

    Selvamuthukumar