summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-17fs: Quieten down the filesystems moreSimon Glass
When looking for a filesystem on a partition we should do so quietly. At present if the filesystem is very small (e.g. 512 bytes) we get a host of messages. Update these to only show when debugging. Signed-off-by: Simon Glass <[email protected]>
2022-10-17boot: Correct handling of addresses in boot_relocate_fdt()Simon Glass
This code uses casts between addresses and pointers, so does not work with sandbox. Update it so we can allow sandbox to do device tree fixups. Signed-off-by: Simon Glass <[email protected]>
2022-10-17bootm: Drop #ifdef from do_bootm()Simon Glass
Drop the #ifdefs from this command by using a variable to hold the states that should be executed. Signed-off-by: Simon Glass <[email protected]>
2022-10-17bootm: Avoid returning error codes from commandSimon Glass
Functions which implement commands must return a CMD_RET_... error code. At present bootm can return a negative errno value in some cases, thus causing strange behaviour such as trying to exit the shell and printing usage information. Fix this by returning the correct value. Signed-off-by: Simon Glass <[email protected]>
2022-10-17bootm: Change incorrect 'unsupported' errorSimon Glass
At present when bootm fails, it says: subcommand not supported and then prints help for the bootm command. This is not very useful, since generally the error is related to something else, such as fixups failing. It is quite confusing to see this in a test run. Change the error and show the error code. We could update the OS functions to return -ENOSYS when they do not support the bootm subcommand. But this involves some thought since this is arch-specific code and proper errno error codes are not always returned. Also, with the code as is, all required subcommands are of course supported - a problem would only come if someone added a new one or removed support for one from an existing OS. Therefore it seems better to leave that sort of effort for when our bootm tests are improved. Note: v1 of this patch generated a discussion[1] about printing error strings automatically using printf(). That is outside the scope of this patch but will be dealt with separately. [1] https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ Signed-off-by: Simon Glass <[email protected]>
2022-10-17dm: core: Switch uclass_*_device_err to use uclass_*_device_checkMichal Suchanek
The _err variant iterators use the simple iterators without suffix as basis. However, there is no user that uclass_next_device_err for iteration, many users of uclass_first_device_err use it to get the first and (assumed) only device of an uclass, and a couple that use uclass_next_device_err to get the device following a known device in the uclass list. While there are some truly singleton device classes in which more than one device cannot exist these are quite rare, and most classes can have multiple devices even if it is not the case on the SoC's EVB. In a later patch the simple iterators will be updated to not stop on error and return next device instead. With this in many cases the code that expects the first device or an error if it fails to probe may get the next device instead. Use the _check iterators as the basis of _err iterators to preserve the old behavior. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: core: Switch uclass_foreach_dev_probe to use simple iteratorMichal Suchanek
The return value is not used for anythig, and in a later patch the behavior of the _err iterator will change in an incompatible way. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]> Update pvblock_probe() to avoid using internal var: Signed-off-by: Simon Glass <[email protected]>
2022-10-17mpc83xx: gazerbeam: Update sysinfo_get error handlingMichal Suchanek
In a later patch sysinfo_get will be changed to return the device in cae of an error. Set sysinfo to NULL on error to preserve previous behavior. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17net: eth-uclass: Do not set device on errorMichal Suchanek
eth_get_dev relies on the broken behavior that returns an error but not the device on which the error happened which gives the caller no reasonable way to report or handle the error. In a later patch uclass_first_device_err will be changed to return the device on error but eth_get_dev stores the returned device pointer directly in a global state without checking the return value. Unset the pointer again in the error case. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: blk: Do not use uclass_next_device_errMichal Suchanek
blk_first_device_err/blk_next_device_err uses uclass_first_device_err/uclass_next_device_err for device iteration. Although the function names superficially match the return value from uclass_first_device_err/uclass_next_device_err is never used meaningfully, and uclass_first_device/uclass_next_device works equally well for this purpose. In the following patch the semantic of uclass_first_device_err/uclass_next_device_err will be changed to be based on uclass_first_device_check/uclass_next_device_check breaking this sole user that uses uclass_next_device_err for iteration. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: treewide: Use uclass_next_device_err when accessing second deviceMichal Suchanek
There are a couple users of uclass_next_device return value that get the first device by other means and use uclass_next_device assuming the following device in the uclass is related to the first one. Use uclass_next_device_err because the return value from uclass_next_device will be removed in a later patch. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: treewide: Use uclass_first_device_err when accessing one deviceMichal Suchanek
There is a number of users that use uclass_first_device to access the first and (assumed) only device in uclass. Some check the return value of uclass_first_device and also that a device was returned which is exactly what uclass_first_device_err does. Some are not checking that a device was returned and can potentially crash if no device exists in the uclass. Finally there is one that returns NULL on error either way. Convert all of these to use uclass_first_device_err instead, the return value will be removed from uclass_first_device in a later patch. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17cmd: List all uclass devices regardless of probe errorMichal Suchanek
There are a few commands that iterate uclass with uclass_first_device/uclass_next_device or the _err variant. Use the _check class iterator variant to get devices that fail to probe as well, and print the status. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17w1: Fix bus counting in w1_get_busMichal Suchanek
Use uclass_first_device_check/uclass_next_device_check to correctly count buses that fail to probe. Fixes: d3e19cf919 ("w1: Add 1-Wire uclass") Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17video: ipuv3: Fix error handling when getting the displayMichal Suchanek
The code checks that uclass_first_device returned a device but the returned value that is assigned is never used. Use uclass_first_device_err instead, and move the error return outside of the if block. Fixes: f4ec1ae08e ("mxc_ipuv3_fb.c: call display_enable") Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17stdio: Fix class iteration in stdio_add_devices()Michal Suchanek
There is a complaint in the code that iterates keyboards that we don't have the _check variant of class iterator but we in fact do, use it. In the code that iterates video devices there is an attempt to print errors but the simple iterator does not return a device when there is an error. Use the _check variant of the iterator as well. Also format error messages consistently. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17usb: ether: Fix error handling in usb_ether_initMichal Suchanek
The code checks the return value from uclass_first_device as well as that the device exists but it passes on the return value which may be zero if there are no gadget devices. Just check that a device was returned and return -ENODEV otherwise. Also remove the dev variable which is not really used for anything. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17bootstd: Fix listing boot devicesMichal Suchanek
bootdev_list() uses uclass_*_device_err() to iterate devices. However, the only value _err adds is returning an error when the device pointer is null, and that's checked anyway. Also there is some intent to report errors, and that's what uclass_*_device_check() is for, use it. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: pci: Fix device PCI iterationMichal Suchanek
When there is no PCI bus uclass_first_device will return no bus and no error which will result in pci_find_first_device calling skip_to_next_device with no bus, and the bus is only checked at the end of the while cycle, not the beginning. Fixes: 76c3fbcd3d ("dm: pci: Add a way to iterate through all PCI devices") Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: treewide: Do not opencode uclass_probe_all()Michal Suchanek
We already have a function for probing all devices of a specific class, use it. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: core: Fix uclass_probe_all to really probe all devicesMichal Suchanek
uclass_probe_all uses uclass_first_device/uclass_next_device assigning the return value. The interface for getting meaningful error is uclass_first_device_check/uclass_next_device_check, use it. Also do not stop iteration when an error is encountered. Probing all devices includes those that happen to be after a failing device in the uclass order. Fixes: a59153dfeb ("dm: core: add function uclass_probe_all() to probe all devices") Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: regmap: Disable range checks in SPLSimon Glass
A recent change to regmap breaks building of phycore-rk3288 for me. The difference is only a few bytes. Somehow CI seems to pass, even though it fails when I run docker locally. But it prevents me from sending any more pull requests. In any case this board is clearly near the limit. We could revert the offending change, but it is needed for sandbox tests. Instead, add a way to drop the range checks in SPL, since they end up doing nothing if everything is working as expected. This makes phycore-rk3288 build again for me and reduces the size of SPL slightly for a number of boards. Signed-off-by: Simon Glass <[email protected]> Fixes: 947d4f132b4 ("regmap: fix range checks")
2022-10-18arm: fsl: csu: Reduce size of ns_devSean Anderson
None of the values in this struct are larger than 256, so we can reduce the members to u8s. This saves around 1K. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-10-18arm: layerscape: Disable unused parts of ICID tablesSean Anderson
Several parts of the ICID table are only necessary for U-Boot proper. Disable them in SPL. This saves around 500 bytes. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-10-18arm: layerscape: Don't select FSL_IFC when booting from SD cardSean Anderson
FSL_IFC should only be selected when booting from NAND flash (or when NAND_FSL_IFC is enabled). The existing logic does this correctly when QSPI is also enabled, but not when just booting from SD. Signed-off-by: Sean Anderson <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-10-17CI: Update to jammy-20221003-17Oct2022 tagTom Rini
This includes python3-pyelftools so we can drop it from one of the tests directly. Signed-off-by: Tom Rini <[email protected]>
2022-10-17docker: Install pyelftools for buildsSimon Glass
Binman needs this module to build sandbox_vpl and it is needed elsewhere in CI. Add it to the docker file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-10-17arm64: layerscape: Support SYSRESETSean Anderson
CONFIG_SYSRESET provides its own implementation of reset_cpu. Disable our version when it is enabled. Signed-off-by: Sean Anderson <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-10-17ls1043ardb: nand driver fixups for revision v7.0 boardsWei Lu
The LS1043ARDB rev v7.0 board replace nand device MT29F4G08ABBDAH4-AITX:D with MT29F4G08ABBFAH4-AIT:F. Reflecting this change in board_fix_fdt(). CPLD V3.0 is needed for nandboot as the nand device changed. A new macro CPLD_CFG_RCW_SRC_NAND_4K(4Kpage) is added to distinguish from CPLD_CFG_RCW_SRC_NAND(2Kpage) to support nandboot on rev v7.0 board. Signed-off-by: Wei Lu <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-10-17arm64: ls104x: Enable eDMA snoopingSean Anderson
This enables eDMA snooping on the LS1043A and LS1046A. This will allow marking the I2C, LPUART, and SPI devices on these SoCs as DMA coherent. Oddly, this bit is only documented for the LS1043A, and is marked as "reserved" in the LS1046ARM. I have tested this patch on the LS1046A and found that marking i2c0 as dma-coherent works without issue. Signed-off-by: Sean Anderson <[email protected]> Acked-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-10-16Merge tag 'efi-2023-01-rc1-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2023-01-rc1-3 UEFI: * replace EFI_CALL() by internal functions * delete loadfile2 handle by uninstalling all protocols Other: * Provide spi_set_speed() needed for implementation of EFI SPI I/O protocol
2022-10-16efi_loader: remove efi_delete_handle on loadfile2Ilias Apalodimas
Loadfile2 code is installing two protocols on it's own handle and uses efi_delete_handle() to clean it up on failure(s). However commit 05c4c9e21ae6 ("efi_loader: define internal implementations of install/uninstallmultiple") prepares the ground for us to clean up efi_delete_handle() used in favor of Install/UninstallMultipleProtocol. While at it clean up the non needed void casts to (void *) on the protolcol installation. Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-10-16cmd: simplify efidebugHeinrich Schuchardt
* don't use EFI_CALL() for variable services * don't use runtime pointer to access exported function Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-10-16efi_loader: avoid EFI_CALL() when draining consoleHeinrich Schuchardt
Use internal function. Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-10-16efi_loader: avoid EFI_CALL() for clearing screenHeinrich Schuchardt
Carve out function efi_clear_screen. Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-10-16spi: Implement spi_set_speedPaul Barker
This function is already defined in spi.h but no implementation of it currently exists in the tree. The implementation is based on the static function spi_set_speed_mode(). The function prototype is modified so that an success or error condition can be returned to the caller. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-10-12Merge branch '2022-10-12-additional-fixes'Tom Rini
- Add "ubi list", Nokia RX51 fixes, other assorted fixes
2022-10-12Nokia RX-51: Fix double space key pressPali Rohár
Space key is indicated by two different bits. Some HW models indicate press of space key only by the first bit. Qemu indicates it by both bits at the same time, which is currently interpreted by u-boot as double key press. Fix this issue by setting first bit when only second is set (to support HW models which indicate press only by second bit) and always clearing second bit before processing to not report double space key press. Signed-off-by: Pali Rohár <[email protected]>
2022-10-12Nokia RX-51: Remove CONFIG_UBI_SIZEPali Rohár
CONFIG_UBI_SIZE option is not used, so remove it. Signed-off-by: Pali Rohár <[email protected]>
2022-10-12Fix typo in CONFIG_USBNET_DEVADDRIgnacio Zamora
Fix typo that was caused by the same feature being split in to 2 different configuration options. Replace CONFIG_USBNET_DEVADDR with CONFIG_USBNET_DEV_ADDR Signed-off-by: Ignacio Zamora <[email protected]>
2022-10-12tools: k3_gen_x509_cert: Do not print SWRV on buildAndrew Davis
This matches the others here. Signed-off-by: Andrew Davis <[email protected]>
2022-10-12smem: msm: add missing <linux/sizes.h>Robert Marko
MSM SMEM driver is currently missing <linux/sizes.h> header and throws the following compile error: drivers/smem/msm_smem.c: In function ‘qcom_smem_get_ptable’: drivers/smem/msm_smem.c:635:71: error: ‘SZ_4K’ undeclared (first use in this function) 635 | ptable = smem->regions[0].virt_base + smem->regions[0].size - SZ_4K; Signed-off-by: Robert Marko <[email protected]> Cc: [email protected]
2022-10-12test: run setexpr test only on sandboxHeinrich Schuchardt
The test relies on memory being available at 0x0. This in not valid for many boards. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-12firmware: scmi: fix the multi channel support with CCFPatrick Delaunay
When the CCF is activated, the dev->parent is not necessary the reference to SCMI transport and the function devm_scmi_of_get_channel failed for the registered SCMI clock, child for protocol@14, the channel is null and the SCMI clock driver crash for any operations. This patch changes the first parameter of the ops of_get_channel(), aligned with other process_msg() to pass directly the good reference, i.e. parent result of find_scmi_transport_device(dev) which return the reference of the scmi transport device. Fixes: 8e96801aa6a ("firmware: scmi: add multi-channel support") Signed-off-by: Patrick Delaunay <[email protected]>
2022-10-12cmd: ubi: Add 'ubi list' command for printing list of all UBI volumesPali Rohár
To allow easily iterate over all UBI volumes, add a new command which either print all user UBI volumes on output or set them into env variable. As UBI volumes can have arbitrary name/label, in most cases it is useful to iterate them by their numbers. This can be achieved by -numeric flag. This functionality is similar to already existing 'part list' command which prints partitions on formatted block device. Signed-off-by: Pali Rohár <[email protected]>
2022-10-11Merge branch '2022-10-11-assorted-fixes-and-updates'Tom Rini
- Assorted code cleanups and fixes, along with two new commands.
2022-10-11test: cmd: add test for temperature commandRobert Marko
Add simple test for the temperature command. Signed-off-by: Robert Marko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-11thermal: add sandbox driverRobert Marko
Provide a simple sandbox driver for the thermal uclass. It simply registers and returns 100 degrees C if requested. Signed-off-by: Robert Marko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-11doc: cmd: temperature: add documentationRobert Marko
Add documentation for the temperature command. Signed-off-by: Robert Marko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-11cmd: add temperature commandRobert Marko
Currently, there is no way for users to check the readings from thermal sensors from U-boot console, only some boards print it during boot. So, lets add a simple "temperature" command that allows listing thermal uclass devices and getting their value. Note that the thermal devices are intenionally probed if list is used as almost always they will not get probed otherwise and there is no way for users to manually call probe on a certain device from console. Assumption is made that temperature is returned in degrees C and not milidegrees like in Linux as this is what most drivers seem to return. Signed-off-by: Robert Marko <[email protected]> Reviewed-by: Simon Glass <[email protected]>