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
     

19 Oct, 2008

2 commits


23 Sep, 2008

1 commit


13 Sep, 2008

1 commit


11 Sep, 2008

1 commit


09 Sep, 2008

2 commits

  • This patch adds Lime GDC support together with support for the PWM
    backlight control through the w83782d chip. The reset pin of the
    latter is attached to GPIO, so we need to reset it in
    early_board_init_r.

    Signed-off-by: Anatolij Gustschin

    Anatolij Gustschin
     
  • - Update the local bus ranges in the FDT for Linux for the various
    devices connected to the local bus via chip-select.

    - Set the LCRR_DBYP bit in the LCRR for local bus frequencies
    lower than 66 MHz and uses I/O accessor functions consequently.

    - UPM data update.

    - Update of default environment and configuration. Use I2C multibus
    as we do have two I2C buses. Also enable sdram and ext2 commands.

    Signed-off-by: Wolfgang Grandegger
    Signed-off-by: Sergei Poselenov
    Signed-off-by: Detlev Zundel

    Detlev Zundel
     

28 Aug, 2008

1 commit


14 Aug, 2008

1 commit


03 Jul, 2008

1 commit


29 Jun, 2008

1 commit


12 Jun, 2008

1 commit

  • This patch changes the return type of initdram() from long int to phys_size_t.
    This is required for a couple of reasons: long int limits the amount of dram
    to 2GB, and u-boot in general is moving over to phys_size_t to represent the
    size of physical memory. phys_size_t is defined as an unsigned long on almost
    all current platforms.

    This patch *only* changes the return type of the initdram function (in
    include/common.h, as well as in each board's implementation of initdram). It
    does not actually modify the code inside the function on any of the platforms;
    platforms which wish to support more than 2GB of DRAM will need to modify
    their initdram() function code.

    Build tested with MAKEALL for ppc, arm, mips, mips-el. Booted on powerpc
    MPC8641HPCN.

    Signed-off-by: Becky Bruce

    Becky Bruce
     

11 Jun, 2008

2 commits