summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-20arm: imx: cx9020: remove unnecessary includesSteffen Dirkwinkel
There are several includes in mx53cx9020.c which are not required anymore. Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com> Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
2019-05-20dm: arm: imx: cx9020: remove unused mmc functionsSteffen Dirkwinkel
These mmc functions were not used anymore since DM_MMC was introduced. Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com> Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
2019-05-20dm: arm: imx: cx9020: migrate to dm_videoSteffen Dirkwinkel
Enable DM_VIDEO in config and don't overwrite console so it can be set from environment Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com> Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
2019-05-20arm: imx: add ipu to imx53.dts and set dm-pre-relocSteffen Dirkwinkel
The ipu node in imx53 is needed for DM_VIDEO. We also need to set u-boot,dm-pre-reloc to initialize before relocation. Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
2019-05-20dm: arm: imx: video: add compatible for imx53-ipuSteffen Dirkwinkel
This code also works with imx53 ipus so we can enable it for them. Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
2019-05-20dm: arm: imx: cx9020: enable DM_GPIOSteffen Dirkwinkel
Switch to DM_GPIO and add gpio_request where necessary. This is needed for DM_VIDEO and fixes an issue with sd card detection which was introduced by the combination of these commits: commit 7a0425dd969c ("mmc: fsl_esdhc: make get_cd work well in dm_mmc_ops") commit 7e04b4c751a1 ("dm: arm: imx: migrate cx9020 to CONFIG_DM_MMC") Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com> Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
2019-05-20splash: Load internal and external data from FITLeo Ruan
The FIT image could contain the splash data in 3 different structure: - The splash data is embedded in FIT image (internal) In this case, the property 'data' presents in FIT image header. And internal information 'start' and 'end' represent the location and size of splash data inside of FIT image. - The splash data is external with absolute position in FIT image This case is made by 'mkimage -p [pos]'. The splash data is stored at the absolute position. Instead the property 'data', the properties 'data-position' and 'data-size' are used to specify the location and size of the splash data. - the splash data is external with relative offset in FIT image This case is made by 'mkimage -E'. The splash data is placed after the FIT image header with 4 byte alignment. Instead the property 'data', the properties 'data-offset' and 'data-size' are used to specify the location and size of the splash data. Currently, the splash only support to load external data with relative offset from FIT image. This commit make it possible to load the splash data embedded in FIT image or the external data with absolute position This inspiration comes from Simon Glass <sjg@chromium.org>, see common/spl_fit.c Signed-off-by: Leo Ruan <tingquan.ruan@cn.bosch.com> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefano Babic <sbabic@denx.de>
2019-05-20splash: Use splashfile instead of location->nameLeo Ruan
The splash image could be loaded from different sources (e.g. sf, mmc) with different formats (e.g. raw, file-system). These sources are structured by a board dependent object 'splash_location'. To decide where is the splash image loaded, following environment variables are used to select the splash source and file: - 'splashsource' is used to select the splash source by setting its value to specified name of splash location. - 'splashfile' specify the name of splash image file But, when loads the splash image from FIT, the name of splash image within FIT is specified by splash location name. Due to the splash location name is already used for the splash source, its name may conflicts with the name of splash image. To solve the conflict, the environment variable 'splashfile' is used to specify the splash image in FIT, and keeps the splash location name for the splash source. Signed-off-by: Leo Ruan <tingquan.ruan@cn.bosch.com> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Tomas Melin <tomas.melin@vaisala.com>
2019-05-20arm: mvebu: armada-370-xp.dtsi: Add "u-boot, dm-pre-reloc" to "internal-regs"Stefan Roese
Without this U-Boot specific property, booting on Armada XP theadorable fails in SPL. All nodes in the "internal-regs" (simple-bus) DT node are not scanned, so the UART node is missing (and others). I'm not adding this property in an *u-boot.dtsi file, since there is none matching the generic rules for all files including this dtsi file. So to not miss any of the boards using this dtsi file, I'm adding it to this file directly, which makes the Linux merge a less easy unforunately. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Chris Packham <judge.packham@gmail.com> Cc: Marek BehĂșn <marek.behun@nic.cz> Reviewed-by: Chris Packham <judge.packham@gmail.com>
2019-05-20Revert "mmc: fsl_esdhc: fix sd/mmc ddr mode clock setting issue"Lukasz Majewski
This reverts commit 72a89e0da5ac6a4ab929b15a2b656f04f50767f6, which causes the imx53 HSC to hang as the eMMC is not working properly anymore. The exact error message: MMC write: dev # 0, block # 2, count 927 ... mmc write failed 0 blocks written: ERROR imx53 is not using the DDR mode. Debugging of pre_div and div generation showed that those values are generated in a way, which is not matching the ones from working setup. As the original patch was performing code refactoring, let's revert this change, so all imx53 boards would work again. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-05-19Revert "Makefile: Prioritize external dtb if defined"Tom Rini
This is causing unexpected size growth in the normal case and is likely to have been mis-applied by myself. This reverts commit 3eaf6dcd9362b56e3217559401287dd8fa35b5b2. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-05-19Merge tag 'efi-2019-07-rc3-2' of git://git.denx.de/u-boot-efiTom Rini
Pull request for UEFI sub-system for v2019.07-rc3 (2) Minor patches to improve UEFI specification compliance are provided. To allow running the UEFI self compliance tests an outdated version of the Unicode collation protocol has been added as a configuration option (disabled by default).
2019-05-19Merge git://git.denx.de/u-boot-x86Tom Rini
- Allow coreboot to process unhandled tags - Enable NVMe on QEMU x86_64 target
2019-05-19Merge branch '2019-05-19-master-imports'Tom Rini
- Convert SYS_[DI]CACHE_OFF to Kconfig, introduce SPL variant. - Various bcm96* fixes. - Import include/android_bootloader_message.h from AOSP - Assorted other small fixes.
2019-05-19x86: qemu-x86_64: Enable NVMeBin Meng
NVMe was turned on in qemu-x86 but somehow we missed it for 64-bit. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-05-19nvme: Fix warning of cast from pointer to integer of different sizeBin Meng
When dma_addr_t is u32 in 64-bit, there are some warnings when building NVME driver. Fix it by doing an additional (long) cast. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-05-19x86: coreboot: make it possible to process unhandled tagsChristian Gmeiner
coreboot makes it possible to add own entries into coreboot's table at a per mainboard basis. As there might be some custom ones it makes sense to provide a way to process them. Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-05-19efi_loader: parameter check OutputStringHeinrich Schuchardt
Check the parameters against NULL. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.SetState() correct parameterHeinrich Schuchardt
KeyToggleState is a pointer according to UEFI spec 2.8. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: GetNextMonotonicCount() check parameterHeinrich Schuchardt
Do not write to address indicated by NULL pointer. UEFI SCT II 2.6 (2017), 3.6.5 GetNextMonotonicCount(), 5.1.5.5.1 Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: parameter checks CalculateCrc32()Heinrich Schuchardt
Not checking the parameters may lead reading or writing from NULL. Implement the parameter checks prescribed in the UEFI spec. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: check device path in InstallMultipleProtocolInterfacesHeinrich Schuchardt
According to the UEFI spec InstallMultipleProtocolInterfaces() must check if a device path has already been installed. In this case it must return EFI_ALREADY_STARTED. Cf. UEFI SCT II 2.6 A (2017), 3.3.16 InstallMultipleProtocolInterfaces(), 5.1.3.16.1. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: implement deprecated Unicode collation protocolHeinrich Schuchardt
In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2 language codes existed. This protocol is not part of the UEFI specification any longer. Unfortunately it is required to run the UEFI Self Certification Test (SCT) II, version 2.6, 2017. So we implement it here for the sole purpose of running the SCT. It can be removed once a compliant SCT is available. The configuration option defaults to no. Signed-off-by: Rob Clark <robdclark@gmail.com> Most of Rob's original patch is already merged. Only the deprecated protocol is missing. Rebase it and make it configurable. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: rename Unicode collation protocol 2 variablesHeinrich Schuchardt
Rename variables to make it clear they refer to the Unicode collation protocol identified by the EFI_UNICODE_PROTOCOL2_GUID. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: merge adjacent sprintf()Heinrich Schuchardt
In the implementation of the device path to text protocol join adjacent sprintf() statements. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: parameter checks simple network protocolHeinrich Schuchardt
Check buffer pointers are not NULL as required by the UEFI 2.7 spec. Return EFI_UNSUPPORTED instead of EFI_INVALID_PARAMETER when trying to transmit with non-zero header_size. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-19efi_loader: GetVariable set attributes for EFI_BUFFER_TOO_SMALLHeinrich Schuchardt
UEFI spec 2.7 erratum A leaves it undefined if Attributes should be set if GetVariable() returns EFI_BUFFER_TOO_SMALL. UEFI spec 2.8 defines that Attributes should be set if the return value is either EFI_SUCCESS or EFI_BUFFER_TOO_SMALL. Set Attributes if the return value is EFI_BUFFER_TOO_SMALL. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-18ARM: da850evm: Enable block cache during SPLAdam Ford
There appears to be enough RAM to support cache in SPL. This pach enables block cache in SPL. Signed-off-by: Adam Ford <aford173@gmail.com>
2019-05-18Kconfig: fix FIT offset prompt textIbai Erkiaga
The current prompt text for FIT external offset is identical to SYS_TEXT_BASE which might confuse the users. Provided more accurate description for the prompt text. Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com> Reviewed-by: Marek Vasut <marex@denx.de>
2019-05-18ARM: omap3_logic/omap35_logic: Enable GPIO in SPLAdam Ford
The MMC controller enabled card detect, so this patch enables the GPIO driver in SPL to support it. Signed-off-by: Adam Ford <aford173@gmail.com>
2019-05-18Import include/android_bootloader_message.h from AOSPAlex Deymo
This takes the latest changes from AOSP from the file bootloader_message/include/bootloader_message/bootloader_message.h in the repository https://android.googlesource.com/platform/bootable/recovery and re-licensed them to BSD-3 for U-Boot. Minimum local changes have been applied (convert C++ to C comments and adding #ifndef __UBOOT__ block to skip all the function declarations). Signed-off-by: Alex Deymo <deymo@google.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
2019-05-18tools: use read-only mmap in fit_check_signLuca Boccassi
Add an option to open files in read-only mode in mmap_fdt so that fit_check_sign can be used to inspect files on read-only filesystems. For example, this is useful when a key is shipped in a read-only rootfs or squashfs. Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
2019-05-18ata: ahci: drop read-only ahci_ioports membersChristian Gmeiner
Also get rid of ahci_setup_port(..). Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
2019-05-18configs: bcm968580 disable CONFIG_CMD_BOOTEFI_SELFTESTHeinrich Schuchardt
Configuration option CONFIG_CMD_BOOTEFI_SELFTEST is useful for the development of the UEFI sub-system. For production it is not needed. Remove CONFIG_CMD_BOOTEFI_SELFTEST from bcm968580xref_ram_defconfig. Suggested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-18configs: bcm963158 disable CONFIG_CMD_BOOTEFI_SELFTESTHeinrich Schuchardt
Configuration option CONFIG_CMD_BOOTEFI_SELFTEST is useful for the development of the UEFI sub-system. For production it is not needed. Remove CONFIG_CMD_BOOTEFI_SELFTEST from bcm963158_ram_defconfig. Suggested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-05-18spl: Set spl_image->fdt_addr pointer for full fitImage configurationMarek Vasut
Set the spl_image->fdt_addr pointer both for simple fitImage configuration as well as full fitImage configuration, to let spl_perform_fixups() access the DT and perform modifications to it if necessary. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com>
2019-05-18ARM: mediatek: mt8516: use PSCI to reset the SoCFabien Parent
Instead of using the watchdog, let's use PSCI to perform the reset of the SoC. Signed-off-by: Fabien Parent <fparent@baylibre.com>
2019-05-18bcm968380gerg: remove CONFIG_SYS_NAND_DRIVER_ECC_LAYOUTPhilippe Reynes
This board define the flag CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT but it's a mistake. It's a workaround for an issue in nand core. This issue was fixed by the commit 5f626e78491c ("mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior"). Now, this flag break the nand on this board, so we simply remove it. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2019-05-18bcm963158: remove CONFIG_SYS_NAND_DRIVER_ECC_LAYOUTPhilippe Reynes
This board define the flag CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT but it's a mistake. It's a workaround for an issue in nand core. This issue was fixed by the commit 5f626e78491c ("mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior"). Now, this flag break the nand on this board, so we simply remove it. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2019-05-18bcm968580xref: remove CONFIG_SYS_NAND_DRIVER_ECC_LAYOUTPhilippe Reynes
This board define the flag CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT but it's a mistake. It's a workaround for an issue in nand core. This issue was fixed by the commit 5f626e78491c ("mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior"). Now, this flag break the nand on this board, so we simply remove it. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2019-05-18dt: bcm63158: watchdog should use a 50Mhz clockPhilippe Reynes
The watchdog should use a clock at 50 Mhz, so instead of using the clock osc (200 Mhz), we define a reference clock at 50Mhz and use it for both watchdog. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-05-18dt: bcm6858: watchdog should use a 50Mhz clockPhilippe Reynes
The watchdog should use a clock at 50 Mhz, so instead of using the clock osc (200 Mhz), we define a reference clock at 50Mhz and use it for both watchdog. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-05-18watchdog: bcm6345: callback start use tick instead of msPhilippe Reynes
The function bcm6345_wdt_start use the argument timeout as tick but it should be used as milliseconds. A clock is added as requirement for this driver. The frequency of the clock is then used to convert the millisecond to ticks in the function bcm6345_wdt_start. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-05-18Makefile: Prioritize external dtb if definedMichal Simek
Prioritize external dtb if its passed via EXT_DTB than the dtb that was built in the tree. With this patch it appends the specified external dtb to the u-boot image. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-05-18CONFIG_SPL_SYS_[DI]CACHE_OFF: addTrevor Woerner
While converting CONFIG_SYS_[DI]CACHE_OFF to Kconfig, there are instances where these configuration items are conditional on SPL. This commit adds SPL variants of these configuration items, uses CONFIG_IS_ENABLED(), and updates the configurations as required. Acked-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Trevor Woerner <trevor@toganlabs.com> [trini: Make the default depend on the setting for full U-Boot, update more zynq hardware] Signed-off-by: Tom Rini <trini@konsulko.com>
2019-05-18CONFIG_SYS_[DI]CACHE_OFF: convert to KconfigTrevor Woerner
CONFIG_SYS_[DI]CACHE_OFF had been partially converted to Kconfig parameters; only for the ARC architecture. This patch turns these two parameters into Kconfig items everywhere else they are found. All of the include/configs/* and defconfig changes in this patch are for arm machines only. The Kconfig changes for arc, nds32, riscv, and xtensa have been included since these symbols are found in code under arch/{arc,nds32,riscv,xtensa}, however, no currently-defined include/configs/* or defconfigs for these architectures exist which include these symbols. These results have been confirmed with tools/moveconfig.py. Acked-by: Alexey Brodkin <abrodkin@snopsys.com> Signed-off-by: Trevor Woerner <trevor@toganlabs.com> [trini: Re-migrate for a few more boards] Signed-off-by: Tom Rini <trini@konsulko.com>
2019-05-18CONFIG_SYS_[DI]CACHE_OFF: remove commented linesTrevor Woerner
Eventually these configuration items will be converted to Kconfig, therefore there's little point in leaving commented-out versions of them in include/configs. Signed-off-by: Trevor Woerner <trevor@toganlabs.com>
2019-05-18CONFIG_SYS_[DI]CACHE_OFF: remove superfluous "1"Trevor Woerner
This config is the only config that uses: #define CONFIG_SYS_DCACHE_OFF 1 in its #define. Remove the superfluous "1" so this cache #define is like all the others. Signed-off-by: Trevor Woerner <trevor@toganlabs.com>
2019-05-18CONFIG_SYS_[ID]CACHE_OFF: unify the 'any' caseTrevor Woerner
According to De Morgan's Law[1]: !(A && B) = !A || !B !(A || B) = !A && !B There are 5 places in the code where we find: #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF)) and 4 places in the code where we find: #if (!defined(CONFIG_SYS_ICACHE_OFF) || !defined(CONFIG_SYS_DCACHE_OFF)) In words, the construct: !defined(CONFIG_SYS_[DI]CACHE_OFF) means: "is the [DI]CACHE on?" and the construct: defined(CONFIG_SYS_[DI]CACHE_OFF) means: "is the [DI]CACHE off?" Therefore !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF)) means: "the opposite of 'are they both off?'" in other words: "are either or both on?" and: (!defined(CONFIG_SYS_ICACHE_OFF) || !defined(CONFIG_SYS_DCACHE_OFF) means: "are either or both on?" As a result, I've converted the 4 instances of '(!A || !B)' to '!(A && B)' for consistency. [1] https://en.wikipedia.org/wiki/De_Morgan%27s_laws Signed-off-by: Trevor Woerner <trevor@toganlabs.com>
2019-05-17i2c: mxc: Hide kconfig based control in DM_I2C modeTrent Piepho
These options only apply when not using DM_I2C. When using device trees, the dt will enable and control the speeds of the I2C controller(s) and these configuration options have no effect. So disable them in DM_I2C mode. Otherwise they show up as decoys, and make it look like one is enabling I2C controllers and setting the speed when really it's doing nothing. However, a system using a SPL build will not use DM_I2C in the SPL, even if DM_I2C is enabled for the main u-boot. And so the SPL might use the kconfig based I2C speed controls while the main u-boot does not. Cc: Sriram Dash <sriram.dash@nxp.com> Cc: Priyanka Jain <priyanka.jain@nxp.com> Cc: Heiko Schocher <hs@denx.de> Signed-off-by: Trent Piepho <tpiepho@impinj.com>