summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-30fpga: virtex2: cosmetic: Cleanup code styleRobert Hancock
Address Checkpatch warnings in virtex2 code prior to making other changes. No functional change intended. Signed-off-by: Robert Hancock <hancock@sedsystems.ca> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30arm64: zynqmp: add support for Avnet UltraZed-EV Starter KitLuca Ceresoli
Avnet UltraZed-EV Starter Kit is composed by the UltraZed-EV SoM and the only publicly-available compatible carrier card. The SoM is based on the EV version of the Xilinx ZynqMP SoC+FPGA. The psu_init_gpl.c file has been generated from the board definition files at [0] using Vivado 2018.3 and then minimized by tools/zynqmp_psu_init_minimize.sh. Manually removed serdes init code since it is not mentioned in device tree and fixed a checkpatch error. [0] https://github.com/Avnet/bdf/tree/3686c9ff7d2f0467fb4fcf39f861b8d6ff183b12/ultrazed_7ev_cc/1.1 Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30tools: zynqmp_psu_init_minimize.sh: fix return lines coding styleLuca Ceresoli
Remove unneeded parenthess around return value. E.g.: return (0); -> return 0; Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30ARM: zynq: Add configuration for Z-turn boardAnton Gerasimov
Basic (PS-only) configuration based on Vivado board files by Sergiusz Bazanski <sergius@q3k.org> Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-07-30cmd: fpga: correct typo, capitalize "Xilinx"Robert P. J. Day
A couple minor tweaks to printed strings in cmd/fpga.c. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30arm64: zynqmp: add tool to minimize psu_init_gpl.c filesLuca Ceresoli
This script transforms a pair of psu_init_gpl.c and .h files produced by the Xilinx Vivado tool for ZynqMP into a smaller psu_init_gpl.c file that is almost checkpatch compliant. Based on a script by Michal Simek. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30arm64: zynqmp: xil_io.h: declare functions as staticLuca Ceresoli
Fixes sparse warnings when building zynqmp defconfigs: ./board/xilinx/zynqmp/xil_io.h:12:6: warning: symbol 'Xil_Out32' was not declared. Should it be static? ./board/xilinx/zynqmp/xil_io.h:17:5: warning: symbol 'Xil_In32' was not declared. Should it be static? ./board/xilinx/zynqmp/xil_io.h:22:6: warning: symbol 'usleep' was not declared. Should it be static? Also add __maybe_unused to usleep() since it is not used by minimized psu_init_gpl.c files, so it would warn as "defined but not used". Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30arm64: zynqmp: add tool to convert PMU config object .c to binaryLuca Ceresoli
The recently-added ZYNQMP_SPL_PM_CFG_OBJ_FILE option allows SPL to load a PMUFW configuration object from a binary blob. However the configuration object is produced by Xilinx proprietary tools as a C source file and no tool exists to easily convert it to a binary blob in an embedded Linux build system for U-Boot to use. Add a simple Python script to do the conversion. It is definitely not a complete C language parser, but it is enough to parse the known patterns generated by Xilinx tools, including: - defines - literal integers, optionally with a 'U' suffix - bitwise OR between them Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30arm64: zynqmp: spl: install a PMU firmware config object at runtimeLuca Ceresoli
Optionally allow U-Boot to load a configuration object into the Power Management Unit (PMU) firmware on Xilinx ZynqMP. The configuration object is required by the PMU FW to enable most SoC peripherals. So far the only way to boot using U-Boot SPL was to hard-code the configuration object in the PMU firmware. Allow a different boot process, where the PMU FW is equal for any ZynqMP chip and its configuration is passed at runtime by U-Boot SPL. All the code for Inter-processor communication with the PMU is isolated in a new file (pmu_ipc.c). The code is inspired by the same feature as implemented in the Xilinx First Stage Bootloader (FSBL) and Arm Trusted Firmware: * https://github.com/Xilinx/embeddedsw/blob/fb647e6b4c00f5154eba52a88b948195b6f1dc2b/lib/sw_apps/zynqmp_fsbl/src/xfsbl_misc_drivers.c#L295 * https://github.com/ARM-software/arm-trusted-firmware/blob/c48d02bade88b07fa7f43aa44e5217f68e5d047f/plat/xilinx/zynqmp/pm_service/pm_api_sys.c#L357 SPL logs on the console before loading the configuration object: U-Boot SPL 2019.07-rc1-00511-gaec224515c87 (May 15 2019 - 08:43:41 +0200) Loading PMUFW cfg obj (2008 bytes) EL Level: EL3 ... Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-30arm64: zynqmp: Rename zc1275 to zcu1275Michal Simek
Name of this platform has changed and released to customers that's why name has also changed. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Series-to: uboot
2019-07-30ARM: zynq: delete long-dead CONFIG_USB_CABLE_CHECKRobert P. J. Day
This Kbuild option disappeared way back in 2014: commit 75504e9592745021006cb8905b5ff5a51d9d1cb3 Author: Mateusz Zalega <m.zalega@samsung.com> Date: Wed Apr 30 13:07:48 2014 +0200 ... snip ... CONFIG_USB_CABLE_CHECK was removed. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-07-29Prepare v2019.10-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-29Merge tag 'dm-pull-29jul19' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-dm binman support for replacing files
2019-07-29Merge branch '2019-07-29-ti-imports'Tom Rini
- More DaVinci DM migration, drop am18xx EVM platform - Keystone bug fix
2019-07-29arm: mach-keystone: Use appended original image size in image processingAndrew F. Davis
When an image is signed/encrypted on K2 devices the image may get padded to meet alignment requirements for the signature/encryption type. The original size is appended as 4 bytes little-endian to the end of the final image. Normally the trailing extra bytes are ignored and so restoring the exact original size is not important. In the case of initrd the original size is important as the kernel uses it to look for additional filesystem data and can do the wrong thing when the size is not correct. Read off the original size and report it back from the image post processing stage. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-29configs: omapl138_lcdk: enable NAND self-init in SPLBartosz Golaszewski
Now that we have enabled the driver-model in SPL, we can remove the code disabling NAND self-init in SPL from the config include for omapl138-lcdk. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29davinci: omapl138-lcdk: enable driver-model in SPLBartosz Golaszewski
Enable CONFIG_SPL_DM and enable the driver model for serial by defining an appropriate device in the board file for da850-lcdk. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29davinci: omapl138-lcdk: remove unneeded includesBartosz Golaszewski
There's no SPI on da850-lcdk. Remove unnecessary includes. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29davinci: omapl138-lcdk: enable CONFIG_USE_TINY_PRINTFBartosz Golaszewski
We're working towards enabling the driver-model in SPL for da850-lcdk. Enable CONFIG_USE_TINY_PRINTF in defconfig to reduce SPL size. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29davinci: omapl138-lcdk: enable SPL_SYS_MALLOC_SIMPLEBartosz Golaszewski
We're working towards enabling the driver model in SPL for da850-lcdk. Enable SPL_SYS_MALLOC_SIMPLE in defconfig to reduce SPL size. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29davinci: da850-evm: enable driver model for NANDBartosz Golaszewski
Enable the driver-model on da850-evm. We need to add a dummy nand node to the device tree, as the real nand node is a sub-node of the aemif device. On linux the aemif driver populates all its child nodes, but we can't do it in u-boot currently. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
2019-07-29davinci: omapl138-lcdk: enable driver model for NANDBartosz Golaszewski
Enable the driver-model on da850-lcdk. We need to add a dummy nand node to the device tree, as the real nand node is a sub-node of the aemif device. On linux the aemif driver populates all its child nodes, but we can't do it in u-boot currently. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29nand: davinci: add support for driver modelBartosz Golaszewski
Extend the davinci NAND driver to support the driver model. For now this doesn't add any device-tree parsing due to the fact that we can't access the actual nand node on the device-tree - it's a subnode of the aemif device and we don't have an aemif driver on davinci at the moment. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29nand: davinci: make davinci_nand_init() staticBartosz Golaszewski
This function is only used within the driver itself. No need to export it. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2019-07-29omapl138_lcdk_defconfig: don't build support for SPIBartosz Golaszewski
The following warning is emited when building u-boot for da850-lcdk: ===================== WARNING ====================== This board does not use CONFIG_DM_SPI. Please update the board before v2019.04 for no dm conversion and v2019.07 for partially dm converted drivers. Failure to update can lead to driver/board removal See doc/driver-model/MIGRATION.txt for more info. ==================================================== ===================== WARNING ====================== This board does not use CONFIG_DM_SPI_FLASH. Please update the board to use CONFIG_SPI_FLASH before the v2019.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/MIGRATION.txt for more info. ==================================================== While we could fix it by selecting CONFIG_DM_SPI, there's no need to build it at all as SPI is disabled on da850-lcdk. Remove all unneeded options from the defconfig. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Acked-by: Heiko Schocher <hs@denx.de>
2019-07-29i2c: remove i2c driver-model compatibility layerBartosz Golaszewski
There are no more users of the compatibility layer for i2c. Remove the driver and all references to it. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Acked-by: Heiko Schocher <hs@denx.de>
2019-07-29sandbox: remove CONFIG_DM_I2C_COMPAT from defconfigsBartosz Golaszewski
There are no more "real" users of CONFIG_DM_I2C_COMPAT and we'll soon remove it altogether. Stop building it in sandbox mode. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Acked-by: Heiko Schocher <hs@denx.de>
2019-07-29davinci: remove CONFIG_DM_I2C_COMPAT from defconfigsBartosz Golaszewski
This option is no longer used on any davinci board but still selected in defconfigs which causes the following warning: ===================== WARNING ====================== This board uses CONFIG_DM_I2C_COMPAT. Please remove (possibly in a subsequent patch in your series) before sending patches to the mailing list. ==================================================== Remove all references to CONFIG_DM_I2C_COMPAT from davinci. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Acked-by: Heiko Schocher <hs@denx.de>
2019-07-29ARM: da850_am18xxevm: Remove config and referencesAdam Ford
This board has been abandonded for a while. I do not have this hardware and nobody has appeared to notice and/or care that it's orphaned. Since much of this code is inserted into the da850evm code base, removing it from support will make da850evm support easier going forward. This patch removes the da850_am18xxevm_defconfig, README references to this board and the reference to this board from the MAINTAINERS list. Signed-off-by: Adam Ford <aford173@gmail.com>
2019-07-29edid: fix edid_get_timing_validate() mode_valid lookupNeil Armstrong
Add a condition to the break in the modes lookup, without this when the first mode is not valid, then edid_get_timing_validate() return an error instead of checking the next modes. Fixes: 1c1ed441b0d1 ("edid: add edid_get_timing_validate() variant to filter out edid modes") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2019-07-29Merge branch '2019-07-29-master-imports'Tom Rini
- Assorted bug fixes
2019-07-29Makefile: fix implementation of BINMAN_DEBUGStephen Warren
binman only accepts the -D argument early on the command-line, yet the Makefile currently passes it near the end. This causes the build to fail if this feature is used. Re-order the command-line to fix this. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Add command-line support for replacing entriesSimon Glass
Add a 'replace' command to binman to permit entries to be replaced, either individually or all at once (using a filter). Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Correct the error message for invalid pathSimon Glass
At present this message references -o for output file. But binman uses -f now. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Split control.WriteEntryToImage() into separate functionsSimon Glass
This code has three distinct phases: 1. The image is loaded and the state module is set up 2. The entry is written to the image 3. The image is repacked and written back to the file Split the code out with three separate functions, one for each phase. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Update control.WriteEntry() to support writing the mapSimon Glass
Add the ability to write a new map file. Also tidy up a few comments and rename a misleading variable. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Move control.WriteEntry further down the fileSimon Glass
Move this function after the extraction logic so we can keep the writing logic in one place. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Clean up all output directories in testsSimon Glass
At present some tests leave behind output directories. This happens because some tests call binman, which sets up an output directory, then call it again, which sets up another output directory and leaves the original one behind. Fix this by using a separate temporary directory when binman is called twice, or by manually removing the output directory. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Add a test function to clean up the output dirSimon Glass
Put tearDown()'s logic into a new _CleanupOutputDir() function so that it can be called from elsewhere. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Update state when replacing device-tree entriesSimon Glass
Since the state module holds references to all the device trees used by binman, it must be updated when the device trees are updated. Add support for this. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29patman: Reset the output directory when it is removedSimon Glass
At present outdir remains set ever after the output directory has been removed. Fix this to avoid trying to access it when it is not present. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Support replacing data in a cbfsSimon Glass
At present binman cannot replace data within a CBFS since it does not allow rewriting of the files in that CBFS. Implement this by using the new WriteData() method to handle the case. Add a header to compressed data so that the amount of compressed data can be determined without reference to the size of the containing entry. This allows the entry to be larger that the contents, without causing errors in decompression. This is necessary to cope with a compressed device tree being updated in such a way that it shrinks after the entry size is already set (an obscure case). It is not used with CBFS since it has its own metadata for this. Increase the number of passes allowed to resolve the position of entries, to handle this case. Add a test for this new logic. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Update Entry.WriteData() to handle special sectionsSimon Glass
At present this method assumes that the parent section does not need to recalculate its position or adjust any metadata it may contain. But when the entry changes size this may not be true. Also if the parent section is more than just a container (e.g. it is a CBFS) then the section may need to regenerate its output. Add a new WriteChildData() method to sections and call this from the WriteData() method, to handle this situation. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Update Entry.ReadEntry() to work through classesSimon Glass
At present we simply extract the data directly from entries using the image_pos information. This happens to work on current entry types, but cannot work if the entry type encodes the data in some way. Update the ReadData() method to provide the data by calling a new ReadChildData() method in the parent. This allows the entry_Section class, or possibly any other container class, to return the correct data in all cases. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Add a prefix before CBFS hex offsetsSimon Glass
Add a 0x prefix to these errors to avoid confusion. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Add a few more features to the wishlistSimon Glass
Add mention of a few other desirable features that may be implemented in the future. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Place Intel descriptor at image startSimon Glass
The Intel descriptor must always appear at the start of an (x86) image, so it is supposed to position itself there always. However there is no explicit test for this. Add one and fix a bug introduced by the recent change to adjust Entry to read the node in a separate call. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Adjust fmap to ignore CBFS filesSimon Glass
The FMAP is not intended to show the files inside a CBFS. The FMAP can be used to locate the CBFS itself, but then the CBFS must be read to find out what is in it. Update the FMAP to work this way and add some debugging while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29libfdt: Copy the struct region in fdt_resize()Simon Glass
At present this function appears to copy only the data before the struct region and the data in the string region. It does not seem to copy the struct region itself. >From the arguments of this function it seems that it should support fdt and buf being different. This patch attempts to fix this problem. Upstream commit: c72fa77 libfdt: Copy the struct region in fdt_resize() Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-29binman: Support shrinking a entry after packingSimon Glass
Sometimes an entry may shrink after it has already been packed. In that case we must repack the items. Of course it is always possible to just leave the entry at its original size and waste space at the end. This is what binman does by default, since there is the possibility of the entry changing size every time binman calculates its contents, thus causing a loop. Signed-off-by: Simon Glass <sjg@chromium.org>