summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeLines
* rockchip: Add support for the SPI imageSimon Glass2015-09-02-0/+119
| | | | | | | | | | | | The Rockchip boot ROM requires a particular file format for booting from SPI. It consists of a 512-byte header encoded with RC4, some padding and then up to 32KB of executable code in 2KB blocks, separated by 2KB empty blocks. Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be converted to this format. This allows booting from SPI flash on supported machines. Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: Add support for the SD imageSimon Glass2015-09-02-1/+103
| | | | | | | | | | | The Rockchip boot ROM requires a particular file format. It consists of 64KB of zeroes, a 512-byte header encoded with RC4, and then some executable code. Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be converted to this format. Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: Add the rkimage format to mkimageSimon Glass2015-09-02-0/+168
| | | | | | | | Rockchip SoCs require certain formats for code that they execute, The simplest format is a 4-byte header at the start of a binary file. Add support for this so that we can create images that the boot ROM understands. Signed-off-by: Simon Glass <sjg@chromium.org>
* mkimage: Allow the original file size to be recordedSimon Glass2015-09-02-0/+1
| | | | | | | | Allow the image handler to store the original input file size so that it can reference it later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* mkimage: Allow padding to any lengthSimon Glass2015-09-02-11/+12
| | | | | | | | At present there is an arbitrary limit of 4KB for padding. Rockchip needs more than that, so remove this restriction. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* buildman: Correct 'Series-cover-cc' detection logicSimon Glass2015-08-31-1/+1
| | | | | | This requires 'Series-cover_cc' at present which is incorrect. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
* tools/atmelimage.c: Fix warning when debug is enabledTom Rini2015-08-28-1/+1
| | | | | | | | | | Otherwise we get: tools/atmelimage.c:134:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ [-Wformat=] debug("atmelimage: interrupt vector #%d is 0x%08X\n", pos+1, ^ Reviewed-by: Andreas Bießmann <andreas.devel@googlemail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* kconfiglib: update to the latest versionUlf Magnusson2015-08-28-2252/+1906
| | | | | | | | | | | | | | | Corresponds to ba71a0e (Fix _parse_block() 'parent' documentation re. ifs.) from upstream, just adding the SPDX tag. Has performance improvements, code cleanup, Python 3 support, and various small fixes, including the following: - Unset user values when loading a zero-byte .config. (5e54e2c) - Ignore indented .config assignments. (f8a7510) - Do not require $srctree to be set for non-kernel projects. (d56e9c1) - Report correct locations in the presence of continuation lines. (0cebc87) Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
* patman: use -D option for git format-patchMasahiro Yamada2015-08-26-1/+1
| | | | | | | | This allows Patman to generate smaller patches for file removal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de>
* x86: ifdtool: Drop microcode from the device tree when collatingSimon Glass2015-08-26-2/+53
| | | | | | | | | | | | | | When ifdtool collates the microcode into one place it effectively creates a copy of the 'data' properties in the device tree microcode nodes. This is wasteful since we now have two copies of the microcode in the ROM. To avoid this, remove the microcode data from the device tree and shrink it down. This means that there is only one copy and the overall ROM space used by the microcode does not increase. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* x86: ifdtool: Support collating microcode into one placeSimon Glass2015-08-26-10/+55
| | | | | | | | | | | | | | | | | | | | | 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 <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* x86: ifdtool: Split microcode linking into its own functionSimon Glass2015-08-26-27/+78
| | | | | | | | | | | The code to set up the microcode pointer in the ROM shares almost nothing with the write_uboot() function. Move it into its own function so it will be easier to extend. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* x86: ifdtool: Check that U-Boot does not overlap other regionsSimon Glass2015-08-26-11/+22
| | | | | | | | | | Since U-Boot and its device tree can grow we should check that it does not overlap the regions above it. Track the ROM offset that U-Boot reaches and check that other regions (written after U-Boot) do not interfere. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* logos: add Toradex logoStefan Agner2015-08-13-0/+0
| | | | | | | | | | | | | | Use the boot loader splash screen from WinCE which matches our wallpapers position wise. Although the logo is an 8-bit indexed BMP as well colours looked odd at first in U-Boot. After converting to full RGB palette and converting back to an indexed BMP using imagemagick the Logo showed up properly. $ convert tools/logos/toradex-rgb.bmp -type Palette -colors 256 \ -compress none -verbose BMP3:tools/logos/toradex.bmp Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
* gitignore: Add defconfig and fdtgrepBin Meng2015-08-05-0/+1
| | | | | | | Ignore defconfig and tools/fdtgrep. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini2015-08-02-27/+94
|\
| * imx: imximage: add new CHECK/CLR BIT commandAdrian Alonso2015-07-26-27/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Extend imximage DCD version 2 to support DCD commands CMD_WRITE_CLR_BIT 4 [address] [mask bit] means: while ((*address & ~mask) != 0); CMD_CHECK_BITS_SET 4 [address] [mask bit] means: while ((*address & mask) != mask); CMD_CHECK_BITS_CLR 4 [address] [mask bit] means: *address = *address & ~mask; * Add set_dcd_param_v2 helper function to set DCD command parameters Signed-off-by: Adrian Alonso <aalonso@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
| * Merge branch 'master' of git://git.denx.de/u-bootStefano Babic2015-07-17-2/+2
| |\
| * | tools: mkimage: fix imximage header sizeAlbert ARIBAUD \(3ADEV\)2015-07-10-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | imximage header size is 4-byte, not 8-byte aligned. This produces .imx images that a Vybrid cannot boot on. Fix by adding a "padding" field in header. Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
* | | patman: Don't run patman when it is imported as a moduleSimon Glass2015-07-31-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 488d19c (patman: add distutils based installer) has the side effect of making patman run twice with each invocation. Fix this by checking for 'main program' invocation in patman.py. This is good practice in any case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Chris Packham <judge.packham@gmail.com>
* | | patman: add distutils based installerChris Packham2015-07-28-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make it easier to use patman on other projects add a distutils style installer. Now patman can be installed with cd u-boot/tools/patman && python setup.py install There are also the usual distutils options for creating source/binary distributions of patman. Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Chris Packham <judge.packham@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* | | buildman: Correct '--fetch-arch' command documentationBin Meng2015-07-28-2/+2
| | | | | | | | | | | | | | | | | | | | | The doc wrongly put sandbox in the '--fetch-arch' command. Remove it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* | | Reproducible U-Boot build support, using SOURCE_DATE_EPOCHPaul Kocialkowski2015-07-27-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <contact@paulk.fr>
* | | tools: remove mpc86x_clk toolMasahiro Yamada2015-07-27-207/+0
| | | | | | | | | | | | | | | | | | | | | | | | This is commented out in the Makefile for more than 10 years. I assume it is proof that this tool is unused. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Pantelis Antoniou <panto@intracom.gr>
* | | kwbimage: Rename CONFIG_SYS_SPI_U_BOOT_OFFS to CONFIG_SYS_U_BOOT_OFFSStefan Roese2015-07-24-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To use this offset for other boot device (like SDIO/MMC), lets rename it to a more generic name. This will be used be the SDIO/MMC SPL boot support for the A38x. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Dirk Eibach <eibach@gdsys.de>
* | | kwbimage: Add support for SDIO/MMC boot device selectionStefan Roese2015-07-24-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support to select the "sdio" as boot device in the kwbimage.cfg file. This line selects this SDIO device: BOOT_FROM sdio Tested on Marvell DB-88F6820-GP board. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Dirk Eibach <eibach@gdsys.de>
* | | mkimage: Set up a file size parameter and keep it updatedSimon Glass2015-07-21-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some functions called by mkimage would like to know the output file size. Initially this is the same as the input file size, but it may be affected by adding headers, etc. Add this information to the image parameters. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* | | fdt: Add fdtgrep toolSimon Glass2015-07-21-1/+1239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tool allows us to extract subsets of a device tree file. It is used by the SPL vuild, which needs to cut down the device tree size for use in limited memory. This tool was originally written for libfdt but it has not been accepted upstream, so for now, include it in U-Boot. Several utilfdt library functions been included inline here. If fdtgrep is eventually accepted in libfdt then we can bring that version of libfdt in here, and drop fdtgrep (requiring that fdtgrep is provided by the user). If it is not accepted then another approach would be to write a special tool for chopping down device tree files for SPL. While it would use the same libfdt support, it would be less code than fdtgrep.c because it would not have general-purpose functions. Another approach (which was used with v1 of this series) is to sprinkler all the device tree files with #ifdef. I don't like that idea. Signed-off-by: Simon Glass <sjg@chromium.org>
* | | mkimage: Display a better list of available image typesSimon Glass2015-07-21-7/+52
| |/ |/| | | | | | | | | | | | | | | | | | | Offer to display the available image types in help. Also, rather than hacking the genimg_get_type_id() function to display a list of types, do this in the tool. Also, sort the list. The list of image types is quite long, and hard to discover. Print it out when we show help information. Signed-off-by: Simon Glass <sjg@chromium.org>
* | tools: ifdtool: Write correct offset on 32-bit machineBin Meng2015-07-14-1/+1
| | | | | | | | | | | | | | | | | | | | | | On 32-bit machine strtol() returns LONG_MAX which is 0x7fffffff, which is wrong for u-boot.rom components like u-boot-x86-16bit.bin. Change to use strtoll() so that it works on both 32-bit and 64-bit machines. Reported-by: Fei Wang <wangfei.jimei@gmail.com> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* | builderthread.py: Keep 'SPL'Tom Rini2015-07-14-1/+1
|/ | | | | | | | | On i.MX platforms the SPL binary is called "SPL" so make sure we keep that. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Simon Glass <sjg@chromium.org>
* tools/env/fw_env.h: Correct include orderPeter Robinson2015-06-18-1/+2
| | | | | | | | | | | | | | | When building tools-only (or env) we need to be sure that we do use <linux/kconfig.h> and do not use <generated/autoconf.h>. This will fix problems such as running 'make defconfig' or 'make sandbox_config' and then 'make tools-only'. Based on the responses below to the thread add linux/kconfig.h higher in the includes and drop the now unneeded autoconf.h lower down to ensure the default environment is included correctly http://lists.denx.de/pipermail/u-boot/2015-June/216849.html Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
* Merge git://git.denx.de/u-boot-marvellTom Rini2015-06-15-12/+24
|\
| * tools/kwboot: Add parameters to set delay and timeout via cmdlineStefan Roese2015-06-14-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support the Armada 38x, new values for the request-delay and the response-timeout are needed. As the values already implemented in this tool (for Kirkwood and Armada XP) don't seem to work here. To make this more flexible, lets add make those 2 parameters configurable via the cmdline. Here the new parameters: -q <req-delay>: use specific request-delay -s <resp-timeo>: use specific response-timeout For the Marvell DB-88F6820 these values are known to work: One board: -q 2 -s 1 2nd board: -q 5 -s 5 So this seems to be even board specific. But with this patch now those values can be specified and tested via the cmdline. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Kevin Smith <kevin.smith@elecsyscorp.com> Cc: Dirk Eibach <dirk.eibach@gdsys.cc> Cc: Luka Perkov <luka.perkov@sartura.hr>
| * tools/kwbimage.c: Correct header size for SPI bootKevin Smith2015-06-14-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | If defined, the macro CONFIG_SYS_SPI_U_BOOT_OFFS allows a board to specify the offset of the payload image into the kwb image file. This value was being used to locate the image, but was not used in the "header size" field of the main header. Move the use of this macro into the function that returns the header size so that the same value is used in all places. Signed-off-by: Kevin Smith <kevin.smith@elecsyscorp.com> Tested-by: Stefan Roese <sr@denx.de>
* | kconfiglib: sync with the latest in Kconfiglib projectMasahiro Yamada2015-06-12-7/+35
|/ | | | | | | | | | | | | | | | | | This commit imports some updates of kconfiglib.py from https://github.com/ulfalizer/Kconfiglib - Warn about and ignore the "allnoconfig_y" Kconfig option - Statements in choices inherit menu/if deps - Add Symbol.is_allnoconfig_y() - Hint that modules are still supported despite warnings. - Add warning related to get_defconfig_filename(). - Fix typo in docs. - Allow digits in $-references to symbols. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Philip Craig <philipjcraig@gmail.com> Signed-off-by: Jakub Sitnicki <jsitnicki@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* tools: ifdtool: Do not write region while its size is negativeBin Meng2015-06-04-1/+1
| | | | | | | | | We should ignore those regions whose size is negative. These are typically optional and unused regions (like GbE and platform data). Change-Id: I65ad01746144604a1dc0588b617af21f2722ebbf Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* sunxi/nand: change BLOCK_SIZE in mksunxiboot to match NAND block sizeDaniel Kochmański2015-05-29-1/+7
| | | | | | | | | | | This change is necessary to calculate correct checksum for NAND boot. Works both for MMC and NAND. Without it BROM rejects boot image as invalid (bad checksum). (Changes block size from 0x200 to 0x2000). Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu> Signed-off-by: Roy Spliet <r.spliet@ultimaker.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* tools: use pkg-config when available to get SSL flagsThomas Petazzoni2015-05-28-1/+2
| | | | | | | | | | | | | Instead of hardcoding -lssl -lcrypto as the flags needed to build mkimage with FIT signature enabled, use pkg-config when available. This allows to properly support cases where static linking is used, which requires linking with -lz, since OpenSSL uses zlib internally. We gracefully fallback on the previous behavior of hardcoding -lssl -lcrypto if pkg-config is not available or fails with an error. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* moveconfig: Print status about the processed defconfigsJoe Hershberger2015-05-27-5/+11
| | | | | | | This gives a basic idea about progress. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Add a switch to enable printing errorsJoe Hershberger2015-05-27-0/+8
| | | | | | | | | In some cases the build for the autoconf breaks. This outputs the errors following the status so that action can be taken without building again manually. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Print a message for missing compilerJoe Hershberger2015-05-27-8/+20
| | | | | | | | | | | | A common case for failed builds is a missing compiler. Print a message for that case to tell the user concisely which compiler was expected that was not found. This patch also has the effect of not printing build errors any longer. The next patch will add a switch to optionally bring that back. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Output a list of failed boardsJoe Hershberger2015-05-27-0/+4
| | | | | | | | If boards fail, output that list to a file so that it can easily be passed back into moveconfig.py using the -d option. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Cleanup headers in arch and boardJoe Hershberger2015-05-27-5/+6
| | | | | | | | Some config.h files live in arch and board directories. They will need to be cleaned up as well, so run the same filters there. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Add a switch to only cleanup headersJoe Hershberger2015-05-27-5/+12
| | | | | | | | In some case you may want to only cleanup the headers. Make it possible without waiting for all boards to compile. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Add a parameter to accept a list to buildJoe Hershberger2015-05-27-6/+20
| | | | | | | | This is helpful to re-attempt to move failed boards from a previous run without starting over. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Ignore duplicate configs when movingJoe Hershberger2015-05-27-0/+1
| | | | | | | | | | | | | | | | | When moving configs, it is important to know what was defined in the config header even if it duplicates the configs coming from Kconfig. This is specifically needed for the case where a config is set to default 'y' in the Kconfig. This would previously cause the actual value from the include config to be filtered out, and moveconfig.py would think that it was 'n'... This means that the value that should be 'y' is now (in every defconfig) set to 'not set'. tools/moveconfig.py now defines KCONFIG_IGNORE_DUPLICATES to prevent the filtering from happening and selecting wrong values for the defconfig. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* moveconfig: Always run savedefconfig on the moved configJoe Hershberger2015-05-27-9/+21
| | | | | | | | | | | | | | | This will ensure that the order of the defconfig entries will always match that of the Kconfig files. After one slightly painful (but still early in the process) pass over all boards, this should keep the defconfigs clean from here on. Users must edit the Kconfig first to add the menu entries and then run moveconfig.py to update the defconfig files and the include configs. As such, moveconfig.py cannot compare against the '.config' contents. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* tools: moveconfig: a tool to move CONFIGs from headers to defconfigsMasahiro Yamada2015-05-27-0/+853
| | | | | | | | | | | | | | | | | | | | | | | | | This tool was originally written for my local use to ease the task of tons of CONFIG moves, but there have been some requests for mainlining it. So, I have tidied up the code with nicer comments, and here it is. See the comment block of the script for usage. The first draft was http://patchwork.ozlabs.org/patch/430422/ Main updates are: - Adapted to the single .config configuration - Support colored log - Support moving multiple options at once (and take configs via input file only) - Continue even if some boards fail (Idea provided by Joe Hershberger) - Add more options - More comments and code cleanups Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: mxsboot: Calculate ECC strength dynamicallyJörg Krause2015-05-24-13/+22
| | | | | | | | Calculating the ECC strength dynamically to be aligned with the mxs NAND driver and the Linux Kernel. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Reviewed-by: Marek Vasut <marex@denx.de>