summaryrefslogtreecommitdiff
path: root/cmd
AgeCommit message (Collapse)AuthorFilesLines
2023-10-16cmd/ti: Update Kconfig logic and Makefile recursion logicTom Rini3-6/+6
- Add some dependencies to CMD_DDR3 as this is only valid on some platforms (which tend to select it as well). - The proper gate for going in to cmd/ti is not CONFIG_TI_COMMON_CMD_OPTIONS as nothing under there is controlled by that symbol but the general TI architecture options. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-16cmd: Convert existing long help messages to the new macroTom Rini49-187/+109
- Generally we just drop the #ifdef CONFIG_SYS_LONGHELP and endif lines and use U_BOOT_LONGHELP to declare the same variable name as before - In a few places, either rename the variable to follow convention or introduce the variable as it was being done inline before. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-16cmd: move mac commandHeinrich Schuchardt2-34/+0
Board specific implementations of the 'mac' command differ concerning the supported sub-commands. Move the Freescale specific mac command definition to the board code. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-10-11cli: Add a command to show cmdline historySimon Glass3-0/+31
There is a function for this but it is never used. Showing the history is a useful feature, so add a new 'history' command. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-10cmd: blk_common: Stop using hard-coded block size for Sandbox operationsBin Meng1-6/+14
commit 3d2fc7971454 ("cmd: blk: Allow generic read/write operations to work in sandbox") used the hard-coded block size (512) for accessing the sandbox host device. Now that we have added support for non-512 block size for both Sandbox host device and blkmap driver, let's stop using the hard-coded block size. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-10cmd: blk_common: Use macros for the return valuesBin Meng1-7/+7
Avoid using magic number 0/1 for the command result. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-10-10cmd: blkmap: Make map_handlers[] and its .fn staticBin Meng1-3/+4
These are only used in cmd/blkmap.c. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-10cmd: host: Print out the block size of the host deviceBin Meng1-3/+4
It's useful if we can print out the block size of the host device in the "host info" command. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-10blk: sandbox: Support binding a device with a given logical block sizeBin Meng1-3/+13
Allow optionally set the logical block size of the host device to bind in the "host bind" command. If not given, defaults to 512. Signed-off-by: Bin Meng <bmeng@tinylab.org>
2023-10-10cmd: host: Mandate the filename parameter in the 'bind' commandBin Meng1-3/+3
At present the host bind command does not require filename to be provided. When it is not given NULL is passed to the host device driver, which ends up failure afterwards. Change to mandate the filename so that it is useful. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-04cmd/exception: test RISC-V 16 bit aligned instructionHeinrich Schuchardt1-0/+16
A 16 bit aligned instruction should generated an exception if the C extension is not available. Provide an 'extension ialign16' command for testing exception handling. For testing build qemu-riscv64_defconfig with CONFIG_RISCV_ISA_C=n and run with qemu-system-riscv64 -M virt -bios u-boot -nographic -cpu rv64,c=false => exception ialign16 Unhandled exception: Instruction address misaligned EPC: 0000000087719138 RA: 0000000087719218 TVAL: 000000008771913e EPC: 0000000080020138 RA: 0000000080020218 reloc adjusted Code: 0113 0101 8067 0000 0113 ff01 3423 0011 (006f 0060) Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-10-04cmd/exception: support RISC-V compressed instructionHeinrich Schuchardt1-3/+15
Eliminating the C extension on application processors is under discussion. Support emitting a compressed instruction. This will lead to an illegal instruction exception if the C extension is not implemented. For testing build qemu-riscv64_defconfig with CONFIG_RISCV_ISA_C=n and run with qemu-system-riscv64 -M virt -bios u-boot -nographic -cpu rv64,c=false => exception compressed Unhandled exception: Illegal instruction EPC: 0000000087731708 RA: 000000008773fe44 TVAL: 0000000000004501 EPC: 000000008001b708 RA: 0000000080029e44 reloc adjusted Code: 0b93 0000 0493 0000 0993 0000 f06f ccdf (4501) Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-10-02Merge branch 'next'Tom Rini24-172/+531
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-30cmd: xxd: move xxd into shell commandsRoger Knecht1-5/+5
Move xxd into shell command section. Signed-off-by: Roger Knecht <rknecht@pm.me> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-24Merge tag 'dm-next-23sep23' of ↵Tom Rini1-10/+38
https://source.denx.de/u-boot/custodians/u-boot-dm into next buildman file-keeping and build-progress improvements dm tree enhancement adjust meaning of bootph-pre-ram/sram
2023-09-24common: Drop linux/printk.h from common headerSimon Glass9-0/+9
This old patch was marked as deferred. Bring it back to life, to continue towards the removal of common.h Move this out of the common header and include it only where needed. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-09-23cmd: dm: allow for selecting uclass and deviceAKASHI Takahiro1-10/+38
The output from "dm tree" or "dm uclass" is a bit annoying if the number of devices available on the system is huge. (This is especially true on sandbox when I debug some DM code.) With this patch, we can specify the uclass name or the device name that we are interested in in order to limit the output. For instance, => dm uclass usb uclass 121: usb 0 usb@1 @ 0bcff8b0, seq 1 uclass 124: usb => dm tree usb:usb@1 Class Index Probed Driver Name ----------------------------------------------------------- usb 0 [ ] usb_sandbox usb@1 usb_hub 0 [ ] usb_hub `-- hub usb_emul 0 [ ] usb_sandbox_hub `-- hub-emul usb_emul 1 [ ] usb_sandbox_flash |-- flash-stick@0 usb_emul 2 [ ] usb_sandbox_flash |-- flash-stick@1 usb_emul 3 [ ] usb_sandbox_flash |-- flash-stick@2 usb_emul 4 [ ] usb_sandbox_keyb `-- keyb@3 If you want forward-matching against a uclass or udevice name, you can specify "-e" option. => dm uclass -e usb uclass 15: usb_emul 0 hub-emul @ 0bcffb00, seq 0 1 flash-stick@0 @ 0bcffc30, seq 1 2 flash-stick@1 @ 0bcffdc0, seq 2 3 flash-stick@2 @ 0bcfff50, seq 3 4 keyb@3 @ 0bd000e0, seq 4 uclass 64: usb_mass_storage uclass 121: usb 0 usb@1 @ 0bcff8b0, seq 1 uclass 122: usb_dev_generic uclass 123: usb_hub 0 hub @ 0bcff9b0, seq 0 uclass 124: usb => dm tree -e usb Class Index Probed Driver Name ----------------------------------------------------------- usb 0 [ ] usb_sandbox usb@1 usb_hub 0 [ ] usb_hub `-- hub usb_emul 0 [ ] usb_sandbox_hub `-- hub-emul usb_emul 1 [ ] usb_sandbox_flash |-- flash-stick@0 usb_emul 2 [ ] usb_sandbox_flash |-- flash-stick@1 usb_emul 3 [ ] usb_sandbox_flash |-- flash-stick@2 usb_emul 4 [ ] usb_sandbox_keyb `-- keyb@3 Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-21cmd: sf: Fix the flash_is_unlocked api size parameterVenkatesh Yadav Abbarapu1-1/+1
When flash erase is called with size parameter, code is checking if sectors are locked or not. But for checking, the whole device length minus offset is used instead of actual size which should be erased. That's why when only some sectors are locked it is not possible to erase unlocked sectors. The length is calculated as "length = max_chipsize - offset", flash_is_unlocked() api is getting updated with length which is incorrect. Fix this flash_is_unlocked() api by passing the size parameter. ZynqMP> sf erase 0 100000 len=0x8000000 which is flash size size=0x100000 We need to update the size in the flash_is_unlocked() api and not the length. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20230920025450.6281-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-09-21cmd: thordown: Add proper dependency for CMD_THOR_DOWNLOADVenkatesh Yadav Abbarapu1-0/+2
When CONFIG_CMD_USB and CONFIG_USB are disabled some compilation errors are seen as below. cmd/thordown.o: in function `usb_gadget_initialize': include/linux/usb/gadget.h:981: undefined reference to `board_usb_init' cmd/thordown.o: in function `do_thor_down': cmd/thordown.c:68: undefined reference to `g_dnl_unregister' cmd/thordown.o: in function `usb_gadget_release': include/linux/usb/gadget.h:986: undefined reference to `board_usb_cleanup' cmd/thordown.o: in function `do_thor_down': cmd/thordown.c:41: undefined reference to `g_dnl_register' cmd/thordown.c:48: undefined reference to `thor_init' cmd/thordown.c:56: undefined reference to `thor_handle' gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-ld.bfd: line 4: 8485 Segmentation fault (core dumped) $CC --sysroot=$LIBC --no-warn-rwx-segment "$@" Makefile:1779: recipe for target 'u-boot' failed make: *** [u-boot] Error 139 make: *** Deleting file 'u-boot' Add dependency of USB_GADGET_DOWNLOAD for CONFIG_CMD_THOR_DOWNLOAD to fix the errors. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Reviewed-by: Tom Rini <trini@konsulko.com> Link: https://lore.kernel.org/r/20230904031528.11817-2-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-09-15thordown: Use plain udevice for UDC controller interactionMarek Vasut1-4/+5
Convert to plain udevice interaction with UDC controller device, avoid the use of UDC uclass dev_array . Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-09-15sdp: Use plain udevice for UDC controller interactionMarek Vasut1-4/+7
Convert to plain udevice interaction with UDC controller device, avoid the use of UDC uclass dev_array . Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Marek Vasut <marex@denx.de>
2023-09-15cmd: ums: Use plain udevice for UDC controller interactionMarek Vasut1-4/+6
Convert to plain udevice interaction with UDC controller device, avoid the use of UDC uclass dev_array . Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on khadas vim3 Signed-off-by: Marek Vasut <marex@denx.de>
2023-09-15cmd: thordown: Reorder variable declarationMarek Vasut1-7/+8
Move the variable declaration around to improve code readability. No functional change. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-09-15cmd: sdp: Reorder variable declarationMarek Vasut1-2/+2
Move the variable declaration around to improve code readability. No functional change. Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Marek Vasut <marex@denx.de>
2023-09-15cmd: rockusb: Use plain udevice for UDC controller interactionMarek Vasut1-3/+4
Convert to plain udevice interaction with UDC controller device, avoid the use of UDC uclass dev_array . Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-09-15cmd: fastboot: Use plain udevice for UDC controller interactionMarek Vasut1-3/+4
Convert to plain udevice interaction with UDC controller device, avoid the use of UDC uclass dev_array . Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on khadas vim3 Signed-off-by: Marek Vasut <marex@denx.de>
2023-09-14cmd: pxe: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut1-14/+0
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-14cmd: onenand: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut1-6/+0
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-14cmd: nvedit: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut1-11/+0
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-14cmd: i2c: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut1-14/+0
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-14cmd: date: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut1-7/+1
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-14blkcache: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut1-13/+0
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-14boot: Remove unused NEEDS_MANUAL_RELOC code bitsMarek Vasut1-14/+0
The last user of the NEEDS_MANUAL_RELOC has been removed in commit 26af162ac8f8 ("arch: m68k: Implement relocation") Remove now unused NEEDS_MANUAL_RELOC code. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-11cmd: gpt: fix gpt readHeinrich Schuchardt1-17/+15
To partition a block device the partition type GUIDs are needed but 'gpt read' does not provide these. Add the missing parts. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-11cmd: gpt: fix calc_parts_list_len()Heinrich Schuchardt1-14/+20
* Avoid incrementing by moving comma into strlen("uuid_disk=,") and considering NUL byte. * Appending a UUID only adds UUID_STR_LEN bytes. Don't count the terminating NUL. * The length of the hexadecimal representation of lba_int is 2 * sizeof(lba_int). * We don't use a 'MiB' postfix but a '0x' prefix. * The uuid field is only needed if configured. Fixes: 2fcaa413b3f6 ("gpt: harden set_gpt_info() against non NULL-terminated strings") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-09-11cmd: gpt: use UUID accessor more consistentlyHeinrich Schuchardt1-10/+12
disk_partition_uuid() and disk_partition_set_uuid() were introduced to let us avoid the usage of #ifdef when dealing with the field uuid of struct disk_partition. In allocate_disk_part() commit c5f1d005f517 ("part: Add accessors for struct disk_partition uuid") missed to use the setter. print_gpt_info() and create_gpt_partitions_list() are further functions where we should use the getter. Fixes: c5f1d005f517 ("part: Add accessors for struct disk_partition uuid") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-11cmd: gpt: Add command to swap partition orderJoshua Watt1-3/+43
Adds a command called "gpt transpose" which will swap the order two partition table entries in the GPT partition table (but leaves them pointing to the same locations on disk). This can be useful for swapping bootloaders in systems that use an A/B partitioning scheme where the bootrom is hard coded to look for the bootloader in a specific index in the GPT partition table. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2023-09-11cmd: gpt: Preserve bootable flagJoshua Watt1-0/+3
Sets the bootable flag when constructing the partition string from the current partition configuration. This ensures that when the partitions are written back (for example, when renaming a partition), the flag is preserved. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2023-09-11cmd: gpt: Preserve type GUID if enabledJoshua Watt1-0/+16
If CONFIG_PARTITION_TYPE_GUID is enabled, the type GUID will be preserved when writing out the partition string. It was already respected when writing out partitions; this ensures that if you capture the current partition layout and write it back (such as when renaming), the type GUIDs are preserved. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2023-09-11cmd: gpt: Add command to set bootable flagsJoshua Watt1-0/+80
Adds a command that can be used to modify the GPT partition table to indicate which partitions should have the bootable flag set Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2023-09-11cmd: gpt: Add gpt_partition_bootable variableJoshua Watt1-2/+7
Adds an additional variable called gpt_partition_bootable that indicates if the given partition is bootable or not. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2023-09-09tpm: Fix autostart for TPM1.2 devicesIlias Apalodimas1-1/+1
On commit e663b2ff4ba2("tpm: Add 'tpm autostart' shell command") an autostart function was added for both TPM1.2 and 2.0 devices. Instead of correctly wiring the autostart command for TPM1.2 devices that patch mistakenly added it on 'tpm init' Fixes: commit e663b2ff4ba2("tpm: Add 'tpm autostart' shell command") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-09-04Merge tag 'v2023.10-rc4' into nextTom Rini2-16/+14
Prepare v2023.10-rc4
2023-09-02cmd: gpt: Remove confusing help textJoshua Watt1-2/+0
This help text appears to be a fragment of the text shown when CONFIG_CMD_GPT_RENAME is enabled, but is confusing so remove it. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-08-30setexpr: Silence some diagnostic messagesŁukasz Stelmach1-2/+2
Neither successful match nor lack thereof should be considered an extraordinary situation. Thus, neither require printing a message. Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-27cmd: let gpt_partition_entry be hexadecimalHeinrich Schuchardt1-1/+1
In commands like 'ls mmc 0:f' the partition number is hexadecimal. In command 'gpt setenv' variable gpt_partition_entry needs to be set to a hexadecimal value to allow its use as a parameter in a subsequent command. Fixes: 57f8cf1b9aea ("cmd: fix gpt enumerate") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-27cmd: fix gpt enumerateHeinrich Schuchardt1-6/+8
Do not assume that partitions are numbered continuously starting at 1. Only a single partition table type can exist on a block device. If we found a GPT partition table, we must not re-enumerate with the MBR partition driver which would find the protective partition. Fixes: 12fc1f3bb223 ("cmd: gpt: add eMMC and GPT support") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-27cmd: fix gpt setenvHeinrich Schuchardt1-4/+2
Do not assume that partitions are continuously numbered starting at 1. Having a partition table with a single partition 63 is valid. Fixes: 12fc1f3bb223 ("cmd: gpt: add eMMC and GPT support") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-25bootflow: Show an empty filename when there is noneSimon Glass1-1/+1
At present 'bootflow list' shows <NULL> for the filename when it is not present. Show an empty string instead, since that is more user-friendly. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-25part: Add accessors for struct disk_partition uuidSimon Glass1-6/+4
This field is only present when a CONFIG is set. To avoid annoying #ifdefs in the source code, add accessors. Update all code to use it. Note that the accessor is optional. It can be omitted if it is known that the option is enabled. Signed-off-by: Simon Glass <sjg@chromium.org>