summaryrefslogtreecommitdiff
path: root/cmd
AgeCommit message (Collapse)Author
2022-04-24cmd: part: add explicit dependency on PARTITIONSAKASHI Takahiro
This is a follow-up patch for my "disk: don't compile in partition support for spl/tpl if not really necessary". "part" command is useful only if, at least, one of partition table types is selected. So it should have a dependency on PARTITIONS which is now automatically selected if one of partition table types is enabled. With this change, *_defconfig which explicitly selects CMD_PART but has no partition table types enabled should also be fixed. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2022-04-23Merge tag 'efi-2022-07-rc1-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-07-rc1-3 Documentation: * Document image size parameter of bootefi command UEFI: * avoid building partition support in SPL/TPL where not required * improve integration of EFI subsystem and driver model * restore ability to boot arbitrary blob
2022-04-23bootmenu: fix menu API error handlingMasahisa Kojima
U-Boot menu framework(common/menu.c) returns 1 if it is successful, returns negative value if it fails. Signed-off-by: Masahisa Kojima <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2022-04-23cmd: bootefi: restore ability to boot arbitrary blobKyle Evans
Up until commit 5f59518a7b1ae ("efi_loader: setting boot device"), we could boot an arbitrary blob with bootefi. Indeed, efi_run_image() even has a special case for missing device paths indicating a payload that was directly loaded via JTAG, for example. Restore the ability to inject a UEFI payload into memory and `bootefi` it. If the address passed isn't the last PE-COFF loaded, then we'll wipe out the pre-existing DP/Image information and let efi_run_image() synthesize a memory device path. An image size is required if we're booting an arbitrary payload, and the FDT argument has been changed to accept `-`. The size could be deduced from the image header, but it's required anyways as an explicit acknowledgment that one's trying to boot an arbitrary payload rather than accidentally using the wrong address in the single-addr form. Fixes: 5f59518a7b1a ("efi_loader: setting boot device") Signed-off-by: Kyle Evans <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-04-22fdt: Add -q option to fdt addr for distro_bootcmdPeter Hoyes
distro_bootcmd uses this construct a few times to test $fdt_addr_r, and fall back on $fdtcontroladdr if not set/invalid: if fdt addr ${fdt_addr_r}; then ... else ... fi If the `fdt addr` test fails, it prints the following message on the console, suggesting there is an error when there is not: libfdt fdt_check_header(): FDT_ERR_BADMAGIC To remove this potentially confusing error message, this patch adds -q as a 'quiet' option for fdt addr, and uses this flag in config_distro_bootcmd.h Signed-off-by: Peter Hoyes <[email protected]>
2022-04-22cmd: adc: Add support for storing ADC result in env variableMarek Vasut
Add the ability to save ADC conversion result in an environment variable. This is useful for further arbitrary processing by the U-Boot scripts. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabrice Gasnier <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Simon Glass <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-04-20cmd: gpio: Add `gpio read` subcommandDiego Rondini
As explained in commit 4af2a33ee5b9 ("cmd: gpio: Make `gpio input` return pin value again") the `gpio input` is used in scripts to obtain the value of a pin, despite the fact that CMD_RET_FAILURE is indistinguishable from a valid pin value. To be able to detect failures and properly use the value of a GPIO in scripts we introduce the `gpio read` command that sets the variable `name` to the value of the pin. Return code of the `gpio read` command can be used to check for CMD_RET_SUCCESS or CMD_RET_FAILURE. CONFIG_CMD_GPIO_READ is used to enable the `gpio read` command. Signed-off-by: Diego Rondini <[email protected]>
2022-04-14cmd: ubi.c: skip part command if right partition is already attachedAlexandre Besnard
Attaching a UBI partition may take a while, since scanning the memory is required. It thus makes sense to avoid a detach/scan/attach cycle when the right partition is already attached, and let the calling process call 'detach' beforehand if it needs it. This commit checks for the currently attached UBI partition, and skips reattaching if not needed, showing an information. Signed-off-by: Alexandre Besnard <[email protected]>
2022-04-09virtio: call device_probe() in scanningAKASHI Takahiro
virtio_init() enumerates all the peripherals that are to be materialised with udevices(UCLASS_VIRIO) and creates particular device instances (UCLASS_BlK or whatever else) as children. On the other hand, device_probe() won't be invoked against those resultant udevices unlike other ordinary device drivers do in the driver model. This is particularly inconvenient when we want to add "event notification" callback so that we will be able to automatically create all efi_disk objects in a later patch. With this patch applied, "virtio scan" will work in a similar way to "scsi rescan", "usb start" or others in term of 'probe' semantics. I didn't add this change to virtio_init() itself because this function may be called in board_init_r() (indirectly in board_late_init()) before UEFI subsustem is initialized. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-09cmd: efidebug: Disable 'capsule disk-update' when CONFIG_EFI_CAPSULE_ON_DISK=nMasami Hiramatsu
Disable 'capsule disk-update' option for the efidebug command when CONFIC_EFI_CAPSULE_ON_DISK is disabled, because this option is available only when the EFI capsule update on disk is enabled. Signed-off-by: Masami Hiramatsu <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]>
2022-04-08Convert CONFIG_CMDLINE_PS_SUPPORT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CMDLINE_PS_SUPPORT Signed-off-by: Tom Rini <[email protected]>
2022-04-07cmd: env: Add `indirect` to indirectly set valuesSamuel Dionne-Riel
This allows an ergonomic-enough approximation of ${!variable} expansion. This could be used the following way: ``` for target in ${boot_targets}; do env indirect target_name target_name_${target} # ... done ``` Assuming `target_name_mmc0` and similar are set appropriately. A default value can be optionally provided. Note: this acts on environment variables, not hush variables. Signed-off-by: Samuel Dionne-Riel <[email protected]> Cc: Simon Glass <[email protected]> Cc: "Marek Behún" <[email protected]> [trini: Don't enable by default]
2022-04-06cmd/sbi: add missing SBI informationHeinrich Schuchardt
Let the sbi command display: * machine vendor ID * machine architecture ID * machine implementation ID With this patch the output for the HiFive Unmatched looks like => sbi SBI 0.3 OpenSBI 0.9 Machine: Vendor ID 489 Architecture ID 8000000000000007 Implementation ID 20181004 Extensions: sbi_set_timer sbi_console_putchar sbi_console_getchar sbi_clear_ipi sbi_send_ipi sbi_remote_fence_i sbi_remote_sfence_vma sbi_remote_sfence_vma_asid sbi_shutdown SBI Base Functionality Timer Extension IPI Extension RFENCE Extension Hart State Management Extension System Reset Extension Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Sean Anderson <[email protected]>
2022-04-06cmd: sbi: add Performance Monitoring Unit ExtensionHeinrich Schuchardt
Version 1.0-rc3 of the RISC-V Supervisor Binary Interface Specification has added the Performance Monitoring Unit Extension. The sbi command should be able to detect it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2022-04-01cmd: fdt: Use start/size for chosen instead of start/endSean Anderson
Most U-Boot command deal with start/size instead of start/end. Convert the "fdt chosen" command to use these semantics as well. The only user of this subcommand is vexpress, so convert the smhload command to use this as well. We don't bother renaming the variable in vexpress64's bootcommand, since it will be rewritten in the next commit. Signed-off-by: Sean Anderson <[email protected]>
2022-03-31cmd: bootm: add subcommand preloadPhilippe Reynes
Add a subcommand preload to bootm that execute the preload stage on the image. Right now, it checks the signature of the image with the pre-load header. If the check succeed, the u-boot env variable 'loadaddr_verified' is set to the address of the image (without the header). It allows to run such commands: tftp script.img && bootm preload $loadaddr && source $loadaddr_verified Signed-off-by: Philippe Reynes <[email protected]>
2022-03-31cmd: bootm: add a stage pre-loadPhilippe Reynes
Add a stage pre-load to the command bootm. Right now, this stage may be used to read a header and check the signature of the full image. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Philippe Reynes <[email protected]>
2022-03-28video: Drop references to CONFIG_VIDEO et alSimon Glass
Drop the Kconfigs which are not used and all references to them. In particular, this drops CONFIG_VIDEO to avoid confusion and allow us to eventually rename CONFIG_DM_VIDEO to CONFIG_VIDEO. Also drop the prototype for video_get_info_str() which is no-longer used. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jason Liu <[email protected]>
2022-03-28video: Drop cfg_consoleSimon Glass
The non-driver model video support was removed two years ago. Drop this driver, which is only used by nokia_rx51. Signed-off-by: Simon Glass <[email protected]>
2022-03-28Merge tag 'v2022.04-rc5' into nextTom Rini
Prepare v2022.04-rc5
2022-03-26cmd: efidebug: simplify do_efi_boot_add()Heinrich Schuchardt
When calling efi_dp_from_name() we are not interested in the device part. Just pass NULL as an argument. Suggested-by: AKASHI Takahiro <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-03-25Convert CONFIG_MII_INIT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_MII_INIT Signed-off-by: Tom Rini <[email protected]>
2022-03-23cmd: eeprom: Do not rewrite EEPROM I2C bus with DM I2C enabledMarek Vasut
With DM I2C, the EEPROM bus has been correctly configured in eeprom_execute_command() already. Do not reconfigure it here with hard-coded bus number again. Signed-off-by: Marek Vasut <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2022-03-20efi_loader: use short-form DP for load optionsHeinrich Schuchardt
The GUID of partitions is sufficient for identification and will stay constant in the lifetime of a boot option. The preceding path of the device-path may change due to changes in the enumeration of devices. Therefore it is preferable to use the short-form of device-paths in load options. Adjust the 'efidebug boot add' command accordingly. Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-03-20efi_loader: Ignore DT when ACPI is onAlexander Graf
For targets that enable ACPI, we should not pass Device Trees into the payload. However, our distro boot logic always passes the builtin DT as an argument. To make it easy to use ACPI with distro boot, let's just ignore the DT argument to bootefi when ACPI is enabled. That way, we can successfully distro boot payloads on ACPI enabled targets. Signed-off-by: Alexander Graf <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-03-18Convert CONFIG_NFS_TIMEOUT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_NFS_TIMEOUT Cc: Ramon Fried <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-03-16cmd/mmc: fix output of mmc info for e-MMCMax Merchel
e-MMC and SD standards differ for some CID fields: - 6 Byte Name - assigned by Manufacturer (SD 5 Byte) - 1 Byte OEM - assigned by Jedec (SD 2 Byte) See e-MMC standard (JEDEC Standard No. 84-B51), 7.2.3 (OID) and 7.2.4 (PNM) Signed-off-by: Max Merchel <[email protected]> Signed-off-by: Markus Niebel <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-03-15fs/erofs: add filesystem commandsHuang Jianan
Add 'ls' and 'load' commands. Signed-off-by: Huang Jianan <[email protected]>
2022-03-14Merge tag 'v2022.04-rc4' into nextTom Rini
Prepare v2022.04-rc4
2022-03-12cmd: add serial console support for the cls commandHeinrich Schuchardt
Currently the cls command does not support the serial console The screen can be cleared in the video uclass, the colored frame buffer console, and the serial console by sending the same escape sequence. This reduces the cls command to a single printf() statement on most boards. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-03-10event: Add a commandSimon Glass
Add a command to show the available events. Signed-off-by: Simon Glass <[email protected]>
2022-03-04cmd: pwm: fix typo 'eisable' -> 'disable'Sébastien Szymanski
Fixed misspelled 'disable' in help text. Signed-off-by: Sébastien Szymanski <[email protected]>
2022-03-03Convert CONFIG_BOOTP_MAY_FAIL et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_BOOTP_MAY_FAIL CONFIG_BOOTP_VENDOREX CONFIG_BOOTP_BOOTFILESIZE CONFIG_BOOTP_NISDOMAIN CONFIG_BOOTP_TIMEOFFSET Cc: Ramon Fried <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-03-02cmd: exception: arm64: fix undefined, add faultsAndre Przywara
The arm64 version of the exception command was just defining the undefined exception, but actually copied the AArch32 instruction. Replace that with an encoding that is guaranteed to be and stay undefined. Also add instructions to trigger unaligned access faults and a breakpoint. This brings ARM64 on par with ARM(32) for the exception command. Signed-off-by: Andre Przywara <[email protected]>
2022-02-26efi_loader: update the timing of enabling and disabling EFI watchdogMasahisa Kojima
UEFI specification requires that 5 minutes watchdog timer is armed before the firmware's boot manager invokes an EFI boot option. This watchdog timer is updated as follows, according to the UEFI specification. 1) The EFI Image may reset or disable the watchdog timer as needed. 2) If control is returned to the firmware's boot manager, the watchdog timer must be disabled. 3) On successful completion of EFI_BOOT_SERVICES.ExitBootServices() the watchdog timer is disabled. 1) is up to the EFI image, and 3) is already implemented in U-Boot. This patch implements 2), the watchdog is disabled when control is returned to U-Boot. In addition, current implementation arms the EFI watchdog at only the first "bootefi" invocation. The EFI watchdog must be armed in every EFI boot option invocation. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-02-25cmd: clk: fix long help messagePatrick Delaunay
Fix the long help message for "clk setfreq" command Fixes: 7ab418fbe612 ("clk: add support for setting clk rate from cmdline") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/20220131172131.4.Ic863c28ffdcc15b3f4616434c2efd88b4e45495c@changeid
2022-02-25cmd: clk: update result of do_clk_setfreqPatrick Delaunay
Update the result of do_clk_setfreq and always returns a CMD_RET_ value (-EINVAL was a possible result). This patch avoid the CLI output "exit not allowed from main input shell." Fixes: 7ab418fbe612 ("clk: add support for setting clk rate from cmdline") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/20220131172131.3.Iec2029edb7fc0b29e13bcb86058ad2f614f62779@changeid
2022-02-25cmd: clk: replace clk_lookup by uclass_get_device_by_namePatrick Delaunay
The function clk_lookup can be replaced by a direct call to uclass_get_device_by_name for UCLASS_CLK. This patch removes duplicated codes by the generic DM API and avoids issue in clk_lookup because result of uclass_get_device wasn't tested; when ret < 0, dev = NULL and dev->name is invalid, the next function call strcmp(name, dev->name) causes a crash. Signed-off-by: Patrick Delaunay <[email protected]> Link: https://lore.kernel.org/r/20220131172131.2.I7bc7762eff1e31ab7ff5b34c416ee03b8fe52200@changeid
2022-02-25cmd: clk: test the number of argument in setfreq commandPatrick Delaunay
Test the number of argument in setfreq command to avoid a crash when the command setfreq is called without argument: STM32MP> clk setfreq data abort pc : [<ddba3f18>] lr : [<ddba3f89>] reloc pc : [<c018ff18>] lr : [<c018ff89>] sp : dbaf45b8 ip : ddb1d859 fp : 00000002 r10: dbb3fd80 r9 : dbb11e90 r8 : ddbf38cc r7 : ddb39725 r6 : 00000000 r5 : 00000000 r4 : dbb3fd84 r3 : dbb3fd84 r2 : 0000000a r1 : dbaf45bc r0 : 00000011 Flags: nzCv IRQs off FIQs off Mode SVC_32 (T) Code: 4dd3 1062 85a3 ddbd (7803) 2b30 Resetting CPU ... Fixes: 7ab418fbe612 ("clk: add support for setting clk rate from cmdline") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/20220131172131.1.I32a8f213d330dccd922f7aafc60d3d63fcbe8615@changeid
2022-02-18cmd: fuse: Add a command to read fuses to memoryAngus Ainslie
With the fuse values in memory we can use some of the other u-boot shell conditonal operators to do tests. Signed-off-by: Angus Ainslie <[email protected]>
2022-02-18cmd: fuse: add a fuse comparison functionAngus Ainslie
Compare a hexval to the fuse value and return pass or fail. Signed-off-by: Angus Ainslie <[email protected]>
2022-02-14pstore: Support already existing reserved-memory nodeDetlev Casanova
The pstore command tries to create a reserved-memory node but fails if it is already present with: Add 'reserved-memory' node failed: FDT_ERR_EXISTS This patch creates the node only if it does not exist and adapts the reg values sizes depending on already present #address-cells and #size-cells values. Signed-off-by: Detlev Casanova <[email protected]>
2022-02-11cmd/dfu: Enable 'dfu list' command without DFU_OVER_USBMasami Hiramatsu
Since dfu is not only used for USB, and some platform only supports DFU_OVER_TFTP or EFI capsule update, dfu_alt_info is defined on such platforms too. For such platform, 'dfu list' command is useful to check how the current dfu_alt_info setting is parsed. Signed-off-by: Masami Hiramatsu <[email protected]>
2022-02-11cmd: wrong printf() code in do_test_stackprot_fail()Heinrich Schuchardt
strlen() returns size_t. So we should use %zu to print it. This avoids incorrect output on 32bit systems. Fixes: 2fc62f299174 ("stackprot: Make our test a bit more complex") Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-02-09cmd: mmc: Consider GP partitions in mmc hwpartition user enh start -Marek Vasut
In case the eMMC contains any GP partitions or user sets up new GP partitions, the size of these GP partitions reduce the size of the USER partition. Subtract the size of those GP partitions from the calculated size of USER partition when using `user enh start -`. The following test used to fail before: ``` u-boot=> mmc hwpartition gp1 524288 enh user enh 0 - wrrel on check Partition configuration: User Enhanced Start: 0 Bytes User Enhanced Size: 1.8 GiB User partition write reliability: on GP1 Capacity: 256 MiB ENH No GP2 partition No GP3 partition No GP4 partition Total enhanced size exceeds maximum (261 > 229) Failed! ``` The test now passes: ``` u-boot=> mmc hwpartition gp1 524288 enh user enh 0 - wrrel on check Partition configuration: User Enhanced Start: 0 Bytes User Enhanced Size: 1.5 GiB User partition write reliability: on GP1 Capacity: 256 MiB ENH No GP2 partition No GP3 partition No GP4 partition ``` Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Jaehoon Chung <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-02-07Merge tag 'u-boot-imx-20220207' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20211022 ------------------- CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/10887 - imx8 : Toradex Verdin MX8M Plus Kontron pitx-imx8m - imx8ulp: several fixes and improvements - imx6ull fixes - switching to binman
2022-02-05efi: Add debugging to efi_set_bootdev()Simon Glass
The operation of this function can be confusing. Add some debugging so we can see what it is doing and when it is called. Also drop the preprocessor usage. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: heinrich Schuchardt <[email protected]>
2022-02-05cmd: bcb: fix bcb struct alignment issueGary Bisson
Without this patch the bcb struct could be located at an odd address which resulted in data not being copied to the buffer. Here was the repro steps (from Mattijs): => mmc dev 1 => bcb load 1 misc => bcb dump command 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 => part start mmc 1 misc misc_start => mmc read ${loadaddr} ${misc_start} 4 => bcb load 1 misc => bcb dump command 00000000: 62 6f 6f 74 6f 6e 63 65 2d 62 6f 6f 74 6c 6f 61 00000010: 64 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 This behavior was observed on an Amlogic A311D (ARM64) platform with a recent GCC toolchain (11.2.0) but is most likely affecting other platforms. To avoid issues the structure is aligned on DMA minimum alignment value as it is passed directly to the read function. Signed-off-by: Gary Bisson <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> # on khadas vim3
2022-02-03efi: Use 16-bit unicode stringsSimon Glass
At present we use wide characters for unicode but this is not necessary. Change the code to use the 'u' literal instead. This helps to fix build warnings for sandbox on rpi. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-01-28pci: Extend 'pci' command with bus option '*'Pali Rohár
Allow to call 'pci' and 'pci regions' commands with bus option '*' which cause pci to process all buses. PCIe is point-to-point HW and so on each bus is maximally one physical device. Therefore for PCIe it is common to have multiple buses. This change allows to easily print all available PCIe devices in system. Make '*' as default option when no bus argument is specified. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>