summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2017-09-24tools/mkimage: Make the path to the dtc binary that mkimage calls configurableTom Rini
In some cases, such as FreeBSD, the path to an alternative dtc needs to be used. Rather than override the one given in the Makefile on the command line, make this part of the build configuration. Signed-off-by: Tom Rini <[email protected]>
2017-09-17Merge git://git.denx.de/u-boot-x86Tom Rini
2017-09-16tools: binman: Add a new entry type for Intel VBTBin Meng
This adds a new entry type for Intel Video BIOS Table. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-09-15dtoc: Add a header to the generated filesSimon Glass
Add a header that indicates that the files generated by dtoc should not be modified. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Support properties containing multiple phandle valuesSimon Glass
At present dtoc has a very simplistic view of phandles. It assumes that a property has only a single phandle with a single argument (i.e. two cells per property). This is not true in many cases. Enhance the implementation to scan all phandles in a property and to use the correct number of arguments (which can be 0, 1, 2 or more) when generating the C code. For the struct definitions, use a struct which can hold the maximum number of arguments used by the property. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Put phandle args in an arraySimon Glass
We want to support more than one phandle argument. It makes sense to use an array for this rather than discrete struct members. Adjust the code to support this. Rename the member to 'arg' instead of 'id'. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Put each phandle on a separate lineSimon Glass
When writing values from properties which contain phandles, dtoc currently writes 8 phandles per line. Change this to write one phandle per line. This helps reduce line length, since phandles are generally longer and may have arguments. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Rename the phandle structSimon Glass
Rather than naming the phandle struct according to the number of cells it uses (e.g. struct phandle_2_cell) name it according to the number of arguments it has (e.g. struct phandle_1_arg). This is a more intuitive naming. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Rename is_phandle() and adjust it to return more detailSimon Glass
Update this function to return more detail about a property that contains phandles. This will allow (in a future commit) more accurate handling of these properties. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Make is_phandle() a member functionSimon Glass
This function will need to have access to class members once we enhance it to support multiple phandle values. In preparation for that, move it into the class. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Use the Fdt's class's phandle mapSimon Glass
Now that the Fdt class can map phandles to the associated nodes, use that instead of a separate implementation. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Update the Fdt class to record phandlesSimon Glass
Add a map from phandles to nodes. This can be used by clients of the the class instead of maintaining this themselves. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Handle 'reg' properties with unusual sizesSimon Glass
At present dtoc assumes that all 'reg' properties have both an address and a size. For I2C devices we do not have this. Adjust dtoc to cope. Reported-by: Philipp Tomsich <[email protected]> Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Add support for 32 or 64-bit addressesSimon Glass
When using 32-bit addresses dtoc works correctly. For 64-bit addresses it does not since it ignores the #address-cells and #size-cells properties. Update the tool to use fdt64_t as the element type for reg properties when either the address or size is larger than one cell. Use the correct value so that C code can obtain the information from the device tree easily. Alos create a new type, fdt_val_t, which is defined to either fdt32_t or fdt64_t depending on the word size of the machine. This type corresponds to fdt_addr_t and fdt_size_t. Unfortunately we cannot just use those types since they are defined to phys_addr_t and phys_size_t which use 'unsigned long' in the 32-bit case, rather than 'unsigned int'. Add tests for the four combinations of address and size values (32/32, 64/64, 32/64, 64/32). Also update existing uses for rk3399 and rk3368 which now need to use the new fdt_val_t type. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Heiko Stuebner <[email protected]> Reported-by: Kever Yang <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Avoid very long lines in outputSimon Glass
Large arrays can result in lines with hundreds or thousands of characters which is not very editor-friendly. To avoid this, addjust the tool to group values 8 per line. Signed-off-by: Simon Glass <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Add a 64-bit type and a way to convert cells into 64 bitsSimon Glass
When dealing with multi-cell values we need a type that can hold this value. Add this and a function to process it from a list of cell values. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]> Tested-by: Philipp Tomsich <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-15dtoc: Adjust Node to record its parentSimon Glass
We need to be able to search back up the tree for #address-cells and #size-cells. Record the parent of each node to make this easier. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]> Tested-by: Philipp Tomsich <[email protected]> Tested-by: Kever Yang <[email protected]>
2017-09-14lib: at91: Add logo files used via API of DM_VIDEOWenyou Yang
In order to display the company's logo via the API of DM_VIDEO, and add the logo files of both Atmel and Microchip. Signed-off-by: Wenyou Yang <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-09-13patman: Fix error when the email blacklist is missingSimon Glass
This section of the settings file may be missing. Handle that gracefully rather than emitting an error. Also update patman to write this section when a new settings file is created. Fixes: e11aa602 (patman: add support for omitting bouncing addresses) Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Chris Packham <[email protected]> Tested-by: Bin Meng <[email protected]>
2017-09-12Merge git://git.denx.de/u-boot-fsl-qoriqTom Rini
2017-09-11patman: add support for omitting bouncing addressesChris Packham
Add support for reading a list of bouncing addresses from a in-tree file (doc/bounces) and from the ~/.patman config file. These addresses are stripped from the Cc list. Signed-off-by: Chris Packham <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected] <mailto:[email protected]>>
2017-09-11moveconfig: Use fd.write() instead of print >>Simon Glass
Adjust this code so that it can work with Python 2 and 3. Fixes: d73fcb1 (moveconfig: Support building a simple config database) Reported-by: Chris Packham <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2017-09-11genconfig.py: Print defconfig next to warningsSimon Glass
At present we sometimes see warnings of the form: /tmp/tmpMA89kB:36: warning: overriding the value of CMD_SPL. Old value: "y", new value: "y". This is not very useful as it does not show whch defconfig file it relates to. Update the tool to show this. Signed-off-by: Simon Glass <[email protected]>
2017-09-11tools: pblimage: Fix address calculationYork Sun
The image size should be added to the initial pbl command, not bit "ORed". Signed-off-by: York Sun <[email protected]>
2017-09-07tools: .gitignore: Add libfdt related filesBin Meng
Some files are generated during libfdt build. Ignore them. This was wrongly put in the .gitignore in the root directory before. Now let's remove entries there and put them in the right place. Fixes: 34e2c285 ("gitignore: add intermediates from libfdt build") Signed-off-by: Bin Meng <[email protected]>
2017-09-07tools: .gitignore: Sort in alphabetical orderBin Meng
These are currently out of alphabetical order. Signed-off-by: Bin Meng <[email protected]>
2017-09-05env: Add 'envtools' target to 'make help'Simon Glass
The target is not currently mentioned anywhere. Add it to the help so people can find it. Signed-off-by: Simon Glass <[email protected]>
2017-09-05env: Fix operation of 'make environ'Simon Glass
This was broken by the recent environment refactoring. Specifically: $ make environ scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. make: *** [Makefile:1469: environ] Error 2 Fix this by updating the Makefile and adjusting the #include filesnames in two C files. Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ') Reported-by: Måns Rullgård <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2017-09-05env: Fix out of tree building of tools-allTom Rini
With the move of environment code from common/ to env/ a number of changes needed to be made to various make targets. We missed updating some of the files required for out of tree builds of the tools. Correct the 'environ' target to know that we need to work under tools/env/ still (not tools/environ/) and then update the wrappers in env_attr.c and env_flags.c to point to the new correct file. Reported-by: Peter Robinson <[email protected]> Tested-by: Peter Robinson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2017-09-03Makefile: Suppress output of python libfdt build commandBin Meng
This should not be printed by default. Prefix it with $(Q). Fixes ee95d10b: ("fdt: Build the new python libfdt module") Signed-off-by: Bin Meng <[email protected]>
2017-09-03Makefile: Quiesce libfdt buildBin Meng
Since commit 3809e302 "Makefile: honor PYTHON configuration properly", the build commands of libfdt are printed while previously were not. This adds the missing '--quiet' back. Signed-off-by: Bin Meng <[email protected]>
2017-09-03fix: fw_env: Prevent writing error message on special files, which don't ↵Lukasz Majewski
support fsync According to fsync specification [1] some special files (e.g., a pipe, FIFO, or socket) don't support synchronization and return either EROFS or EINVAL. On the linux side the sys_fsync -> do_fsync() checks if the requested file has f_op->fsync defined. If not it returns EINVAL [2]. This commit prevents writing error messages for files (devices), which do not support fsync(). [1] - http://man7.org/linux/man-pages/man2/fsync.2.html [2] - http://elixir.free-electrons.com/linux/v4.13-rc6/source/fs/sync.c#L183 Signed-off-by: Lukasz Majewski <[email protected]> Acked-by: Michael Heimpold <[email protected]>
2017-08-23imx: move imximage header to common locationStefan Agner
Move the imximage.h header file to a common location so we can make use of it from U-Boot too. Signed-off-by: Stefan Agner <[email protected]> Reviewed-by: Łukasz Majewski <[email protected]>
2017-08-20Fix 'notes' typosAnatolij Gustschin
s/notes/nodes Signed-off-by: Anatolij Gustschin <[email protected]>
2017-08-20Makefile: honor PYTHON configuration properlyClément Bœsch
On some systems `python` is `python3` (for instance, Archlinux). The `PYTHON` variable can be used to point to `python2` to have a successful build. The use of `PYTHON` is currently limited in the Makefile and needs to be extended in other places: First, pylibfdt is required to be a Python 2 binding (binman imports pylibfdt and is only compatible Python 2), so its setup.py needs to be called accordingly. An alternative would be to change the libfdt setup.py shebang to python2, but the binding is actually portable. Also, it would break on system where there is no such thing as `python2`. Secondly, the libfdt import checks need to be done against Python 2 as well since the Python 2 compiled modules (in this case _libdft.so) can not be imported from Python 3. Note on the libfdt imports: "@if ! PYTHONPATH=tools $(PYTHON) -c 'import libfdt'; then..." is probably simpler than the currently sub-optimal pipe. Reviewed-by: Jonathan Gray <[email protected]>
2017-08-16env: Rename setenv() to env_set()Simon Glass
We are now using an env_ prefix for environment functions. Rename setenv() for consistency. Also add function comments in common.h. Suggested-by: Wolfgang Denk <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2017-08-15Move environment files from common/ to env/Simon Glass
About a quarter of the files in common/ relate to the environment. It seems better to put these into their own subdirectory and remove the prefix. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2017-08-13rockchip: rk3368: mkimage: add support for the RK3368Philipp Tomsich
This commit adds support for RK3368 SoC in mkimage. Signed-off-by: Philipp Tomsich <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-07-25mips-relocs: Fix warning from gcc 6.3Paul Burton
It seems that gcc 6.3 at least is smart enough to warn about the _val variable being unassigned in the default case in the set_hdr_field() macro, but not smart enough to figure out that the default case is never taken. This results in warnings such as the following: pfx##hdr32[idx].field = _val; \ ^ ../tools/mips-relocs.c:51:11: note: _val was declared here uint64_t _val; \ ^ ../tools/mips-relocs.c:88:2: note: in expansion of macro set_hdr_field set_hdr_field(p, idx, field, val) ^~~~~~~~~~~~~ ../tools/mips-relocs.c:408:3: note: in expansion of macro set_phdr_field set_phdr_field(i, p_filesz, load_sz); ^~~~~~~~~~~~~~ ../tools/mips-relocs.c: In function main: ../tools/mips-relocs.c:77:25: warning: _val may be used uninitialized in this function [-Wmaybe-uninitialized] Avoid this by assigning _val = 0 in the default case, and asserting that we didn't actually hit it for good measure. For reference gcc 7.1.1 seems to be smart enough to not hit the above warning without this patch. Signed-off-by: Paul Burton <[email protected]> Fixes: 011dd93ca97a ("MIPS: Stop building position independent code") Cc: Daniel Schwierzeck <[email protected]> Cc: Tom Rini <[email protected]> Cc: [email protected]
2017-07-25MIPS: Stop building position independent codePaul Burton
U-Boot has up until now built with -fpic for the MIPS architecture, producing position independent code which uses indirection through a global offset table, making relocation fairly straightforward as it simply involves patching up GOT entries. Using -fpic does however have some downsides. The biggest of these is that generated code is bloated in various ways. For example, function calls are indirected through the GOT & the t9 register: 8f998064 lw t9,-32668(gp) 0320f809 jalr t9 Without -fpic the call is simply: 0f803f01 jal be00fc04 <puts> This is more compact & faster (due to the lack of the load & the dependency the jump has on its result). It is also easier to read & debug because the disassembly shows what function is being called, rather than just an offset from gp which would then have to be looked up in the ELF to discover the target function. Another disadvantage of -fpic is that each function begins with a sequence to calculate the value of the gp register, for example: 3c1c0004 lui gp,0x4 279c3384 addiu gp,gp,13188 0399e021 addu gp,gp,t9 Without using -fpic this sequence no longer appears at the start of each function, reducing code size considerably. This patch switches U-Boot from building with -fpic to building with -fno-pic, in order to gain the benefits described above. The cost of this is an extra step during the build process to extract relocation data from the ELF & write it into a new .rel section in a compact format, plus the added complexity of dealing with multiple types of relocation rather than the single type that applied to the GOT. The benefit is smaller, cleaner, more debuggable code. The relocate_code() function is reimplemented in C to handle the new relocation scheme, which also makes it easier to read & debug. Taking maltael_defconfig as an example the size of u-boot.bin built using the Codescape MIPS 2016.05-06 toolchain (gcc 4.9.2, binutils 2.24.90) shrinks from 254KiB to 224KiB. Signed-off-by: Paul Burton <[email protected]> Cc: Daniel Schwierzeck <[email protected]> Cc: [email protected] Reviewed-by: Daniel Schwierzeck <[email protected]> Tested-by: Daniel Schwierzeck <[email protected]>
2017-07-22RFC: moveconfig: Use toolchains from buildmanSimon Glass
It is annoying to have to set up and maintain two sets of toolchains, one for buildman and one for moveconfig. Adjust moveconfig to make use to buildman's toolchains. This should make things easier. One missing feature is the ability to specify the toolchain on the command line with a special environment variable, e.g. CROSS_COMPILE_ARM. I'm not sure if that is useful, but if it is it could be implemented in buildman. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]> Tested-by: Philipp Tomsich <[email protected]>
2017-07-22moveconfig: Tidy up imply flag parsingSimon Glass
Add an option to specify 'all' to enable all flags. Also print an error if an unrecognised flag is used. At present it just prints usage information which is not very helpful. Signed-off-by: Simon Glass <[email protected]>
2017-07-22dtc: mkimage: Add the possibility to specify DTCEmmanuel Vadot
FreeBSD recently switch to it's BSDL dtc. While it support most of the features of the GPL one it still lacks the incbin directive. Add the possibility to specify which dtc we want to use for compiling dts and generating fit image. Signed-off-by: Emmanuel Vadot <[email protected]> Acked-by: Simon Glass <[email protected]>
2017-07-22tools/fw_env: use fsync to ensure that data is physically storedMichael Heimpold
Closing a file descriptor does not guarantee that the data has been successfully saved to disk, as the kernel might defer the write. Signed-off-by: Michael Heimpold <[email protected]>
2017-07-18Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2017-07-12imx: reorganize IMX code as other SOCsStefano Babic
Change is consistent with other SOCs and it is in preparation for adding SOMs. SOC's related files are moved from cpu/ to mach-imx/<SOC>. This change is also coherent with the structure in kernel. Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]> CC: Akshay Bhat <[email protected]> CC: Ken Lin <[email protected]> CC: Marek Vasut <[email protected]> CC: Heiko Schocher <[email protected]> CC: "Sébastien Szymanski" <[email protected]> CC: Christian Gmeiner <[email protected]> CC: Stefan Roese <[email protected]> CC: Patrick Bruenn <[email protected]> CC: Troy Kisky <[email protected]> CC: Nikita Kiryanov <[email protected]> CC: Otavio Salvador <[email protected]> CC: "Eric Bénard" <[email protected]> CC: Jagan Teki <[email protected]> CC: Ye Li <[email protected]> CC: Peng Fan <[email protected]> CC: Adrian Alonso <[email protected]> CC: Alison Wang <[email protected]> CC: Tim Harvey <[email protected]> CC: Martin Donnelly <[email protected]> CC: Marcin Niestroj <[email protected]> CC: Lukasz Majewski <[email protected]> CC: Adam Ford <[email protected]> CC: "Albert ARIBAUD (3ADEV)" <[email protected]> CC: Boris Brezillon <[email protected]> CC: Soeren Moch <[email protected]> CC: Richard Hu <[email protected]> CC: Wig Cheng <[email protected]> CC: Vanessa Maegima <[email protected]> CC: Max Krummenacher <[email protected]> CC: Stefan Agner <[email protected]> CC: Markus Niebel <[email protected]> CC: Breno Lima <[email protected]> CC: Francesco Montefoschi <[email protected]> CC: Jaehoon Chung <[email protected]> CC: Scott Wood <[email protected]> CC: Joe Hershberger <[email protected]> CC: Anatolij Gustschin <[email protected]> CC: Simon Glass <[email protected]> CC: "Andrew F. Davis" <[email protected]> CC: "Łukasz Majewski" <[email protected]> CC: Patrice Chotard <[email protected]> CC: Nobuhiro Iwamatsu <[email protected]> CC: Hans de Goede <[email protected]> CC: Masahiro Yamada <[email protected]> CC: Stephen Warren <[email protected]> CC: Andre Przywara <[email protected]> CC: "Álvaro Fernández Rojas" <[email protected]> CC: York Sun <[email protected]> CC: Xiaoliang Yang <[email protected]> CC: Chen-Yu Tsai <[email protected]> CC: George McCollister <[email protected]> CC: Sven Ebenfeld <[email protected]> CC: Filip Brozovic <[email protected]> CC: Petr Kulhavy <[email protected]> CC: Eric Nelson <[email protected]> CC: Bai Ping <[email protected]> CC: Anson Huang <[email protected]> CC: Sanchayan Maity <[email protected]> CC: Lokesh Vutla <[email protected]> CC: Patrick Delaunay <[email protected]> CC: Gary Bisson <[email protected]> CC: Alexander Graf <[email protected]> CC: [email protected] Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2017-07-12tools/kwbimage: fix v1 header verificationBaruch Siach
The verify_header callback in kwbimage.c only verifies v0 headers checksum. Running 'mkimage -l' on a v1 image gives the following misleading output: GP Header: Size ae000000 LoadAddr 34160600 Implement support for v1 headers. For that, factor out the header checksum code to a separate main_hdr_checksum_ok() routine. This routine relies on the fact that the checksum field offset is the same in both v0 and v1 headers. With this patch applied 'mkimage -l' correctly identifies the image: Image Type: MVEBU Boot from sdio Image Image version:1 Data Size: 398904 Bytes = 389.55 KiB = 0.38 MiB Load Address: 007fffc0 Entry Point: 00800000 Signed-off-by: Baruch Siach <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2017-07-12tools/kwbimage.h: make offset marks style consistentBaruch Siach
The offset marking in kwbimage.h is inconsistent. main_hdr_v0 uses decimals, main_hdr_v1 uses hex without '0x' prefix, secure_hdr_v1 uses hex with '0x' prefix. Make all offset marks hex with '0x' prefix. Signed-off-by: Baruch Siach <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2017-07-12tools/kwbimage: update the list of SoCs using v1 headerBaruch Siach
Armada 38x also uses image header v1. Signed-off-by: Baruch Siach <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2017-07-11Merge git://git.denx.de/u-boot-dmTom Rini