summaryrefslogtreecommitdiff
path: root/cmd
AgeCommit message (Collapse)Author
2025-09-24imls: remove return parenthesesOsama Abdelkader
return is not a function, parentheses are not required Signed-off-by: Osama Abdelkader <[email protected]>
2025-09-16cmd: terminal: avoid serial_reinit_all() with DM_SERIAL enabledAditya Dutt
serial_reinit_all() is only available when CONFIG DM_SERIAL is disabled and CONFIG_SERIAL is enabled. Signed-off-by: Aditya Dutt <[email protected]>
2025-09-02memtest: remove use of vu_long typedef in mem_test_altRasmus Villemoes
Hiding a qualifier such as "volatile" inside a typedef makes the code much harder to understand. Since addr and dummy being volatile-qualified are important for the correctness of the test code, make it more obvious by spelling it out as "volatile ulong". Signed-off-by: Rasmus Villemoes <[email protected]> Tested-by: Anshul Dalal <[email protected]>
2025-09-02memtest: only call schedule() once for every 256 wordsRasmus Villemoes
A function call itself for every word written or read+written in these loops is bad enough. But since the memory test must be run with dcache disabled, the schedule() call, traversing the linked list of registered cyclic clients, and accessing the 'struct cyclic_info' for each to see if any are due for a callback, is quite expensive. On a beagleboneblack, testing a modest 16MiB region takes 2.5 minutes: => dcache off => time mtest 0x81000000 0x82000000 0 1 Testing 81000000 ... 82000000: Iteration: 1 Tested 1 iteration(s) with 0 errors. time: 2 minutes, 28.946 seconds There is really no need for calling schedule() so frequently. It is quite easy to limit the calls to once for every 256 words by using a u8 variable. With that, the same test as above becomes 37 times faster: => dcache off => time mtest 0x81000000 0x82000000 0 1 Testing 81000000 ... 82000000: Iteration: 1 Tested 1 iteration(s) with 0 errors. time: 4.052 seconds Note that we are still making a total of 3 loops * (4 * 2^20 words/loop) / (256 words/call) = 49152 calls during those ~4000 milliseconds, so the schedule() calls are still done less than 0.1ms apart. These numbers are just for a beagleboneblack, other boards may have a slower memory, but we are _two orders of magnitude_ away from schedule() "only" being called at 100Hz, which is still more than enough to ensure any watchdog is kept happy. Signed-off-by: Rasmus Villemoes <[email protected]> Tested-by: Anshul Dalal <[email protected]>
2025-09-02memtest: don't volatile-qualify local variablesRasmus Villemoes
It is obviously important that the addr pointer used to access the memory region being tested is volatile-qualified, to prevent the compiler from optimizing out the "write this value, read it back, check that it is what we expect". However, none of these auxiliary variables have any such need for, effectively, being forced to live on the stack and cause each and every reference to them to do a memory access. This makes the memtest about 15% faster on a beagleboneblack. Before: => dcache off => time mtest 0x81000000 0x81100000 0 1 Testing 81000000 ... 81100000: Iteration: 1 Tested 1 iteration(s) with 0 errors. time: 10.868 seconds After: => dcache off => time mtest 0x81000000 0x81100000 0 1 Testing 81000000 ... 81100000: Iteration: 1 Tested 1 iteration(s) with 0 errors. time: 9.209 seconds [Without the 'dcache off', there's no difference in the time, about 0.6s, but the memtest cannot usefully be done with dcache enabled.] Signed-off-by: Rasmus Villemoes <[email protected]> Tested-by: Anshul Dalal <[email protected]>
2025-08-23cmd: mtd: Enable speed benchmarkingMiquel Raynal
Linux features a flash_speed speed test from the mtd-utils suite, U-Boot does not. Benchmarks are useful for speed improvement developments as well as troubleshooting or regression testing sometimes. Enable a benchmark option to enable this feature. Example of output on a Nuvoton platform: MA35D1> mtd read nor0 0x81000000 0 0x10000 Reading 65536 byte(s) at offset 0x00000000 MA35D1> mtd read.benchmark nor0 0x81000000 0 0x10000 Reading 65536 byte(s) at offset 0x00000000 Read speed: 3752kiB/s Signed-off-by: Miquel Raynal <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: nand dump with ecc optiondavid regan
option to show nand dump data ecc corrected as opposed to just raw Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: nand dump display updatedavid regan
show characters with nand dump similar to md along with offset into NAND Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: more descriptive help infodavid regan
nand read/write raw change 'count' to 'pages' since count is ambiguous Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: bug fix MTD_OOB_AUTO to MTD_OPS_AUTO_OOBdavid regan
bug fix MTD_OOB_AUTO to MTD_OPS_AUTO_OOB since MTD_OOB_AUTO does not exist Fixes: dfe64e2c8973 ("mtd: resync with Linux-3.7.1") Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-18net: lwip: ping: set net_try_count to 1Jerome Forissier
The legacy network stack sets net_try_count to 1 at the beginning of the net_loop() function. This is required for net_start_again() to work properly. Therefore, set the variable accordingly in the do_ping() function when NET_LWIP=y. This fixes an issue where a ping to an unreachable destination would run twice on the same network device. For example with qemu_arm64_lwip_defconfig: => dhcp DHCP client bound to address 10.0.2.15 (3 ms) => ping 10.0.0.1 Using virtio-net#32 device ping failed; host 10.0.0.1 is not alive Using virtio-net#32 device ping failed; host 10.0.0.1 is not alive => QEMU: Terminated Signed-off-by: Jerome Forissier <[email protected]>
2025-08-18lwip: sntp: remove redundant sys_check_timeouts()Jerome Forissier
Now that sys_check_timeouts() is called in net_lwip_rx(), there is no need to call it from the SNTP receive loop. Remove the redundant call. Signed-off-by: Jerome Forissier <[email protected]>
2025-08-18net: introduce CONFIG_DNSJerome Forissier
Introduce the DNS Kconfig symbol so that various network commands may use host names without the dns command (CMD_DNS) being selected. Signed-off-by: Jerome Forissier <[email protected]> CC: E Shattow <[email protected]>
2025-08-08efi_loader: Support loading a ramdisk with bootefiSimon Glass
It is sometimes useful to be able to boot via EFI using a Linux initrd. Add support for this. Fix a 'specifiy' typo while here. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-08-07meminfo: correct "free" memory region sizeShiji Yang
The size of free memory should be $lmb_base - $ram_base. Signed-off-by: Shiji Yang <[email protected]>
2025-08-06cmd: Add i3c command support.Dinesh Maniyam
Add i3c command file to support select, get i3c device target list, read and write operation. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-08-06cmd: i2c: fix coverity issueHeiko Schocher
coverity scan reported issue: ** CID 583415: Integer handling issues (INTEGER_OVERFLOW) /cmd/i2c.c: 369 in do_i2c_write() change the length variable into type int. Signed-off-by: Heiko Schocher <[email protected]>
2025-08-04cmd: bdinfo: Fix showing correct IP address based on current deviceMichal Simek
Use the same logic as is used for MAC address where bdi shows mac address for current device where index (idx) is used to point to correct IP address which is read and show. Signed-off-by: Michal Simek <[email protected]>
2025-07-29cmd: tlv_eeprom: improve mac_read_from_eeprom() log messagesHugo Villeneuve
mac_read_from_eeprom() always display debug infos, and this messes up the display of the "Net:" section details: Before: Net: EEPROM: TlvInfo v1 len=172 eth0: ethernet@11c20000 After: Net: eth0: ethernet@11c20000 Fix by moving unconditional "EEPROM: " header into each message and changing debug message to use log_debug(). Signed-off-by: Hugo Villeneuve <[email protected]>
2025-07-29cmd: tlv_eeprom: fix typo errors in comments and error msgHugo Villeneuve
Fix typo errors in comments and error message by replacing EERPOM->EEPROM. Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-07-28cmd: elf: Prevent possible buffer overflowAndrew Goodbody
In do_bootvx the environment variable 'bootdev' is fetched and copied into a buffer without confirming that it will not overflow that buffer. Use strlcpy to ensure that the buffer will not be overflowed. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-07-26efi: Rename CONFIG_EFI to CONFIG_EFI_CLIENTSimon Glass
The generic name 'EFI' would be more useful for common EFI features. At present it just refers to the EFI app and stub, which is confusing. Rename it to EFI_CLIENT Signed-off-by: Simon Glass <[email protected]>
2025-07-24uclass: Cleanup uclass_find_next_deviceAndrew Goodbody
uclass_find_next_device always returns 0, so instead make it a void and update calling sites. Signed-off-by: Andrew Goodbody <[email protected]>
2025-07-24drivers: fpga: correct compiler errors and warningsPieter Van Trappen
Errors reported by GCC 14.2 when enabling FPGA commands and drivers. Also many style fixes as reported by checkpatch.pl on the diffs. Most changes in stratixII.c which has been reorganized as well to avoid the top function prototypes. No functional changes. Signed-off-by: Pieter Van Trappen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-24cmd: fpga: improve user feedback in case of bitstream load failurePieter Van Trappen
In cmd/fpga.c, change some `debug` calls to `log_err` for important user feedback and use CMD_RET_FAILURE in favor of CMD_RET_USAGE due to its long output which hides the actual, useful return message. Change the remaining `debug` calls to `log_debug`. Remove all 'fpga:' and __func__ strings as log_* has this covered. For `do_fpga_loads`, move up the `do_fpga_check_params` call for more consistent command output; use a constant instead of multiple '5' use. In drivers/fpga/zynq*.c, change 'up to' to 'above' which corrects this confusing/wrong statement. Signed-off-by: Pieter Van Trappen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-23cmd: gpt: Fix off by 1 errorsAndrew Goodbody
The buffer for a name to be copied into must also contain the terminating 0 byte but strlen returns the length of the string without counting that 0 byte. Adjust the length checks to take this into account. This issue found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-07-19Merge tag 'i2c-for-2025.10-take2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-i2c i2c updates for v2025.10 - i2c Kconfig updates from Tom - add some driver dependencies - added missing include delay.h in iproc_i2c.c - i2c: muxes: Add PCA9541 i2c arbitrator driver from Padmarao Begari - pca954x: add pca9545 support from Frank Wunderlich - cmd: i2c: fix build when CFG_SYS_I2C_NOPROBES defined with DM_I2C From Holger Brunck
2025-07-16cmd: i2c: fix build when CFG_SYS_I2C_NOPROBES defined with DM_I2CHolger Brunck
When DM_I2C is enabled and CFG_SYS_I2C_NOPROBES is defined, the building is broken due to already existing 'bus' local variable. Rename udevice 'bus' to 'cur_bus' to fix this. Signed-off-by: Holger Brunck <[email protected]>
2025-07-14Merge tag 'qcom-main-20250714' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-snapdragon CI: https://source.denx.de/u-boot/custodians/u-boot-snapdragon/-/pipelines/27056 - Fix unused access in ufetch - Add missing clock for SM8650 - Port the Linux SPMI GPIO driver and port over SM8550 (other platforms should follow)
2025-07-14cmd: ufetch: Initialise size before first useAndrew Goodbody
The local variable size is not assigned to before it is used for the first time. Correct this. This issue was found by Smatch. Fixes: 86d462c05d57 (cmd: add a fetch utility) Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2025-07-11Merge patch series "Create uclass for HW AES cryptographic devices"Tom Rini
Svyatoslav Ryhel <[email protected]> says: Add uclass for HW AES cryptographic devices found on some devices, like Tegra20/Tegra30 SoC AES engine. Link: https://lore.kernel.org/r/[email protected]
2025-07-11cmd: aes: Add support for DM AES driversIon Agorria
This adds new aes subcommands to use interface provided by AES UCLASS which can be used to expose HW AES engines. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-07-11Merge tag 'u-boot-imx-master-20250710' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/27010 - Fix the i.MX8M Nano GPU path. - Enable RNG support for KASLR on Toradex i.MX8 boards. - Enable watchdog and clock driver for imx6ulz_smm_m2b. - Tighten dependencies on CMD_BLOB. - Remove the rest of i.MX31 support.
2025-07-10cmd/Kconfig: Tighten dependencies on CMD_SEAMATom Rini
In order to build this command we need to have configured some other board specific features. Express that requirement in Kconfig as well. Signed-off-by: Tom Rini <[email protected]>
2025-07-10cmd/Kconfig: Tighten dependencies on CMD_BLOBTom Rini
In order for this command to build we need to compile drivers/crypto/fsl/fsl_blob.c and this in turn includes drivers/crypto/fsl/jr.h which references "ccsr_sec_t" which is only a defined type for SYS_FSL_SEC_COMPAT >= 4. Express that requirement in Kconfig as well. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-07-09cmd: Remove "universe" command.Tom Rini
We have had no platforms that make use of this since 2015, so drop it. Signed-off-by: Tom Rini <[email protected]>
2025-07-09cmd: Remove "tsi148" commandTom Rini
We have had no platforms that make use of this since 2021, so drop it. Signed-off-by: Tom Rini <[email protected]>
2025-07-09Merge patch series "Improve Verdin AM62P thermal setup by generalizing ↵Tom Rini
ft_board_setup_ex()" João Paulo Gonçalves <[email protected]> says: In some use cases, board-specific device tree changes must not be overwritten by system fixups. Although U-Boot provides ft_board_setup_ex() for this purpose, it is currently only used on TI Keystone. This series makes ft_board_setup_ex() a generic option, allowing its use by other architectures and boards. Additionally, considering that Toradex Verdin-AM62P hardware lifetime guarantees are based on a 105°C junction temperature (while TI AM62Px supports up to 125°C), this series implements necessary changes within TI K3 AM62P and Toradex board code. These changes include exporting common fixup device Tree functions used in TI K3 for board-code access and also fixup for AM62P thermal zones to correctly reflect the number of CPU nodes according to the SoC part number. Link: https://lore.kernel.org/r/20250623-am62p-fdt-fixup-trip-points-v1-0-12355eb6a72f@toradex.com
2025-07-09boot: Make ft_board_setup_ex() genericJoão Paulo Gonçalves
In some use cases, board-specific device tree changes must not be overwritten by system fixups. Although U-Boot provides ft_board_setup_ex() for this purpose, it is currently only used on TI Keystone. Make ft_board_setup_ex() to be a generic option, allowing its use by other architectures/boards. To maintain backward compatibility, enable it by default on TI Keystone. Signed-off-by: João Paulo Gonçalves <[email protected]>
2025-07-08Merge tag 'xilinx-for-v2025.10-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx changes for v2025.10-rc1 cmd: - Introduce CMD_HELP Kconfig option fpga: - Fix in intel_smd_mb mini: - Remove simple-bus driver and description - Disable CMD_HELP firmware: - Fix dependencies - Switch to new SMC firmware format cadence qspi: - Fix read/write STIG mode - Set tshsl_ns to at least one sclk_ns sdhci: - Call sdhci reset if wired zynqmp-clk: - Add support for DPLL clock source zynqmp: - Sync clock ID bindings with Linux - defconfig updates - Enable rng-seed generation versal: - Fix clock dependency versal2: - defconfig updates - Enable sysreset # -----BEGIN PGP SIGNATURE----- # # iHUEABYIAB0WIQSXAixArPbWpRanWW+rB/7wTvUR9QUCaG0Z7AAKCRCrB/7wTvUR # 9YyCAQCseYDzYZbdh4e2g6LirVovzPv2LUNRFInYSKleegOjiwEAgQ0p9wZ0hNNj # TpWf6sOKa/0ad3bZBtvbuV0G9WpqWAA= # =2pbC # -----END PGP SIGNATURE----- # gpg: Signature made Tue 08 Jul 2025 07:15:24 AM CST # gpg: using EDDSA key 97022C40ACF6D6A516A7596FAB07FEF04EF511F5 # gpg: Can't check signature: No public key
2025-07-08cmd: Introduce CMD_HELPMichal Simek
Add option to disable help command in size constrained systems to save some space. There is also no need to have ifdefs around CMDLINE because all commands depends on it. And also mark cmd_help dependency in test_help.py. Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/c17f825fb8a74e1d1912a3fd09a9a880c84a8bfd.1751286059.git.michal.simek@amd.com
2025-07-08lwip: add sntp commandJerome Forissier
Implement the sntp command when NET_LWIP=y. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: ping: accept host name when CONFIG_CMD_DNS=yJerome Forissier
Update the ping command so that a host name is accepted in addition to an IP address, provided DNS support is enabled. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: dns: do not print IP address when a variable is specifiedJerome Forissier
When calling "dns <hostname> <varname>", do not print out the IP address of <hostname> onto the console. Print it only when no variable is passed. The reason is to be able to call do_dns() from another command in need of the DNS services without polluting the output. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: dns: do not return CMD_RET_FAILURE on successful resolutionJerome Forissier
The DNS loop checks for a non-zero IP address after DNS resolution, but the address is in fact never copied into the context. Fix that. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: split net/lwip/wget.cJerome Forissier
Split net/lwip/wget.c in two: one part which implements CONFIG_WGET stays in net/ while the part that implements CONFIG_CMD_WGET is moved into cmd/. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: split cmd/net-lwip.c into one file per commandJerome Forissier
Move each command in cmd/net-lwip.c into its own file (cmd/lwip/${cmd}.c). Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: move net/lwip/ping.c to cmd/lwipJerome Forissier
Prepare to split the ping command from cmd/net-lwip.c by moving the implementation from net/lwip/dns.c to cmd/lwip. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: move net/lwip/dns.c to cmd/lwipJerome Forissier
Prepare to split the dns command from cmd/net-lwip.c by moving the implementation from net/lwip/dns.c to cmd/lwip. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-07Merge branch 'next'Tom Rini