19 Nov, 2015

1 commit

  • Add a build target to generate 'boot.bin' which includes SPL. This is
    used by the platforms BootROM to load SPL directly.

    This change also conditionally changes what the 'boot.bin' target
    generates depending on the SoC. Leaving the behaviour unchanged for the
    AT91 targets.

    Signed-off-by: Nathan Rossi
    Signed-off-by: Michal Simek
    Cc: Tom Rini
    Cc: Andreas Bießmann
    Cc: Heiko Schocher
    Reviewed-by: Tom Rini

    Nathan Rossi
     

17 Nov, 2015

1 commit


11 Nov, 2015

1 commit


10 Nov, 2015

2 commits

  • After consulting with some of the SPDX team, the conclusion is that
    Makefiles are worth adding SPDX-License-Identifier tags too, and most of
    ours have one. This adds tags to ones that lack them and converts a few
    that had full (or in one case, very partial) license blobs into the
    equivalent tag.

    Cc: Kate Stewart
    Signed-off-by: Tom Rini

    Tom Rini
     
  • When building a Thumb-1-only target with CONFIG_SYS_THUMB_BUILD,
    some files fail to build, most of the time because they include
    mcr instructions, which only exist for Thumb-2.

    This patch introduces a Kconfig option CONFIG_THUMB2 and uses
    it to select between Thumb-2 and ARM mode for the aforementioned
    files.

    Signed-off-by: Albert ARIBAUD

    Albert ARIBAUD
     

27 Oct, 2015

1 commit

  • As QSPI and IFC are pin-multiplexed on LS1021A, only IFC is supported in
    SD boot now. For the customer's demand, QSPI needs to be supported in SD
    boot too.

    This patch adds QSPI or IFC support in SD boot according to the
    corresponding defconfig. For detail, ls1021atwr_sdcard_ifc_defconfig is
    used to support IFC in SD boot and ls1021atwr_sdcard_qspi_defconfig is
    used to support QSPI in SD boot.

    Signed-off-by: Alison Wang
    Reviewed-by: York Sun

    Alison Wang
     

22 Oct, 2015

1 commit


21 Oct, 2015

3 commits

  • Add U_BOOT_DMI_DATE (format mm/dd/yyyy) generation to be used by
    SMBIOS tables, as required by SMBIOS spec 3.0 [1]. See chapter 7.1,
    BIOS information structure offset 08h for details.

    [1] http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.0.0.pdf

    Signed-off-by: Bin Meng
    Acked-by: Simon Glass

    Bin Meng
     
  • This patch adds driver model support for some Marvell MVEBU SoC's. Including
    Armada XP and 38x. All 3 currently mainlined boards are converted. DM is now
    selected automatically for MVEBU platforms.

    With this DM support now available for MVEBU, hardcoding the base addresses
    and other information is not necessary any more. Probing should be done
    by using the values provided via the device tree now instead. For this
    the driver also need to be converted to DM. Patches for some of the drivers
    will follow.

    Signed-off-by: Stefan Roese
    Cc: Simon Glass
    Cc: Luka Perkov

    Stefan Roese
     
  • This patch enables the use of the kwboot tool, to boot mainline U-Boot
    on the Marvell Armada XP/38x SoC's. This is done by returning to the
    SoC's BootROM after SPL has initialized the SDRAM. We need to make sure
    to not reconfigure the internal register space and MBARs. Otherwise
    the BootROM will not be able to continue after SPL jumps back to it.

    To use this feature, please don't forget to change the BOOT_FROM line
    in your board specfic kwbimage.cfg file this way:

    BOOT_FROM uart

    Tested on these Marvell eval boards:
    DB-MV784MP-GP - Armada XP
    DB-88F6820-GP - Armada 38x

    Signed-off-by: Stefan Roese
    Cc: Dirk Eibach
    Cc: Kevin Smith
    Cc: Luka Perkov

    Stefan Roese
     

20 Oct, 2015

1 commit


12 Oct, 2015

1 commit


29 Sep, 2015

1 commit


07 Sep, 2015

1 commit


29 Aug, 2015

3 commits

  • The SOURCE_DATE_EPOCH mechanism for reproducible builds require some date(1)
    with -d switch to print the relevant date and time strings of another point of
    time.

    In other words it requires some date(1) that behaves like the GNU date(1) [1].
    The BSD date(1) [2] on the other hand has the same switch but with a different
    meaning.

    Respect this and check the date(1) abilities before usage, error on non
    working version. Use the well known pre- and suffixes for the GNU variant of
    a tool on *BSD hosts to search for a working date(1) version.

    [1] http://man7.org/linux/man-pages/man1/date.1.html [2]
    http://www.freebsd.org/cgi/man.cgi?query=date

    Signed-off-by: Andreas Bießmann

    Andreas Bießmann
     
  • Keystone has build rules introduced by commit ef509b9063fb7 ("k2hk: add
    support for k2hk SOC and EVM") and commit 0e7f2dbac6ead ("keystone: add
    support for NAND gpheader image").

    These are not reused by other platforms for the build, hence there is no
    clear benefit is maintaining them in the generic makefile as a build
    target. move these to the keystone specific make option

    Original idea of using config.mk by Lokesh Vutla

    Signed-off-by: Nishanth Menon
    Signed-off-by: Lokesh Vutla

    Nishanth Menon
     
  • When building with SOURCE_DATE_EPOCH the timezone is in UTC. When
    building normally the timezone is taken from the build machine's locale
    setting.

    Signed-off-by: Chris Packham
    Tested-by: Bin Meng
    Tested-by: Paul Kocialkowski
    Tested-by: Andreas Bießmann

    Chris Packham
     

26 Aug, 2015

1 commit

  • The Intel Firmware Support Package (FSP) requires that microcode be provided
    very early before the device tree can be scanned. We already support adding
    a pointer to the microcode data in a place where early init code can access.

    However this just points into the device tree and can only point to a single
    lot of microcode. For boards which may have different CPU types we must
    support multiple microcodes and pass all of them to the FSP in one place.

    Enhance ifdtool to scan all the microcode, place it together in the ROM and
    update the microcode pointer to point there. This allows us to pass multiple
    microcode blocks to the FSP using its existing API.

    Enable the flag in the Makefile so that this feature is used by default for
    all boards.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     

18 Aug, 2015

1 commit


08 Aug, 2015

2 commits

  • Add build target for generating boot partition images recognised by
    the SoCFPGA BootROM. The SoCFPGA BootROM expects four copies of the
    u-boot-spl-dtb.sfp at the beginning of boot partition. Those are
    u-boot-spl-dtb.bin augmented by a header with which the BootROM can
    work. The u-boot-dtb.img uImage is appended to this to produce a
    full boot partition image, the u-boot-with-spl-dtb.sfp . This is
    the name of the final target.

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • This patch enables the SDRAM controller that is used on Altera's SoCFPGA
    family. This patch configures the SDRAM controller based on a configuration
    file that is generated from the Quartus tool, sdram_config.h.

    Signed-off-by: Dinh Nguyen

    Dinh Nguyen
     

05 Aug, 2015

4 commits

  • Most EFI implementations use 64-bit. Add a way to build U-Boot as a 64-bit
    EFI payload. The payload unpacks a (32-bit) U-Boot and starts it. This can
    be enabled for x86 boards at present.

    Signed-off-by: Simon Glass
    Improvements to how the payload is built:
    Signed-off-by: Bin Meng
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     
  • It is useful to be able to load U-Boot onto a board even if is it already
    running EFI. This can allow access to the U-Boot command interface, flexible
    booting options and easier development.

    The easiest way to do this is to build U-Boot as a binary blob and have an
    EFI stub copy it into RAM. Add support for this feature, targeting 32-bit
    initially.

    Also add a way to detect when U-Boot has been loaded via a stub. This goes
    in common.h since it needs to be widely available so that we avoid redoing
    initialisation that should be skipped.

    Signed-off-by: Simon Glass
    Improvements to how the payload is built:
    Signed-off-by: Bin Meng
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     
  • Add support for building U-Boot as an EFI application with a .efi suffix.
    This can be loaded by EFI provided that EFI has the same bit width (32-
    or 64-bit) as U-Boot. This unfortunate limitation is imposed by EFI.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     
  • This is currently done for all targets, since 0xff is the default erased
    value for most flash devices. In some cases this is not what we want (e.g.
    for EFI images) so provide a command to do a vanilla objcopy.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     

03 Aug, 2015

1 commit


01 Aug, 2015

1 commit


31 Jul, 2015

1 commit

  • Secure Boot Target is added for NAND for P3041.
    For mpc85xx SoCs, the core begins execution from address 0xFFFFFFFC.
    In case of secure boot, this default address maps to Boot ROM.
    The Boot ROM code requires that the bootloader(U-boot) must lie
    in 0 to 3.5G address space i.e. 0x0 - 0xDFFFFFFF.

    In case of NAND Secure Boot, CONFIG_SYS_RAMBOOT is enabled and CPC is
    configured as SRAM. U-Boot binary will be located on SRAM configured
    at address 0xBFF00000.
    In the U-Boot code, TLB entries are created to map the virtual address
    0xFFF00000 to physical address 0xBFF00000 of CPC configured as SRAM.

    Signed-off-by: Saksham Jain
    Signed-off-by: Ruchika Gupta
    Signed-off-by: Aneesh Bansal
    Reviewed-by: York Sun

    Aneesh Bansal
     

28 Jul, 2015

3 commits

  • In order to achieve reproducible builds in U-Boot, timestamps that are defined
    at build-time have to be somewhat eliminated. The SOURCE_DATE_EPOCH environment
    variable allows setting a fixed value for those timestamps.

    Simply by setting SOURCE_DATE_EPOCH to a fixed value, a number of targets can be
    built reproducibly. This is the case for e.g. sunxi devices.

    However, some other devices might need some more tweaks, especially regarding
    the image generation tools.

    Signed-off-by: Paul Kocialkowski

    Paul Kocialkowski
     
  • Prior to this commit, it was impossible to use relative path to
    include Makefiles from the top level Makefile because the option
    "--include-dir=$(srctree)" becomes effective when Make enters into
    sub Makefiles.

    To use relative path in any places, this commit moves the option
    above the "sub-make" target.

    This was imported from Linux (commit a436bb7b8063) and adjusted for
    U-Boot.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     
  • Update some build scripts to match Linux 4.1. Commit-based syncing
    was done so as not to break U-Boot specific changes.
    The previous big sync was from Linux 3.18-rc1 by commit 176d09827725
    (kbuild: sync misc scripts with Linux 3.18-rc1).

    The commits imported from Linux (some with adjustments) are:

    [1] commit 9fb5e5372208973984a23ee6f5f025c05d364633
    Author: Robert Richter
    dts, kbuild: Factor out dtbs install rules to Makefile.dtbinst

    [2] commit 371fdc77af44f4cb32475fd499e1d912ccc30890
    Author: Masahiro Yamada
    kbuild: collect shorthands into scripts/Kbuild.include

    [3] commit a29b82326ed4eb5567b03c85b52c6891578d5a03
    Author: Michal Marek
    kbuild: Remove duplicate $(cmd) definition in Makefile.clean

    [4] commit 1846dfbde3e8a53f3673dcb1c1b79fd9b3f8d40d
    Author: Masahiro Yamada
    kbuild: remove redundant -rR flag of hdr-inst

    [5] commit 34948e0bbf98640fc1821751b01d2f0cd17d84d5
    Author: Michal Marek
    kbuild: Drop support for clean-rule

    [6] commit a16c5f99a28c9945165c46da27fff8e6f26f8736
    Author: Michal Marek
    kbuild: Fix removal of the debian/ directory

    [7] commit d0d38cd9e853db11e0242b3df4c9c3c4a663fbb4
    Author: Masahiro Yamada
    kbuild: use mixed-targets when two or more config targets are given

    [8] commit dd33c03b18b3f2db791eb6a17c37d2de66e4de18
    Author: Masahiro Yamada
    kbuild: fix cc-ifversion macro

    [9] commit 665d92e38f65d70796aad2b8e49e42e80815d4a4
    Author: Masahiro Yamada
    kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion

    [10] commit 6dcb4e5edf39e3b65a75ca76f087b2fdbee8a808
    Author: Masahiro Yamada
    kbuild: allow cc-ifversion to have the argument for false condition

    [11] commit c0a80c0c27e5e65b180a25e6c4c2f7ef9e386cd3
    Author: Heiko Carstens
    ftrace: allow architectures to specify ftrace compile options

    [12] commit 0b24becc810dc3be6e3f94103a866f214c282394
    Author: Andrey Ryabinin
    kasan: add kernel address sanitizer infrastructure

    [13] commit 4218affdf57f938c04e3a916a9685ee27079f377
    Author: Masahiro Yamada
    kbuild: remove warning about "make depend"

    [14] commit 77479b38e2f58890eb221a0418357502a5b41cd6
    Author: Nathan Rossi
    kbuild: Create directory for target DTB

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Robert Richter
    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrey Ryabinin
    Signed-off-by: Nathan Rossi
    Signed-off-by: Michal Simek
    Signed-off-by: Olof Johansson
    Signed-off-by: Michal Marek
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

23 Jul, 2015

2 commits


22 Jul, 2015

1 commit

  • The SPL device tree size must be minimised to save memory. Only include
    properties that are needed by SPL - this is determined by the presence
    of the "u-boot,dm-pre-reloc" property. Also remove a predefined list of
    unused properties from the nodes that remain.

    Signed-off-by: Simon Glass

    Simon Glass
     

15 Jul, 2015

2 commits


09 Jul, 2015

1 commit

  • -fdelete-null-pointer-checks flag controls global dataflow analyses and
    eliminate useless checks for null pointers; It assume that if a pointer is
    checked after it has already been dereferenced, it cannot be null.
    This flag is enabled by default.

    gcc v4.9 has more optimizations added to this option. Hence it is very
    aggressive with GCC v4.9 series. Add -fno-delete-null-pointer-checks to
    disable the optimization

    Signed-off-by: Rohit Dharmakan
    Signed-off-by: Prabhakar Kushwaha

    Prabhakar Kushwaha
     

30 Jun, 2015

1 commit


09 Jun, 2015

1 commit


28 May, 2015

1 commit

  • Since 741e58e0fc8e (Create a .cfg file containing the CONFIG options
    used to build), all the Blackfin boards fail to build if the parallel
    (-j) option is passed.

    $ make -s bf506f-ezkit_defconfig
    #
    # configuration written to .config
    #
    $ make -j8 CROSS_COMPILE=bfin-elf-
    scripts/kconfig/conf --silentoldconfig Kconfig
    CHK include/config.h
    UPD include/config.h
    GEN include/autoconf.mk
    GEN include/autoconf.mk.dep
    CHK include/config/uboot.release
    CHK include/generated/timestamp_autogenerated.h
    UPD include/generated/timestamp_autogenerated.h
    CFG u-boot.cfg
    include/asm-offsets.h:3:43: fatal error:
    generated/generic-asm-offsets.h: No such file or directory
    compilation terminated.
    make: *** [u-boot.cfg] Error 1

    When parsing header files for defined CONFIG options, DO_DEPS_ONLY
    must be defined to exclude generated headers that might not have
    been available yet.

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

    Masahiro Yamada