summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-29arm: socfpga: fix SPL booting from fpga OnChip RAMSimon Goldschmidt
This patch prevents disabling the FPGA bridges when SPL or U-Boot is executed from FPGA onchip RAM. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2018-11-29arm: socfpga: make socfpga_socrates_defconfig boot from QSPISimon Goldschmidt
This fixes the board's dts to supply SPL with QSPI info. The EBV Socrates board has DIP switches to boot from SD card or QSPI, so let's fix its defconfig to work for both cases. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2018-11-29dts: arm: socfpga: merge gen5 devicetrees from linuxSimon Goldschmidt
Add -u-boot.dtsi files to keep the current U-Boot behaviour: - add u-boot,dm-pre-reloc where required - disable watchdog - set uart clock frequency - add gpio bank-name properties where appropriate: - make qspi work (add alias for spi0, fix compatible for flash) - enable usb (status okay, add alias for udc0) Adapt board dts files that are not in Linux to keep their old behaviour. Change licenses to SPDX. (Patman warnings/errors are in 1:1 copied files from Linux) Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2018-11-29spi: cadence_qspi: use "cdns,qspi-nor" as compatibleSimon Goldschmidt
Linux uses "cdns,qspi-nor" as compatible string for the cadence qspi driver, so change driver, docs and all device trees. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2018-11-29gpio: dwapb_gpio: fix binding without bank-name propertySimon Goldschmidt
As a preparation for merging the socfpga gen5 devicetree files from Linux, this patch makes the dwapb gpio driver work correctly without the 'bank-name' property on the gpio-controller nodes. This property is not present in the Linux drivers and thus is not present in the Linux devicetrees. It is only used to access pins via bank name. This fallback is necessary since without it, the driver will return an error code which will lead to an error in U-Boot startup. The bank names will still be added to the default board device trees in follow-up patch, but other boards using this driver and not including the bank name should also work with the socfpga.dtsi without adding the bank-name property. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2018-11-29arm: socfpga: make config structs constSimon Goldschmidt
There are two config structs left in wrap_sdram_config.c that can be made const. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2018-11-27Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
- Introduce CONFIG_SPL_DM_USB
2018-11-26Merge branch '2018-11-26-master-imports'Tom Rini
- chiliboard updates - misc TI platform updates
2018-11-26ARM: chiliboard: remove dead !CONFIG_DM_SERIAL codeMarcin Niestroj
DM_SERIAL is selected by TARGET_CHILIBOARD, so there is no reason to keep code that will not be built. Remove it. Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-11-26ARM: chiliboard: move towards driver model and device-tree bootMarcin Niestroj
This patch mostly enables DM drivers in board defconfig and all their dependencies. Additionally we remove ethernet platform data, as all details are in device-tree now. Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-11-26ARM: dts: am335x-chiliboard: add /chosen/stdout-pathMarcin Niestroj
Add that node path in u-boot overlay dtsi file for now to keep am335x-chiliboard.dts in sync with Linux. Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-11-26ARM: dts: am335x-chili*: add chiliSOM and chiliboard DTS filesMarcin Niestroj
Import chiliSOM and chiliboard dts files from Linux v4.19. They will be used after transition to driver model and device-tree based boot. Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-11-26configs: Remove CONFIG_MARVELLChris Packham
This option is defined by a few boards but doesn't guard any code. Remove it from the boards and config_whitelist.txt. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
2018-11-26ARM: vexpress_*_defconfig: Enable CMD_UBI supportOtavio Salvador
This allow for convenient use of QEMU machine to test loading of UBI filesystem. There are a couple of changes made together of this which are required: 1) The malloc must be at least 512 KiB to allow the use of UBI filesystem. We are going to enable it in a next patch. 2) MTD_DEVICE must be enabled, otherwise we get missing symbols during the build Following configs were change: - vexpress_aemv8a_dram_defconfig - vexpress_aemv8a_juno_defconfig - vexpress_aemv8a_semi_defconfig - vexpress_ca15_tc2_defconfig - vexpress_ca5x2_defconfig - vexpress_ca9x4_defconfig Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Liviu Dudau <liviu.dudau@arm.com>
2018-11-26board: da8xxevm: Fix Environmental CRC errorAdam Ford
When the spi_flash_probe_bus_cs() was previously called, it was called using 0's for two values where CONFIG_ENV_SPI_MAX_HZ and CONFIG_ENV_SPI_MODE are now used. When changed this caused the environment to fail the CRC check and the default was used. This patch defines both of these values back 0. Fixes: 25a17652c9c2 ("fix: env: Fix the SPI flash device setup for DM mode") Signed-off-by: Adam Ford <aford173@gmail.com>
2018-11-26ARM: armv7: Add early stack for erratum workaroundsAndrew F. Davis
Some erratum workarounds call into C code before the stack is setup, this can lead to values pushed onto the stack being lost, firewall exceptions, and other undefined behavior. Setup a temporary stack to allow these functions to work correctly. Signed-off-by: Andrew F. Davis <afd@ti.com> Acked-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2018-11-26tools/file2include: don't use malloc.h for mallocJonathan Gray
stdlib.h is the header for malloc since at least c89/c90. Previously this would fail to build on OpenBSD and fallback to the wrong header: In file included from u-boot/tools/file2include.c:21: u-boot/include/malloc.h:875:5: error: function-like macro 'CONFIG_IS_ENABLED' is not defined Signed-off-by: Jonathan Gray <jsg@jsg.id.au> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-11-26arm: ti: boot: Fix U-Boot environment partition addressSam Protsenko
Recent removal of obsolete partition led to shifting of starting address of "reserved" partition (which reflects U-Boot environment). Fix its start address to keep it in sync with ENV_OFFSET and DFU environment. This patch also provides fixed start address for "reserved" partition, so that we can track when it's shifted next time. While at it, move it before "misc" partition to keep all Android partitions together. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Acked-By: Praneeth Bajjuri <praneeth@ti.com>
2018-11-26armv7r: K3: Allow SPL to run only on core 0Lokesh Vutla
Based on the MCU R5 efuse settings, R5F cores in MCU domain either work in split mode or in lock step mode. If efuse settings are in lockstep mode: ROM release R5 cores and SPL continues to run on the R5 core is lockstep mode. If efuse settings are in split mode: ROM releases both the R5 cores simultaneously and allow SPL to run on both the cores. In this case it is bootloader's responsibility to detect core 1 and park it. Else both the core will be running bootloader independently which might result in an unexpected behaviour. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-11-26add default-option to bootmenuFrank Wunderlich
with this patch the selected Entry in bootmenu can be set by environment-var bootmenu_default=<number> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2018-11-26Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini
2018-11-26Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini
2018-11-26Merge git://git.denx.de/u-boot-riscvTom Rini
2018-11-26usb: storage: s/CONFIG_BLK/CONFIG_IS_ENABLED(BLK)/Sven Schwermer
This fixes link issues when building the SPL without USB driver model but with USB storage support. CONFIG_BLK can be enabled and disabled independently for SPL and non-SPL builds. We leverage that existing functionality here. Signed-off-by: Sven Schwermer <sven@svenschwermer.de>
2018-11-26usb: s/CONFIG_DM_USB/CONFIG_IS_ENABLED(DM_USB)/Sven Schwermer
This allows to disable the USB driver model in SPL because it checks the CONFIG_SPL_DM_USB variable for SPL builds. Nothing changes for regular non-SPL builds. Signed-off-by: Sven Schwermer <sven@svenschwermer.de>
2018-11-26usb: Remove CMD_USB dependency for common codeSven Schwermer
Common USB code is built whenever USB is enabled (in non-SPL builds). The USB uclass is built whenever (SPL_)DM_USB is enabled. Both need to be independent from CMD_USB. Signed-off-by: Sven Schwermer <sven@svenschwermer.de>
2018-11-26usb: am335x_evm: Disable CONFIG_SPL_DM_USBSven Schwermer
This configuration doesn't use USB in the SPL, so we need to disable driver model for USB in the SPL. Signed-off-by: Sven Schwermer <sven@svenschwermer.de>
2018-11-26usb: Introduce CONFIG_SPL_DM_USBSven Schwermer
This allows building the SPL without driver model for USB. Since CONFIG_SPL_DM_USB is enabled if and only if CONFIG_DM_USB was enabled before, this patch does not change the build behaviour. Signed-off-by: Sven Schwermer <sven@svenschwermer.de>
2018-11-26Merge branch '2018-11-25-master-imports'Tom Rini
- Bring in the series from Simon for SPL logging support and bloblist
2018-11-26spl: Add support for passing handoff info to U-Boot properSimon Glass
There is some basic informaton that SPL normally wants to pass through to U-Boot, such as the SDRAM size and bank information. Mkae use of the new bloblist structure for this. Add a new 'handoff' blob which is set up in SPL and passed to U-Boot proper. Also adda test for sandbox_spl that checks that this works correctly and a new 'sb' command to show the information passed from SPL. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26sandbox: Boot in U-Boot through the standard callSimon Glass
Most architectures use jump_to_image_no_args() to jump from SPL to U-Boot. At present sandbox is special in that it jumps in its spl_board_load_image() call. This is not strictly correct, and means that sandbox misses out some parts of board_init_r(), just as calling bloblist_finish(), for example. Change spl_board_load_image() to just identify the filename to boot, and implement jump_to_image_no_args() to actually jump to it. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26sandbox: Filter arguments when starting U-BootSimon Glass
The current method of starting U-Boot from U-Boot adds arguments to pass the memory file through, so that memory is preserved. This is fine for a single call, but if we call from TPL -> SPL -> U-Boot the arguments build up and we have several memory files in the argument list. Adjust the implementation to filter out arguments that we want to replace with new ones. Also print a useful error if the exec() call fails. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26sandbox: Use malloc() and free() from os layerSimon Glass
At present sandbox calls malloc() from various places in the OS layer and this results in calls to U-Boot's malloc() implementation. It is better to use the on in the OS layer, since it does not mix allocations with the main U-Boot code. Fix this by replacing calls with malloc() to os_malloc(), etc. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
2018-11-26sandbox: Refactor code to create os_jump_to_file()Simon Glass
At present os_jump_to_image() jumps to a given image, and this is written to a file. But it is useful to be able to jump to a file also. To avoid duplicating code, split out the implementation of os_jump_to_image() into a new function that jumps to a file. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26sandbox: Allow puts() output before global_data is set upSimon Glass
We support putc() in this case but not puts(), but this is more useful since it is what printf() uses. This particularly affects debugging early in SPL, where currently printf() statements result in no output. Fix this by adding a special case into puts() for sandbox, just like putc(). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
2018-11-26sandbox: Add a new 'sb' commandSimon Glass
The old 'sb' command was deprecated in 2015 and replaced with 'host'. It is useful to be able to access some internal sandbox state, particularly for testing. Resurrect the old command and provide a way to print some basic state information (currently just the arguments to sandbox). Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26sandbox: Drop the deprecated 'sb' commandSimon Glass
The old 'sb' command was deprecated in 2015 and replaced with 'host'. Remove the remaining users and the command, so that the name is available for other purposes. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26sandbox: Add an option to display of-platdata in SPLSimon Glass
At present we don't have a test that of-platdata can be accessed in SPL. Add this in as a command-line option to SPL. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26test/py: Add a way to pass flags to sandboxSimon Glass
It is sometimes useful to restart sandbox with some particular flags to test certain functionality. Add a new method to ConsoleSandbox to handle this, without changing the existing APIs. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com>
2018-11-26sandbox: Add a memory map to the sandbox READMESimon Glass
We have a few things in the memory map now, so add documentation for this to avoid confusion. Also note that it is possible to run all tests now. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26spl: Add a comment to spl_set_bd()Simon Glass
There is a strange feature to set global_data to a data-section variable early in SPL. This only works if SPL actually has access to SRAM which is not the case on x86, for eaxmple. Add a comment to this effect. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26spl: Make SPL_DISABLE_BANNER_PRINT a positive optionSimon Glass
Rather than having a negative option, make this a positive option and enable it by default. This makes it easier to understand. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26spl: Add a define for SPL_TPL_PROMPTSimon Glass
We should use a macro rather than hard-coding the SPL prompt to 'spl' since the code can be used by TPL too. Add a macro that works for both and use it in various places. This allows TPL to use the same code without printing confusing messages. Note that the string is lower case ('spl', 'tpl') which is a change from previously. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26spl: Support hash, input, pch, pci, rtc, tpm in SPLSimon Glass
At present these subsystems are only supported in U-Boot proper but it is sometimes necessary to support them in SPL, or even TPL. Update the Kconfig and Makefile to support this. Also adjust GPIO so that it can be used in TPL if required. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26Add bloblist documentationSimon Glass
Add a description of the purpose of bloblist and how to use it. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26test: Add a simple test for bloblistSimon Glass
Add a unit test for the bloblist functionality and enable bloblist for sandbox. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26bloblist: Locate bloblist in U-BootSimon Glass
Add support for locating a bloblist in U-Boot that has been set up by SPL. It is copied into RAM during relocation. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26spl: Set up the bloblist in SPLSimon Glass
The bloblist is normally set up in SPL ready for use by U-Boot. Add a simple implementation of this to the common SPL code. Signed-off-by: Simon Glass <sjg@chromium.org>
2018-11-26Add core support for a bloblist to convey data from SPLSimon Glass
At present there is no standard way in U-Boot to pass information from SPL to U-Boot proper. But sometimes SPL wants to convey information to U-Boot that U-Boot cannot easily figure out. For example, if SPL sets up SDRAM then it might want to pass the size of SDRAM, or the location of each bank, to U-Boot proper. Add a new 'bloblist' feature which provides this. A bloblist is set up in the first phase of U-Boot that runs (i.e. TPL or SPL). The location of this info may be in SRAM or CAR (x86 cache-as-RAM) or somewhere else. Information placed in this region is preserved (with a checksum) through TPL and SPL and ends up in U-Boot. At this point it is copied into SDRAM so it can be used after relocation. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Andreas Dannenberg <dannenberg@ti.com>
2018-11-26spl: Add support for logging in SPL and TPLSimon Glass
It is sometimes useful to log information in SPL and TPL. Add support for this. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>