summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2019-10-08ARM: zynq: Fix NOR boot modeMichal Simek
There are two typos in this command that's why it couldn't work properly. This bootmode is almost unused from the beggining on this SoC. Fixes: 90e97ab31e02 ("arm: zynq: Define distro boot commnads for qspi, nand and nor") Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08ARM: zynq: Enable USB1 as secondary boot deviceMichal Simek
Xilinx Zynq SoC has two usb controllers and both could be used as secondary boot method. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08ARM: zynq: Specify MMC controller number for boot sequenceMichal Simek
Xilinx Zynq SoC has two sdhci controllers but boot is only possible from the first one. That's why there is a need to specify controller number. mmc1 is supposed to be secondary boot device and should be also listed in distribution boot. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: versal: Fix for OCM overwriting issueAshok Reddy Soma
This patch reduces the console buffer size from 2048 to 1024, thus fixes OCM overwriting issue. Differences are in bss section as is shown from output: xilinx_versal_mini: all -2056 bss -2048 text -8 u-boot: add: 0/0, grow: 0/-3 bytes: 0/-2056 (-2056) function old new delta cli_simple_run_command 340 332 -8 static.lastcommand 2049 1025 -1024 console_buffer 2049 1025 -1024 Better would be to use PPU RAM but this change is also aligned with changes done in ZynqMP mini configurations. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08ARM: zynq: Increase input buffer console size to 2kMichal Simek
ZynqMP and Versal is using 2k that's why aligned all platform together to be able to use the same scripts. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08ARM: zynq: Increase init ram size by 4KSiva Durga Prasad Paladugu
Increase init ram size by 4K such that more stack space will be available during initialization as the present stackspace is not sufficient if DEBUG option is enabled and causes system hang. Increasing init ram size provides sufficient stack space during init even if DEBUG enabled and solves the hang issue. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08ARM: zynq: Do not enable NETBSD support by defaultMichal Simek
This option is disable in Xilinx tree for quite a long time that's why let's disable it in mainline. If there is anybody who requires this options then it should be moved to Kconfig first and should be removed from this config. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: zynqmp: Add new jtag distro boot commandSiva Durga Prasad Paladugu
This patch adds new jtag distro boot command to look for bootscript file in DDR and execute it first incase of jtag bootmode. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: zynqmp: Update scriptaddr value to 512MBSiva Durga Prasad Paladugu
This patch updates scriptaddr value to 512MB as having it at 32MB has high chance of script corruption incase of bigger kernel. Be aware that 512MB is used for SPL malloc area that's why images should be loaded after SPL (the best after u-boot relocation). Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: versal: Change boot script offset address in versalT Karthik Reddy
With the current boot script offset address in qspi is being overlaped by BOOT.BIN as it is over 90MB with fpga included. So moving the script offset address to end of flash after "bootenv" mtd partition. Here we are considering qspi flash size >= 128Mbytes on versal and left 512Kbytes space to save boot.scr script. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: versal: Add new dfu usb distro boot commandT Karthik Reddy
This patch adds new dfu usb distro boot command to look for bootscript from dfu-util and runs it. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
2019-10-08arm64: versal: Add new jtag distro boot commandSiva Durga Prasad Paladugu
This patch adds new jtag distro boot command to look for bootscript file in DDR and execute it first incase of jtag bootmode. This patch also updates scriptaddr to 512MB as there is high of script corruption incase of bigger kernel image. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: versal: Define configs related to USB DFU functionalitySiva Durga Prasad Paladugu
This patch defines macros required for DFU functionality for Xilinx Versal platform. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: zynqmp: Set initrd_high to as high as possibleT Karthik Reddy
This patch is setting up the initrd_high to as high as possible by leaving max stack size for u-boot so that bigger rootfs can also be loaded by u-boot for booting kernel. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: versal: Set initrd_high to as high as possibleSiva Durga Prasad Paladugu
This patch is setting up the initrd_high to as high as possible by leaving max stack size for u-boot so that bigger rootfs can also be loaded by u-boot for booting kernel. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08arm64: versal: fpga: Add PL bit stream load supportSiva Durga Prasad Paladugu
This patch adds PL bitstream load support for Versal platform. The PL bitstream is loaded by making an SMC to ATF which in turn communicates with platform firmware which configures and loads PL bitstream on to PL. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-08configs: sam9x60ek: Add QSPI_BOOT definesTudor Ambarus
Cope with the offsets defined at: https://www.at91.com/linux4sam/pub/Linux4SAM/SambaSubsections/demo_nandflash_map_lnx4sam6x.png The environment starts at 0x140000 and it's of size 0x20000. The device tree starts at 0x180000 and it's of size 0x80000. The zImage starts at 0x200000 and it's of size 0x600000. Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
2019-10-08board: sam9x60ek: Add NAND flash supportTudor Ambarus
- EBI Chip Select Register is now in SFR, - the pins are set to default values, - timings are matching MT29F4G08BABWP's nand flash requirements. Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
2019-10-08board: atmel: Add sam9x60ek boardSandeep Sheriker Mallikarjun
Add new board SAM9X60-EK using the ARM926 SAM9X60 SoC. Signed-off-by: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@microchip.com> [tudor.ambarus@microchip.com: - fix number of DRAM banks: One DDR2-SDRAM (W972GG6KB 2 Gbit = 16 Mbit x 16 x 8 banks] - drop SPL related macros - drop memtest macros - drop CONFIG_SPI_BOOT, CONFIG_SYS_USE_DATAFLASH related macros - drop inclusion of asm/arch/at91sam9_smc.h] Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
2019-10-08board: atmel: sama5d27_wlsom1_ek: fix SPL OFFS on SPIEugen Hristev
Fixes redefinition of CONFIG_SYS_SPI_U_BOOT_OFFS This is now a Kconfig Fixes: e40a9ba6d2d5 ("board: atmel: sama5d2_wlsom1_ek: add qspi support and qspi boot config") Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-08board: atmel: sama5d2_wlsom1_ek: add qspi support and qspi boot configEugen Hristev
Add support for qspi memory on board. Created boot support for QSPI for both u-boot proper and SPL. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-08board: atmel: sama5d2_wlsom1_ek: add SPL supportEugen Hristev
Add support for SPL for this board: DRAM initialization, PMC initialization, MMC boot. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-08board: atmel: add sama5d27_wlsom1_ek boardNicolas Ferre
Add support for the SAMA5D27-WLSOM1-EK. It's based on the Microchip WireLess SoM which contains the SAMa5D27 LPDDR2 2Gbits SiP. Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com> [eugen.hristev@microchip.com]: added u-boot specific dtsi and ported to 2019.10 Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-08dm: core: Drop fdtdec_get_pci_addr()Simon Glass
This function ise effectively replaced by ofnode_read_pci_addr() which works with flat tree. Delete it to avoid code duplication. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08x86: Move acpi_s3.h to a common locationSimon Glass
At present this hedaer is only available on x86. To allow sandbox to use it for testing, move it to a common location. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08spl: Allow distinguishing between two phases in U-BootSimon Glass
U-Boot has two distinct phases: before and after relocation. These are commonly referred to as F (running from Flash) and R (Relocated and running from RAM). Some drivers want to do different things in these phases so update the SPL phase function to return a different value for each. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08arm: mxs: Correct CONFIG_SPL_NO_CPU_SUPPORT optionSimon Glass
At present this is defined in Kconfig but there is a separate one in the CONFIG whitelist. It looks like these are duplicates. Rename the non-Kconfig one and remove it from the whitelist. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08cros_ec: Add MEC_EMI_BASE and size to the header fileSimon Glass
Provide these values which are part of the EC interface now. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08log: Add log_nop() to avoid unused-variable warningsSimon Glass
If a log statement includes a variable and logging is disabled, this can generate warnings about unused variables. Add a bit more complexity to the macros to avoid this for the common case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08serial: ns16550: Add a PCI device/function fieldSimon Glass
When this UART is used early in boot (before PCI is set up) it is convenient to store the PCI BDF of the UART so that it can be manually configured. This is useful when it is used as a debug UART, for example. Add a new field to hold this information, so that drivers can simply use the existing platform data. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08dm: pci: Add a function to read a PCI BARSimon Glass
At present PCI address transaction is not supported so drivers must manually read the correct BAR after reading the device tree info. The ns16550 has a suitable implementation, so move this code into the core DM support. Note that there is no live-tree equivalent at present. 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: correct the unclear comments in test.dts] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08pci: Correct 'specifified' and 'Plese' typosSimon Glass
Fix these spelling errors the header file and documentation. Fix a small typo in the PCI documentation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08pci: sandbox: Move the emulators into their own nodeSimon Glass
Sandbox pci works using emulation drivers which are currently children of the pci device: pci-controller { pci@1f,0 { compatible = "pci-generic"; reg = <0xf800 0 0 0 0>; emul@1f,0 { compatible = "sandbox,swap-case"; }; }; }; In this case the emulation device is attached to pci device on address f800 (device 1f, function 0) and provides the swap-case functionality. However this is not ideal, since every device on a PCI bus has a child device. This is only really the case for sandbox, but we want to avoid special-case code for sandbox. Worse, child devices cannot be probed before their parents. This forces us to use 'find' rather than 'get' to obtain the emulator device. In fact the emulator devices are never probed. There is code in sandbox_pci_emul_post_probe() which tries to track when emulators are active, but at present this does not work. A better approach seems to be to add a separate node elsewhere in the device tree, an 'emulation parent'. This could be given a bogus address (such as -1) to hide the emulators away from the 'pci' command, but it seems better to keep it at the root node to avoid such hacks. Then we can use a phandle to point from the device to the correct emulator, and only on sandbox. The code to find an emulator does not interfere with normal pci operation. Add a new UCLASS_PCI_EMUL_PARENT uclass which allows finding an emulator given a bus, and finding a bus given an emulator. Update the existing device trees and the code for finding an emulator. This brings PCI emulators more into line with I2C. 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: fix 3 typos in the commit message; encode bus number in the labels of swap_case_emul nodes; mention commit 4345998ae9df in sandbox_pci_get_emul()] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08sandbox: pci: Move pci_offset_to_barnum() to pci.hSimon Glass
This function is useful in PCI emulators. More it into the header file to avoid duplicating it in other drivers. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08sandbox: pci: Drop the get_devfn() methodSimon Glass
This method is not used anymore since the bus/device/function of PCI devices can be obtained from their (parent's per-child) platform data. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08dm: core: Add device_foreach_child()Simon Glass
We have a 'safe' version of this function but sometimes it is not needed. Add a normal version too and update a few places that can use it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08dm: core: Correct the return value for uclass_find_first_device()Simon Glass
This function returns -ENODEV when there is no device. This is inconsistent with other functions, such as uclass_find_next_device(), which returns 0. Update it and tidy up the incorrect '-1' values in the comments. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08efi: Move inline functions to unconditional part of headerSimon Glass
At present these two functions are defined in efi_loader.h but only if CONFIG_EFI_LOADER is enabled. But these are functions that are useful to other code, such as that which deals with Intel Handoff Blocks (HOBs). Move these to the top of the function. Possibly ascii2unicode() should not be an inline function, since this might impact code size. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08spl: Add a function to determine the U-Boot phaseSimon Glass
U-Boot is built in three phases: TPL, SPL and U-Boot proper. Sometimes it is necessary to use different init code depending on the phase. For example, TPL might do very basic CPU init, SPL might do a little more and U-Boot proper might bring the CPU up to full speed and enable all cores. Add a function which allows easy determination of the current phase being built. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08spl: Add an arch-specific hook for writing to SPL handoffSimon Glass
At present there is an arch-specific area in the SPL handoff area intended for use by arch-specific code, but there is no explicit call to fill in this data. Add a hook for this. Also use the hook to remove the sandbox-specific test code from write_spl_handoff(). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08mtd: spi: Add 'struct spi_flash {' to the codeSimon Glass
At present spi_flash is defined to be spi_nor which is confusing since it is not possible to find the 'spi_flash' by normal text search. Add a comment to help with this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-08watchdog: move WATCHDOG_TIMEOUT_MSECS to KconfigHeiko Schocher
move WATCHDOG_TIMEOUT_MSECS to Kconfig and fix all board defconfigs. Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Stefan Roese <sr@denx.de> Acked-by: Lukasz Majewski <lukma@denx.de> Acked-by: Martyn Welch <martyn.welch@collabora.com> Signed-off-by: Stefan Roese <sr@denx.de>
2019-10-06efi: device path for nvmePatrick Wildt
This allows our EFI API to create a device path node for NVMe devices. It adds the necessary device path struct, uses the nvme namespace accessor to retrieve the id and eui64, and also provides support for the device path text protocol. Signed-off-by: Patrick Wildt <patrick@blueri.se> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-10-06nvme: add accessor to namespace id and eui64Patrick Wildt
This adds a function which can be used by e.g. EFI to retrieve the namespace identifier and EUI64. For that it adds the EUI64 to its driver internal namespace structure and copies the EUI64 during namespace identification. Signed-off-by: Patrick Wildt <patrick@blueri.se> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-04initcall.h: initcall_run_list(): Improve debug outputOvidiu Panait
Existing debug output is mixed with the function name: initcall_run_list() initcall: 25263initcall_run_list() (relocated to 425263) Turn it to: initcall_run_list() initcall: 25263 (relocated to 425263) Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
2019-10-04Kconfig: Migrate CONFIG_BOOTM_* optionsTom Rini
Migrate all of the existing OS support options that are under CONFIG_BOOTM_* to Kconfig. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-10-04ARM: keystone2: update the default addresses of the secure monitorJean-Jacques Hiblot
To accommodate the growth of u-boot, we need to shift the location of the secure monitor. Moving it 64kB further. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-09-30Merge tag 'u-boot-atmel-fixes-2019.10-a' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-atmel First set of u-boot-atmel fixes for 2019.10 cycle: This includes only tiny cleanups on env changes related to 2019.10 new features: removal of duplicate env settings (otherwise there may be warnings in building..) and a small fix for flashes on Gardena smart gateway (requires nand bad block tables).
2019-09-30at91: configs: Drop duplication of defconfig macrosTudor Ambarus
'commit a9221f3ebd6d ("at91, omap2plus: configs: migrate CONFIG_ENV_ to defconfigs")' migrated CONFIG_ENV_ macros to defconfigs but did not remove the identical redefinition of these macros in include/configs/. Since the duplicated macros have the same value as the ones in defconfigs, no "redefined" warnings were raised. Remove duplicated macros for all sama5 and sam9x5ek boards. While verifying that the removal of the macros from include/configs did not change the same macros in defconfigs, overwrite the old defconfig by saving them with the output from "make arch=ARM savedefconfig". This resulted in the movement of some macros in the defconfig files. Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
2019-09-24env: add missing <compiler.h> header filePierre-Jean Texier
Since commit af95f20 ("env: Create a new file for environment functions"), a new header file exists. So, this commit add a missing header file. Fixes: include/env.h:158:1: error: unknown type name ‘ulong’; did you mean ‘long’? ulong env_get_ulong(const char *name, int base, ulong default_val); ^~~~~ long include/env.h:158:49: error: unknown type name ‘ulong’; did you mean ‘long’? ulong env_get_ulong(const char *name, int base, ulong default_val); Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io> Tested-by: Joris Offouga <offougajoris@gmail.com> Tested-by: Heiko Schocher <hs@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>