01 Dec, 2012

6 commits

  • We don't want this for coreboot, so provide a way of compiling it out.

    Signed-off-by: Gabe Black
    Signed-off-by: Stefan Reinauer
    Signed-off-by: Simon Glass

    Gabe Black
     
  • We want to support VGA, serial, USB keyboard and the Coreboot memory
    console buffer.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This command is useful to allow to observe messages generated by
    coreboot and u-boot until present. In particular it is handy when
    u-boot is instrumented to fall through into console mode on startup
    errors.

    Signed-off-by: Vadim Bendebury
    Signed-off-by: Simon Glass

    Vadim Bendebury
     
  • This patch builds upon the recently introduced CBMEM console
    feature of coreboot.

    CBMEM console uses a memry area allocated by coreboot to store
    the console output. The memory area has a certain structure,
    which allows to determine where the buffer is, the buffer size
    and the location of the pointer in the buffer. This allows
    different phases of the firmware (rom based coreboot, ram based
    coreboot, u-boot after relocation with this change) to keep
    adding text to the same buffer.

    Note that this patch introduces a new console driver and adds the
    driver to the list of drivers to be used for console output, i.e.
    it engages only after u-boot relocates. Usiong CBMEM console for
    capturing the pre-relocation console output will be done under a
    separate change.

    >From Linux, run the cbmem.py utility (which is a part of the coreboot
    package) to see the output, e.g.:

    vvvvvvvvvvvvvvvvv
    SCSI: AHCI 0001.0300 32 slots 6 ports ? Gbps 0xf impl SATA mode
    flags: 64bit ilck stag led pmp pio
    ...
    Magic signature found
    Kernel command line: "cros_secure quiet loglevel=1 console=tty2...
    ^^^^^^^^^^^^^^^^^

    Note that the entire u-boot output fits into the buffer only if
    the coreboot log level is reduced from the most verbose. Ether
    the buffer size will have to be increased, or the coreboot
    verbosity permanently reduced.

    Signed-off-by: Vadim Bendebury
    Signed-off-by: Simon Glass

    Vadim Bendebury
     
  • Add support for decoding tags for GPIOs, compile/build info, cbmem and
    other features.

    Signed-off-by: Stefan Reinauer
    Signed-off-by: Vadim Bendebury
    Signed-off-by: Gabe Black

    Signed-off-by: Simon Glass

    Simon Glass
     
  • sysinfo.c only contains the lib_sysinfo data structure which
    is used/filled by tables.c. This split was introduced by importing
    code from libpayload originally, but to keep the code simple, add
    the single line of actual code to tables.c

    Signed-off-by: Stefan Reinauer
    Signed-off-by: Simon Glass

    Stefan Reinauer
     

29 Nov, 2012

16 commits


28 Nov, 2012

18 commits

  • Tom Rini
     
  • Tom Rini
     
  • Fix a bug introduced by this patch
    powerpc/mpc85xx: Temporary fix for spin table backward compatibility

    Should have checked both CONFIG_PPC_SPINTABLE_COMPATIBLE and CONFIG_MP in
    cpu_init.c.

    Signed-off-by: York Sun
    Signed-off-by: Andy Fleming

    York Sun
     
  • The documented work-around for P4080 erratum SERDES-9 has been updated.
    It is now compatible with the work-around for erratum A-4580.

    This requires adding a few bitfield macros for the BnTTLCRy0 register.

    Signed-off-by: Timur Tabi
    Signed-off-by: Andy Fleming

    Timur Tabi
     
  • Due to SerDes configuration error, if we set the PCI-e controller link width
    as x8 in RCW and add a narrower width(such as x4, x2 or x1) PCI-e device to
    PCI-e slot, it fails to train down to the PCI-e device's link width. According
    to p4080ds errata PCIe-A003, we reset the PCI-e controller link width to x4 in
    u-boot. Then it can train down to x2 or x1 width to make the PCI-e link between
    RC and EP.

    Signed-off-by: Yuanquan Chen
    Signed-off-by: Andy Fleming

    Yuanquan Chen
     
  • board configuration file is included before asm/config_mpc85xx.h.
    however, CONFIG_FSL_SATA_V2 is defined in asm/config_mpc85xx.h.
    it will never take effective in the board configuration file for
    this kind of code :

    #ifdef CONFIG_FSL_SATA_V2
    ...
    #endif

    To solve this problem, move CONFIG_FSL_SATA_V2 to board
    configuration header file.

    This patch reverts Timur's
    commit:3e0529f742e893653848494ffb9f7cd0d91304bf

    Signed-off-by: Roy Zang
    Signed-off-by: Andy Fleming

    Zang Roy-R61911
     
  • The work-around for erratum A-004580 ("Internal tracking loop can falsely
    lock causing unrecoverable bit errors") is implemented via the PBI
    (pre-boot initialization code, typically attached to the RCW binary).
    This is because the work-around is easier to implement in PBI than in
    U-Boot itself.

    It is still useful, however, for the 'errata' command to tell us whether
    the work-around has been applied. For A-004580, we can do this by verifying
    that the values in the specific registers that the work-around says to
    update.

    This change requires access to the SerDes lane sub-structure in
    serdes_corenet_t, so we make it a named struct.

    Signed-off-by: Timur Tabi
    Signed-off-by: Andy Fleming

    Timur Tabi
     
  • by moving compat_strlist into the .bss section.

    0xfe004d80 fdt_fixup_crypto_node [u-boot]: 264

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

    Kim Phillips
     
  • Once u-boot sets the spin table to cache-enabled memory, old kernel which
    uses cache-inhibit mapping without coherence will not work properly. We
    use this temporary fix until kernel has updated its spin table code.
    For now this fix is activated by default. To disable this fix for new
    kernel, set environmental variable "spin_table_compat=no". After kernel
    has updated spin table code, this default shall be changed.

    Signed-off-by: York Sun
    Signed-off-by: Andy Fleming

    York Sun
     
  • P2041RDB uses common corenet TLB and LAW. However it doesn't have promjet
    connector. It is necessary to use the same base address for correct LAW
    address. An offset is added for NOR flash.

    Signed-off-by: York Sun
    Signed-off-by: Andy Fleming

    York Sun
     
  • Single rank UDIMM timing has been verified with HMT325U7BFR8C-H9 for speed
    800, 900, 1000, 1200, 1300MT/s.

    Signed-off-by: York Sun
    Signed-off-by: Andy Fleming

    York Sun
     
  • The work-around for erratum A-004849 ("CoreNet fabric (CCF) can exhibit a
    deadlock under certain traffic patterns causing the system to hang") is
    implemented via the PBI (pre-boot initialization code, typically attached
    to the RCW binary). This is because the work-around is easier to implement
    in PBI than in U-Boot itself.

    It is still useful, however, for the 'errata' command to tell us whether
    the work-around has been applied. For A-004849, we can do this by verifying
    that the values in the specific registers that the work-around says to
    update.

    Signed-off-by: Timur Tabi
    Signed-off-by: Andy Fleming

    Timur Tabi
     
  • The P5040DS reference board (a.k.a "Superhydra") is an enhanced version of
    P3041DS/P5020DS ("Hydra") reference board.

    Signed-off-by: Timur Tabi
    Signed-off-by: Shaohui Xie
    Signed-off-by: Andy Fleming

    Timur Tabi
     
  • The P5040 has an e5500 core, so CONFIG_SYS_PPC64 should be defined in
    config_mpc85xx.h. This macro was absent in the initial P5040 patch because
    it crossed paths with the patch that introduced the macro.

    Also delete CONFIG_SYS_FSL_ELBC_MULTIBIT_ECC, since it's not used in the
    upstream U-Boot. It's a holdover from the SDK.

    Signed-off-by: Timur Tabi
    Signed-off-by: Andy Fleming

    Timur Tabi
     
  • Move FMAN microcude from 0xEF000000 to 0xEFF40000 to free up the beginning
    of this virtual bank so that this bank can store RCW or be used together
    with other banks to store large images.

    Signed-off-by: York Sun
    Signed-off-by: Andy Fleming

    York Sun
     
  • At some point, a confusion arose about the use of the bit
    definitions in host_caps for bus widths, and the value
    in ext_csd. By coincidence, a simple shift could convert
    between one and the other:

    MMC_MODE_1BIT = 0, EXT_CSD_BUS_WIDTH_1 = 0
    MMC_MODE_4BIT = 0x100, EXT_CSD_BUS_WIDTH_4 = 1
    MMC_MODE_8BIT = 0x200, EXT_CSD_BUS_WIDTH_8 = 2

    However, as host_caps is a bitmask of supported things,
    there is not, in fact, a one-to-one correspondence. host_caps
    is capable of containing MODE_4BIT | MODE_8BIT, so nonsensical
    things were happening where we would try to set the bus width
    to 12.

    The new code clarifies the very different namespaces:

    host_caps/card_caps = bitmask (MMC_MODE_*)
    ext CSD fields are just an index (EXT_CSD_BUS_WIDTH_*)
    mmc->bus_width integer number of bits (1, 4, 8)

    We create arrays to map between the namespaces, like in Linux.

    Signed-off-by: Andy Fleming
    Tested-by: Jaehoon Chung
    Tested-by: Stephen Warren

    Andy Fleming
     
  • 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
     
  • If a malformed 'read' or 'write' command is issued, the Sandbox U-Boot
    can crash because the command-handling code does no error checking on
    the number of provided arguments.

    This change makes the mmc 'erase', 'read' and 'write' commands only
    function if the proper number of arguments are supplied.

    Also puts the else assignment at the beginning fo the if() statement
    to shortens the generated code. This removes an unnecessary jump from
    the generated code.

    Signed-off-by: Taylor Hutt
    Signed-off-by: Simon Glass
    Signed-off-by: Andy Fleming

    Taylor Hutt