06 Oct, 2014

1 commit

  • Like many platforms, the Altera socfpga platform requires that the
    preloader be "signed" in a certain way or the built-in boot ROM will
    not boot the code.

    This change automatically creates an appropriately signed preloader
    from an SPL image.

    The signed image includes a CRC which must, of course, be generated
    with a CRC generator that the SoCFPGA boot ROM agrees with otherwise
    the boot ROM will reject the image.

    Unfortunately the CRC used in this boot ROM is not the same as the
    Adler CRC in lib/crc32.c. Indeed the Adler code is not technically a
    CRC but is more correctly described as a checksum.

    Thus, the appropriate CRC generator is added to lib/ as crc32_alt.c.

    Signed-off-by: Charles Manning
    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dinh Nguyen
    Cc: Albert Aribaud
    Cc: Tom Rini
    Cc: Wolfgang Denk
    Cc: Pavel Machek
    Acked-by: Pavel Machek

    V2: - Zap unused constant
    - Explicitly print an error message in case of error
    - Rework the hdr_checksum() function to take the *header directly
    instead of a plan buffer pointer

    Charles Manning
     

27 May, 2014

1 commit

  • The new atmelimage converts a machine code BLOB to bootable ROM image. Atmel
    ROM has no sophisticated image format, it only checks the first 7 ARM vectors.
    The vectors can contain valid B or LDR opcodes, the 6'th vector contains the
    image size to load.

    Additionally the PMECC header can be written by the atmelimage target. The
    parameters must be given via the -n switch as a coma separated list. For
    example:

    mkimage -T atmelimage \
    -n usePmecc=1,sectorPerPage=4,sectorSize=512,spareSize=64,eccBits=4,eccOffset=36 \
    -d spl/u-boot-spl.bin boot.bin

    A provided image can be checked for correct header setup. It prints out the
    PMECC header parameters if it has one and the 6'th interrupt vector content.

    ---88---

    A SPL binary modified with the atmelimage mkimage target was succesfully
    booted on a sama5d34ek via MMC and NAND.

    Signed-off-by: Andreas Bießmann
    Cc: Bo Shen
    Cc: Heiko Schocher
    Tested-by: Bo Shen

    Andreas Bießmann
     

18 Apr, 2014

1 commit


13 Dec, 2013

1 commit

  • In order to avoid duplicating code and keep only one point of modification,
    the functions, structs and defines useful for "dumpimage" were moved from
    "mkimage" to a common module called "imagetool".

    This modification also weakens the coupling between image types (FIT, IMX, MXS,
    and so on) and image tools (mkimage and dumpimage). Any tool may initialize the
    "imagetool" through register_image_tool() function, while the image types
    register themselves within an image tool using the register_image_type()
    function:

    +---------------+
    +------| fit_image |
    +--------------+ +-----------+ | +---------------+
    | mkimage |--------> | | | |
    Signed-off-by: Simon Glass

    Guilherme Maciel Ferreira