summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-09x86: slimbootloader: Add a slimbootloader device treePark, Aiden
Add a new device tree which has very minimum nodes - x86 reset - x86 tsc_timer - x86 pci - Slim Bootloader serial Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: slimbootloader: Set TSC information for tsc_timerPark, Aiden
Slim Bootloader already calibrated TSC and provides it to U-Boot. Therefore, U-Boot does not have to re-calibrate TSC. Configuring tsc_base and clock_rate makes x86 tsc_timer driver bypass TSC calibration and use the provided TSC frequency. - Get TSC frequency from performance info hob - Set tsc_base and clock_rate for tsc_timer driver Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: slimbootloader: Add serial driverPark, Aiden
Slim Bootloader provides serial port info thru its HOB list pointer. All these HOBs are eligible for Slim Bootloader based board only. - Get serial port information from the serial port info HOB - Leverage ns16550 driver with slimbootloader specific platform data Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: slimbootloader: Add memory configurationPark, Aiden
Slim Bootloader provides memory map info thru its HOB list pointer. Configure memory size and relocation memory from the HOB data, and provide e820 entries as well. - Get memory size from the memory map info HOB - Set available top memory lower than 4GB for U-Boot relocation - Provide e820 entries from the memory map info HOB Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: Add a common HOB libraryPark, Aiden
FSP (CONFIG_HAVE_FSP) and Slim Bootloader (CONFIG_SYS_SLIMBOOTLOADER) consume HOB (CONFIG_USE_HOB) data from the each HOB list pointer. Add a common HOB library in lib/hob.c and include/asm/hob.h. Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: lib: fsp: Use EFI_GUID and efi_guid_tPark, Aiden
Use existing EFI_GUID and efi_guid_t instead of struct efi_guid. This is pre-work before making a common HOB library. - Change 'struct efi_guid' to efi_guit_t - Remove 'struct efi_guid' - Define GUIDs with EFI_GUID() macro - Use guidcmp() instead of compare_guid() - Remove compare_guid() Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested on MinnowMax Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: Add new slimbootloader CPU typePark, Aiden
This slimbootloader CPU type is to enable U-Boot as a payload which runs on top of Slim Bootloader (https://github.com/slimbootloader). The Slim Bootloader is designed with multi-stage architecture for the execution from reset vector to OS booting, and supports QEMU, Apollolake, Whiskeylake and Coffeelake platforms consuming Intel FSP (https://github.com/IntelFsp) for silicon initialization including CAR and memory initialization. The Slim Bootloader generates new HOB (Hand Off Block) which are serial port info, memory map info, performance data info and so on, and passes it to a Payload. U-Boot as a payload will use these HOB information for basic initialization such as serial console. As an initial commit, - Add CONFIG_SYS_SLIMBOOTLOADER to enable slimbootloader CPU type - Add new arch/x86/cpu/slimbootloader directory with minimum codes - Get hob_list pointer from Slim Bootloader Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: ich-spi: Convert driver to spi-mem opsBernhard Messerklinger
With the introduction of the new spi-mem model operations changed slightly. The new spi-mem operations make things a bit easier to handle for ich-spi flash interface. This patch converts the ich-spi driver by using spi-mem operations. Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested on Intel CrownBay and MinnowMax Tested-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: fix compiler warnings when building the driver for 64-bit] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09bios_emulator: remove stray breakHeinrich Schuchardt
Remove a stray break which suppresses some debug messages. Indicated by cppcheck. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: Avoid writing temporary asl files into the source treeSimon Glass
At present the iasl tool (Intel ACPI (Advanced Configuration and Power Interface) Source Language Compiler) is called in such a way that it uses the source directory for its temporary files. This means we end up with these files when building x86 boards: board/dfi/dfi-bt700/dsdt.aml board/dfi/dfi-bt700/dsdt.asl.tmp Update the code to put temporary files in the target directory instead. The iasl tool is quite confusing since it generates files with different extensions and does not allow these to be individually specified. Add some documentation to help with this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: remove dsdt.hex from 'make clean' rules and correct U-Boot spelling] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: tangier: Populate CSRT for shared DMA controllerAndy Shevchenko
Intel Tangier has a shared DMA controller that, according to Microsoft spec, has to be presented in CSRT table. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: acpi: Enable ACPI companion for Intel iDMA 32-bitAndy Shevchenko
ACPI has a capability to specify DMA parameters for DMA channel consumers. To enable this for Intel Edison, describe GP DMA device in ACPI table in order to get an ACPI handle to it in OS. This works in conjunction with CSRT, which must be in align with DSDT. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: acpi: Introduce a stub to generate CSRTAndy Shevchenko
Here is a stub function that generates an empty CSRT. If the target platform provides acpi_fill_csrt() function, it will be used to populate the table. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: acpi: Add CSRT descriptionAndy Shevchenko
Add CSRT [1] description as it provided in Linux kernel. [1]: http://www.uefi.org/sites/default/files/resources/CSRT%20v2.pdf Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: qemu: Fix non-working ramboot and nfsboot environment variablesBin Meng
With qemu-x86 starting to use config_distro_bootcmd, the pre-defined ramboot and nfsboot commands do not work any more. This is caused by undefined environment variable 'ramdiskaddr' that was previously set in CONFIG_EXTRA_ENV_SETTINGS but later CONFIG_EXTRA_ENV_SETTINGS was redefined for distro boot. Update the x86 generic CONFIG_EXTRA_ENV_SETTINGS to consider distro boot, and remove the one in qemu-x86.h. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09qemu-x86: Use config_distro_bootcmdJoshua Watt
Converts qemu x86 machines to boot using distro_config. The intent is to allow u-boot in qemu to be maximally compatible with many boot methods without having to change the config. Previously, u-boot would only boot in a very limited set of circumstances where there was a /boot/vmlinuz on scsi 0:3 with no ramdisk. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: convert doc updates to reST] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-09x86: edison: Enable SD slotAndy Shevchenko
Enable SD slot on Intel Edison platform. By default firmware doesn't put device on active state. Thus, we have to do this explicitly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-08-08Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- Remove unused bcm2835 watchdog driver (still non-DM) - Cosmetic fixup of mtk_wdt.c
2019-08-07test/py: avb: Move AVB test to android dirSam Protsenko
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2019-08-07Merge branch '2019-08-07-master-imports'Tom Rini
- Misc Android / AVB bugfixes (including updating the header from Android). - MediaTek updates - Other assorted bugfixes.
2019-08-07Update include/android_image.h from AOSPAlex Deymo
This takes the latest changes from AOSP from the file include/bootimg/bootimg.h from the repository: https://android.googlesource.com/platform/system/tools/mkbootimg and update the U-Boot version with the latest changes. This file keeps the changes from AOSP to a minimum: * Comments were converted from C++ to C style. * Code inside __cplusplus #ifdef blocks were removed. * C++11 struct extensions replaced with a single struct. Signed-off-by: Alex Deymo <deymo@google.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
2019-08-07common: image-android-dt: Fix logic in print fdt info routineSam Protsenko
Do not attempt to print fdt info if root node wasn't found. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2019-08-07fit: Do not automatically decompress ramdisk imagesJulius Werner
The Linux ramdisk should always be decompressed by the kernel itself, not by U-Boot. Therefore, the 'compression' node in the FIT image should always be set to "none" for ramdisk images, since the only point of using that node is if you want U-Boot to do the decompression itself. Yet some systems populate the node to the compression algorithm used by the kernel instead. This used to be ignored, but now that we support decompression of all image types it becomes a problem. Since ramdisks should never be decompressed by U-Boot anyway, this patch adds a special exception for them to avoid these issues. Still, setting the 'compression' node like that is wrong in the first place, so we still want to print out a warning so that third-party distributions doing this can notice and fix it. Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Heiko Schocher <hs@denx.de> Tested-by: Heiko Schocher <hs@denx.de> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2019-08-07console: execute flush on uart when silent is removedPatrick Delaunay
Avoid to flush buffer when silent console is activated as the console can be reactivate later, after relocation, when the env will be updated with the saved one. Solve issue (missing beginning of U-Boot trace) when: - CONFIG_SILENT_CONSOLE is activated - silent=1 is defined in default environment (CONFIG_EXTRA_ENV_SETTINGS) - silent is removed in saved environment with: > env delete silent; env save Only functional when PRE_CONSOLE_BUFFER is activated. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2019-08-07console: update silent tag after env loadPatrick Delaunay
Update the "silent" property with the variable "silent" get from saved environment, it solves the issue when: - CONFIG_SILENT_CONSOLE and CONFIG_SYS_CONSOLE_IS_IN_ENV are activated - silent is not defined in default environment - silent is requested in saved environment with: > env set silent 1; env save On next reboot the console is not disabled as expected after relocation and the environment load from flash (the callback is not called when the INSERT is requested in the created hash table) Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2019-08-07cmd: avb: Fix compiler warningsSam Protsenko
When building U-Boot with AVB enabled, compiler shows next warnings: cmd/avb.c: In function 'do_avb_read_pvalue': cmd/avb.c:371:18: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Wformat=] printf("Read %ld bytes, value = %s\n", bytes_read, ~~^ ~~~~~~~~~~ %d cmd/avb.c: In function 'do_avb_write_pvalue': cmd/avb.c:404:19: warning: format '%ld' expects argument of type 'long int', but argument 2 has type '__kernel_size_t' {aka 'unsigned int'} [-Wformat=] printf("Wrote %ld bytes\n", strlen(value) + 1); ~~^ ~~~~~~~~~~~~~~~~~ %d Fix those by using "%zu" specified. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
2019-08-07avb: Fix build when CONFIG_OPTEE_TA_AVB is disabledSam Protsenko
When having only these AVB related configs enabled: CONFIG_AVB_VERIFY=y CONFIG_CMD_AVB=y CONFIG_LIBAVB=y build fails with next errors: common/avb_verify.c: In function 'read_persistent_value': common/avb_verify.c:867:6: warning: implicit declaration of function 'get_open_session' common/avb_verify.c:870:45: error: 'struct AvbOpsData' has no member named 'tee' common/avb_verify.c:894:7: warning: implicit declaration of function 'invoke_func' common/avb_verify.c: In function 'write_persistent_value': common/avb_verify.c:931:45: error: 'struct AvbOpsData' has no member named 'tee' Guard read_persistent_value() and write_persistent_value() functions by checking if CONFIG_OPTEE_TA_AVB is enabled (as those are only used in that case) to fix the build with mentioned configuration. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
2019-08-07pci_ep: Fix Coverity warningRamon Fried
Fix the following Coverity warning: CID 244086: Incorrect expression (BAD_COMPARE) Comparing pointer "ep_bar" against NULL using anything besides == or is likely to be incorrect. Fixes: 914026d25848 ("drivers: pci_ep: Introduce UCLASS_PCI_EP uclass") Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
2019-08-07clk: MediaTek: add hifsys entry for MT7623 SoC.Ryder Lee
This adds high speed interface subsystem - hifsys (i.e. PCIe and USB) for MT7623 SoC and enables its reset controller. The control block is shared with ethsys and accordingly rename the related defines. Tested-by: Frank Wunderlich <frank-w@public-files.de> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
2019-08-07ARM: dts: add hifsys reset for MediaTek SoCsRyder Lee
This adds missing hifsys reset parts in header files. Tested-by: Frank Wunderlich <frank-w@public-files.de> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
2019-08-07MAINTAINERS: MediaTek: add MediaTek team in the entryRyder Lee
Add MediaTek team as designated reviewer. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
2019-08-07autoboot: fix bug using with CAAM and AUTOBOOT_ENCRYPTIONHeiko Schocher
if CONFIG_AUTOBOOT_KEYED, CONFIG_AUTOBOOT_ENCRYPTION and CONFIG_AUTOBOOT_STOP_STR_SHA256 are enabled in conjunction with CONFIG_SHA_HW_ACCEL and CONFIG_FSL_CAAM, we get the Error when pressing a key while waiting for bootdelay: Error: Address arguments are not aligned CAAM was not setup properly or it is faulty Reason is, that used variables are not cache aligned, so malloc this variables cache aligned. Probably this is also a bugfix for other hw accelerators than CAAM. Signed-off-by: Heiko Schocher <hs@denx.de>
2019-08-07log: document the assign() macroHeinrich Schuchardt
Provide a concise description of the assert() macro. Point out that the tested expression is always executed, irrespective of the value of _DEBUG. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-08-07arm: dts: change MT7629 to use spi-mem rather than qspiWeijie Gao
The original mtk_qspi driver has been removed. We change MT7629 to use newly added mtk-spimem driver. Signed-off-by: Weijie Gao <weijie.gao@mediatek.com> Acked-by: Jagan Teki <jagan@amarulasolutions.com>
2019-08-05watchdog: mtk_wdt: Cosmetic cleanup of latest changesStefan Roese
This patch cleans up some coding style related issues in the mtk_wtd driver to make this driver comply again with the U-Boot coding style standards. The only minimal functional change is that the timeout parameter is now passed in (u64) instead of (unsigned int) from mtk_wdt_start() to mtk_wdt_set_timeout(), preserving the original value. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Shannon Barber <sbarber@dataspeedinc.com> Cc: Ryder Lee <ryder.lee@mediatek.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Frank Wunderlich <frank-w@public-files.de> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
2019-08-05watchdog: bcm2835_wdt: Remove unused BCM283x watchdog driver and its referencesStefan Roese
The BCM2835/2836 watchdog is not used in mainline U-Boot at all. This patch removes the driver and its references (CONFIG_BCM2835_WDT) completely. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Paolo Pisati <p.pisati@gmail.com>
2019-08-04Merge tag 'efi-2019-10-rc2' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for v2019.10-rc2 With this pull request a workaround for GRUB on 32bit ARM is re-enabled and made customizable. Without the patch booting on ARM 32bit with GRUB prior to version 2.04 or with a cache which is not managed via CP15 fails. Further work will be needed to achieve a UEFI compliant cache handling. According to the UEFI spec all caches except those that cannot be managed via CP15 should be enabled. An implementation of the ConvertPointer() runtime service is provided. efi_crt0 is always rebuild to avoid having to call 'make mrproper' when switching architectures.
2019-08-02Merge https://gitlab.denx.de/u-boot/custodians/u-boot-clkTom Rini
- Port more CCF code to work with i.MX8 devices.
2019-08-02gitlab-ci: Add qemu-riscv64 testingTom Rini
Mirror the qemu-riscv64 testing we do on Travis. Update to a newer Docker image that contains riscv64-softmmu for QEMU. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-08-02gitlab-ci: Remove unused TOOLCHAIN environment variableTom Rini
As part of copying the logic from Travis to GitLab I kept the TOOLCHAIN variable. However we don't use that now as the Docker container already has all toolchains so we don't need to do any downloading. Remove this variable. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-08-02travis.yml: run Python tests on qemu-riscv64_defconfigHeinrich Schuchardt
Run the Python tests on the RISC-V architecture too. https://github.com/swarren/uboot-test-hooks has already been updated. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-08-02Merge branch '2019-08-02-autoboot-cleanup'Tom Rini
- Merge Simon Glass's series to cleanup the autoboot code
2019-08-02autoboot: Adjust the implementation in autoboot_command()Simon Glass
Avoid use of #ifdef and keep the common condion in a variable. This makes the code easier to read. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-02autoboot: Move a few more options from #ifdef to if()Simon Glass
Adjust some of the code which can be trivially moved to use IS_ENABLED() instead of #ifdef. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-02autoboot: Add comments for menu_show()Simon Glass
Add comments for this function. Also remove the #ifdef around it so that it can be called from 'if (IS_ENABLED(...))'. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-02Convert CONFIG_AUTOBOOT_MENU_SHOW to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_AUTOBOOT_MENU_SHOW Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-02autoboot: Rename CONFIG_MENU_SHOW to include AUTOBOOTSimon Glass
Rename this option to CONFIG_AUTOBOOT_MENU_SHOW this it relates to the autoboot functionality. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-02autoboot: Tidy up use of menukeySimon Glass
Move the variable to the top of the file and adjust the code which uses it to use if() rather than #ifdef, to make it easier to read. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-02snow: Define CONFIG_AUTOBOOT_MENUKEYSimon Glass
This option is not used by any boards. To avoid needing to remove it as dead code, add it to 'snow'. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-02autoboot: Rename CONFIG_MENUKEY to CONFIG_AUTOBOOT_MENUKEYSimon Glass
Since this is part of the autoboot functionality, it makes sense to name it with an AUTOBOOT prefix. No mainline boards use it so this should be safe, and downstream boards will need to adjust. Since this option is just an integer value, it really needs another option to control whether the feature is enabled or not. Add a new CONFIG_USE_AUTOBOOT_MENUKEY for that. This fits better with how things are done with Kconfig, avoiding the need to use a specific value to disable the feature. Signed-off-by: Simon Glass <sjg@chromium.org>