summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-23xilinx: versal: Add usb dfu/thor distro boot supportT Karthik Reddy
Change "dfu_usb" to "usb_dfu" for better representation and change required macros. Add 60s timeout of dfu-utils to start transaction. Add support for usb thor to distro boot. Remove DFU_ALT_INFO_RAM as we use bootcmd_usb_dfu instead of dfu_ram. Signed-off-by: T Karthik Reddy <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2021-04-23xilinx: zynqmp: Remove dfu_ram_info setupMichal Simek
The dfu ram info is wired in connection to Linux kernel and certain setup. We should change this to be more generic as others command. That's why using boot via script is the way to go. Signed-off-by: Michal Simek <[email protected]>
2021-04-23xilinx: zynqmp: Add usb dfu/thor distro boot supportT Karthik Reddy
In usb boot mode distro boot should select usb device as primary boot device instead of usb host. So make usb dfu as primary boot device. But do not list it in boot_targets as fallback option because it is not classic mode for booting. Using 60s timeout by default should be enough time for dfu-utils to start transaction. In case none needs this please change timeout value in the command or disable CONFIG_DFU_TIMEOUT. Signed-off-by: T Karthik Reddy <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2021-04-23cmd: dfu: Propagate error if dfu gadget failsMichal Simek
On systems without usb gadget dfu core fails which was reported by error but command itself returns pass which breaks any usage in a script. That's why propagate error from run_usb_dnl_gadget(). Fixes: 16297cfb2a20 ("usb: new board-specific USB init interface") Signed-off-by: Michal Simek <[email protected]>
2021-04-23xilinx: Enable redundant variable handlingMichal Simek
Enable this feature by default to be able to work with env import/export commands which are done in this slightly changed variable format (There is addtional flag fields in variable file which is changing CRC calculation). Signed-off-by: Michal Simek <[email protected]>
2021-04-23xilinx: versal: Add support for saving env based on bootmodeAshok Reddy Soma
Enable saving variables to MMC(FAT) and SPI based on primary bootmode. If bootmode is JTAG, dont save env anywhere(NOWHERE). Enable ENV_FAT_DEVICE_AND_PART="0:auto" for Versal platforms as well. Signed-off-by: Ashok Reddy Soma <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2021-04-23xilinx: zynq: Add support for saving env based on bootmodeAshok Reddy Soma
Enable saving variables to MMC(FAT), NAND, SPI based on primary bootmode. If bootmode is JTAG, dont save env anywhere(NOWHERE). Since most of the flashes on zynq evaluation boards are 16MB in size, set default ENV_OFFSET to 15MB(0xE00000). Signed-off-by: Ashok Reddy Soma <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2021-04-23env: Setup default value for ENV_OFFSET_REDUNDMichal Simek
This variable is used for pointing to location where redundant variables are located. There is no default value. And it doesn't need to be specified which is showing as warning when savedefconfig is called. make xilinx_zynqmp_virt_defconfig # # configuration written to .config # make savedefconfig scripts/kconfig/conf --savedefconfig=defconfig Kconfig .config:199:warning: symbol value '' invalid for ENV_OFFSET_REDUND Signed-off-by: Michal Simek <[email protected]>
2021-04-22usb: ehci-hcd: Add IAA handshake for removing async QHYe Li
According to EHCI spec, software needs to do handshake with HC for safely removing QH from async list. This handshake is implemented by setting IAAD (Interrupt on Async Advance Doorbell) bit in USB_USBCMD register and poll the IAA (Interrupt on Async Advance bit) in the USB_USBSTS to ensure the HC has released all on-chip state that may potentially reference one of the data structures just removed. Current codes only check active status of the last QTD, but this can't ensure the QH is released from HC. We can meet unrecoverable "EHCI timed out on TD" errors when running UEFI SCT tests on USB disk. The USB_ASYNCLISTADDR register is changed to a invalid address when the issue happens. It is fixed after adding the IAA handshake. Steps to reproduce the issue: 1. Build the UEFI SCT from https://github.com/tianocore/edk2-test 2. Build the EDK2 UEFI Shell from https://github.com/tianocore/edk2 3. Copy SCT files and Shell.efi to USB disk FAT partition 4. Load the Shell.efi from USB FAT, and run bootefi to execute it 5. After booting into Shell, enter the SCT directory and run "sct -a" to execute all tests. 6. Tests run about 1 hour and stop with many EHCI timeout errors like EHCI timed out on TD - token=0x801f8c80 Signed-off-by: Ye Li <[email protected]>
2021-04-22configs: stm32mp15: increase the number of reserved memory region in lmbPatrick Delaunay
For the latest kernel device tree the max number of reserved regions in lmb library is reached: 8 with 5 reserved regions in device tree. When a new region is added, the lmb allocation for the device tree relocation failed and boot with ramdisk failed. This patch avoids this issue by increasing the max number of supported reserved memory in lmb library to 16. Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22lmb: Add 2 config to define the max number of regionsPatrick Delaunay
Add 2 configs CONFIG_LMB_MEMORY_REGIONS and CONFIG_LMB_RESERVED_REGIONS to change independently the max number of the regions in lmb library. When CONFIG_LMB_USE_MAX_REGIONS=y, move the lmb property arrays to struct lmb and manage the array size with the element 'max' of struct lmb_region; their are still allocated in stack. When CONFIG_LMB_USE_MAX_REGIONS=n, keep the current location in struct lmb_region to allow compiler optimization. Increase CONFIG_LMB_RESERVED_REGIONS is useful to avoid lmb errors in bootm when the number of reserved regions (not adjacent) is reached: + 1 region for relocated U-Boot + 1 region for initrd + 1 region for relocated linux device tree + reserved memory regions present in Linux device tree. The current limit of 8 regions is reached with only 5 reserved regions in DT. see Linux kernel commit bf23c51f1f49 ("memblock: Move memblock arrays to static storage in memblock.c and make their size a variable") Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22test: lmb: add test for overflow protection in lmb_add_regionPatrick Delaunay
Add test for max number of memory regions and in reserved regions. Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22lmb: correct size of the regions arrayPatrick Delaunay
As in lmb_region, cnt < max and in the lmb library use region[i] only with i in 0...cnt, this region array size can be reduced by 1 element without overflow. This patch allows to reduce the struct lmb size. Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22lmb: move MAX_LMB_REGIONS value in KconfigPatrick Delaunay
Move MAX_LMB_REGIONS value in Kconfig, the max number of the regions in lmb library. Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22lmb: add a max parameter in the struct lmb_regionPatrick Delaunay
Add a max parameter in lmb_region struct to handle test in lmb_add_region without using the MAX_LMB_REGIONS define. This patch allows to modify these size independently for memory of reserved regions in the next patches. Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22lmb: remove lmb_region.sizePatrick Delaunay
Remove the unused field size of struct lmb_region as it is initialized to 0 and never used after in lmb library. See Linux kernel commit 4734b594c6ca ("memblock: Remove memblock_type.size and add memblock.memory_size instead") Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22lmb: move CONFIG_LMB in KconfigPatrick Delaunay
Migrate CONFIG_LMB in Kconfig. Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-22checkpatch: Ignore ENOSYS warningsSean Anderson
There are no system calls in U-Boot, but ENOSYS is still allowed (and preferred since 42a2668743 ("dm: core: Document the common error codes")). Silence this warning. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-22test: Add test for partitionsSean Anderson
This is technically a library function, but we use MMCs for testing, so it is easier to do it with DM. At the moment, the only block devices in sandbox are MMCs (AFAIK) so we just test with those. Signed-off-by: Sean Anderson <[email protected]>
2021-04-22part: Fix bogus return from part_get_info_by_dev_and_nameSean Anderson
blk_get_device_by_str returns the device number on success. So we must check if the return was negative to determine an error. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-22cmd: fs: Use part_get_info_by_dev_and_name_or_num to parse partitionsSean Anderson
This allows using dev#partlabel syntax. Signed-off-by: Sean Anderson <[email protected]>
2021-04-22test: Alphabetize dm MakefileSean Anderson
Recently, tests have been added primarily to the end of the dm Makefile. This results in merge conflicts when two people add new tests at the same time. To reduce these conflicts, alphabetize the makefile. Signed-off-by: Sean Anderson <[email protected]>
2021-04-22Merge branch '2021-04-22-udoo_neo-update'Tom Rini
- Update the udoo_neo platform for DM support
2021-04-22mips: octeon: octeon_ebb7304_defconfig: Enable USB storage supportStefan Roese
This patch enables USB storage support with the necessary partition support on the MIPS Octeon EBB7304. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]>
2021-04-22mips: octeon: octeon_ebb7304_defconfig: Enable MMC supportStefan Roese
Enable MMC support including the regulator support on Octeon EBB7304. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-22mips: octeon: mrvl,octeon_ebb7304.dts: Add MMC DT nodeStefan Roese
Add the MMC DT node to the Octeon EBB7304 DT file including the regulator node for the MMC power supply. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-22mips: octeon: mrvl,cn73xx.dtsi: Add MMC DT nodeStefan Roese
Add the MMC DT node to the Octeon CN73xx dtsi file. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-22mmc: octeontx_hsmmc: Add support for MIPS OcteonStefan Roese
Until now, the Octeontx MMC driver did only support the ARM Octeon TX/Tx2 platforms. This patch adds support for the MIPS Octeon platform to this driver. Here a short summary of the changes: - Enable driver compilation for MIPS Octeon, including the MMC related header file - Reorder header inclusion - Switch to using the clk framework to get the input clock - Remove some functions for MIPS Octeon, as some registers don't exist here Signed-off-by: Stefan Roese <[email protected]> Cc: Peng Fan <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-22mips: mt7628: fix the displayed DDR type of mt7628Weijie Gao
The MT7688KN is a multi-chip package with 8MiB DDR1 KGD. So the DDR type from bootstrap register must be ignored, and always be assumed as DDR1. This patch fixes the displayed DDR type of mt7628. Signed-off-by: Weijie Gao <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-04-22mips: mt7628: fix ddr_type for MT7688KNWeijie Gao
The MT7688KN is a multi-chip package with 8MiB DDR1 KGD. So the DDR type from bootstrap register must be ignored, and always be assumed as DDR1. This patch fixes an issue that mt7628_ddr_pad_ldo_config() may be passed with a wrong ddr_type in MT7688KN. Signed-off-by: Weijie Gao <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-04-22net: jr2: Fix Serdes6G configurationHoratiu Vultur
Sometimes no traffic was getting out on the ports, the root cause was a wrong configuration of the Serdes6G, which is used on jr2 pcb111. This patch fixes this issue by applying the correct configuration. Fixes: 5e1d417bec92ac ("net: Add MSCC Jaguar2 network driver.") Signed-off-by: Horatiu Vultur <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2021-04-22net: jr2: Reset switchHoratiu Vultur
Make sure to reset the switch core at probe time. Signed-off-by: Horatiu Vultur <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2021-04-20ARM: imx: udoo_neo: Convert to ethernet DMPeter Robinson
Convert the UDOO Neo to ethernet DM support. Signed-off-by: Peter Robinson <[email protected]> Cc: Francesco Montefoschi <[email protected]> Cc: Breno Lima <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]>
2021-04-20ARM: imx: udoo_neo: convert to DM_MMCPeter Robinson
Convert UDOO Neo to use DM MMC. Signed-off-by: Peter Robinson <[email protected]> Cc: Francesco Montefoschi <[email protected]> Cc: Breno Lima <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]>
2021-04-20ARM: imx: udoo_neo: Enable OF_CONTROL and DM gpio/pin controlPeter Robinson
Enable OF_CONTROL and DM for gpio and pin control support on the i.MX6SX based Udoo Neo. Signed-off-by: Peter Robinson <[email protected]> Cc: Francesco Montefoschi <[email protected]> Cc: Breno Lima <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]>
2021-04-20ARM: board: udoo_neo: Import UDOO Neo dts filesPeter Robinson
Import the i.MX6SX based UDOO Neo dts files from Linux 5.12-rc1 and sync the i.MX6SX pinfunc.h Signed-off-by: Peter Robinson <[email protected]> Cc: Francesco Montefoschi <[email protected]> Cc: Breno Lima <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-04-20Merge branch '2021-04-20-assorted-improvements'Tom Rini
- ARM64 GIC fix, CONFIG_IRQ now moved to Kconfig - IDE, lz4 fixes - octeontx cleanups / enhancements - highbank DM migration - psci updates - Enable use of -fstack-protector
2021-04-20Add support for stack-protectorJoel Peshkin
Add support for stack protector for UBOOT, SPL, and TPL as well as new pytest for stackprotector Signed-off-by: Joel Peshkin <[email protected]> Adjust UEFI build flags. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-04-20x86: correct usage of CFLAGS_NON_EFIHeinrich Schuchardt
The current usage of the variable CFLAGS_NON_EFI on the x86 architecture deviates from other architectures. Variable CFLAGS_NON_EFI is the list of compiler flags to be removed when building UEFI applications. It is not a list of flags to be added anywhere. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-04-20test: fix test/dm/regmap.cHeinrich Schuchardt
regmap_read() only fills the first two bytes of val. The last two bytes are random data from the stack. This means the test will fail randomly. For low endian systems we could simply initialize val to 0 and get correct results. But tests should not depend on endianness. So let's use a pointer conversion instead. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-20toradex: configblock: fix module revision in config blockDenys Drozdov
U-boot might display wrong module revision information for modules with an assembly version 'K'. "cfgblock create" does not takes into account all revision digits from PID8. This fix takes into account all digits of PID8 to store module revision. Signed-off-by: Denys Drozdov <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2021-04-20doc: usage: add usage details for reset cmdIgor Opaniuk
Add usage details for reset command. Signed-off-by: Igor Opaniuk <[email protected]>
2021-04-20sysreset: provide type of reset in do_reset cmdIgor Opaniuk
Add additional param for reset cmd, which provides type of reset. Signed-off-by: Igor Opaniuk <[email protected]>
2021-04-20sysreset: psci: use psci driver exported functionsIgor Opaniuk
Use psci driver exported functions for reset/poweroff, instead of invoking directly invoke_psci_fn. Signed-off-by: Igor Opaniuk <[email protected]>
2021-04-20psci: add features/reset2 supportIgor Opaniuk
Adds support for: * PSCI_FEATURES, which was introduced in PSCI 1.0. This provides API that allows discovering whether a specific PSCI function is implemented and its features. * SYSTEM_RESET2, which was introduced in PSCI 1.1, which extends existing SYSTEM_RESET. It provides support for vendor-specific resets, providing reset_type as an additional param. For additional details visit [1]. Implementations of some functions were borrowed from Linux PSCI driver code [2]. [1] https://developer.arm.com/documentation/den0022/latest/ [2] drivers/firmware/psci/psci.c Signed-off-by: Igor Opaniuk <[email protected]>
2021-04-20psci: add v1.0/v1.1 definitions from LinuxIgor Opaniuk
Sync and add PSCI API versions 1.0/1.1 definitions from Linux. Signed-off-by: Igor Opaniuk <[email protected]>
2021-04-20sysinfo.h: Add re-inclusion guardTom Rini
Add #ifndef __SYSINFO_H__ ... #endif to prevent re-inclusion of this file. Signed-off-by: Tom Rini <[email protected]>
2021-04-20arm: highbank: Update maintainershipAndre Przywara
Rob does not have access to any Calxeda systems anymore, also has expressed a lack of interest in those systems in the past. I have multiple working Midway nodes under my desk in the office, so am happy to take over maintainership. Signed-off-by: Andre Przywara <[email protected]>
2021-04-20arm: highbank: Do DRAM init from DTAndre Przywara
So far U-Boot was hard coding a (surely sufficient) memory size of 512 MB, even though all machines out there have at least 4GB of DRAM. Since U-Boot uses its memory knowledge to populate the EFI memory map, we are missing out here, at best losing everything beyond 4GB on Midway boxes (which typically come with 8GB of DRAM). Since the management processor populated the DT memory node already with the detected DRAM size and configuration, we use that to populate U-Boot's memory bank information, which is the base for the UEFI memory map. This finally allows us to get rid of the NR_DRAM_BANKS=0 hack, that we had in place to avoid U-Boot messing up the DT memory node before loading the kernel. Also, to cover the whole of memory, we need to enable PHYS_64BIT. Signed-off-by: Andre Przywara <[email protected]>
2021-04-20arm: highbank: Remove artificial SDRAM sizeAndre Przywara
So far we were defining a somewhat confusing PHYS_SDRAM_1_SIZE variable, which originally was only used for setting the memtest boundaries. This definition in highbank.h has been removed about a year ago (moved to Kconfig), so we also don't need the hard-coded size definition any longer. Get rid of the misleading memory size definition, which was actually wrong anyway (it's 4088 MB for those machines with just 4GB of DRAM). Signed-off-by: Andre Przywara <[email protected]>