summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-29arm: dts: imx6dl-brppt2: fix gpio.h includeCaleb Connolly
The "include" directory was included in the include path... Remove it. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2024-04-17sandbox: don't call os_close with invalid file descriptorHeinrich Schuchardt
If open() fails it returns -1. Calling close() with this value makes no sense. Return -EIO instead. Addresses-Coverity-ID: 185828 Improper use of negative value Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Fixes: 566bf3a8698 ("sandbox: Add a function to read a host file") Reviewed-by: Sean Anderson <seanga2@gmail.com>
2024-04-17arm: mach-k3: security: Lower verbosity of cert message for GPAndrew Davis
When we find a certificate on an image to be booted on a GP device we print out a message explaining that the certificate is being skipped. This message is rather long and is printed for every image. Shorten the message and make the long version into a debug message. Signed-off-by: Andrew Davis <afd@ti.com> Tested-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am64x_evm_*_defconfig: Increase offsets for eMMC raw bootJudith Mendez
EMMC boot can fail due to the size of R5 SPL image growing beyond the 500KB of memory allocated in eMMC. Update offsets for eMMMC raw boot to load each binary from the correct address in eMMC according to the following eMMC layout: boot0/1 partition 0x0+----------------------------------+ | tiboot3.bin (1 MB) | 0x800+----------------------------------+ | tispl.bin (2 MB) | 0x1800+-----------------------------------+ | u-boot.img (4 MB) | 0x3800+-----------------------------------+ | environment (128 KB) | 0x3900+-----------------------------------+ Signed-off-by: Judith Mendez <jm@ti.com>
2024-04-17configs: arbel: Use generic timer and npcm reset driverJim Liu
Modify defconfig to use generic timer and npcm reset driver Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2024-04-17fs: fat: fill creation and change dateHeinrich Schuchardt
The FAT specification requires that the change date is set. If a DM RTC device exists, set the creation and change date to the current date when updating the directory entry. Otherwise use the date 2020-01-01. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-04-17fs: fat: convert change month correctlyHeinrich Schuchardt
The month is stored in 5 - 8. We need to shift it by 5 bits. Cf. Microsoft FAT Specification, 2005-08-30 Fixes: 13c11c665320 ("fs: fat: add file attributes to struct fs_dirent") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Alexander Dahl <ada@thorsis.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-04-17tools: copyfile: use 64k instead of 512 bufferAhelenia Ziemiańska
This is a trivial but significant optimization: mkimage took >200ms (and 49489 writes (of which 49456 512)), now it takes 110ms (and 419 writes (of which 386 64k)). sendfile is much more appropriate for this and is done in one syscall, but doesn't bring any significant speedups over 64k r/w at the 13M size ranges, so there's no need to introduce #if __linux__ while((size = sendfile(fd_dst, fd_src, NULL, 128 * 1024 * 1024)) > 0) ; if(size != -1) { ret = 0; goto out; } #endif Also extract the buffer size to a macro. Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Reviewed-by: Dragan Simic <dsimic@manjaro.org>
2024-04-17test: typo currenHeinrich Schuchardt
Fix typos in test_eficonfig.py: %s/curren/current/ Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
2024-04-17Makefile.lib: find capsule ESL dtsi file with CONFIG_OF_UPSTREAMJonathan Humphreys
When CONFIG_OF_UPSTREAM is enabled, DTS files are in SOC subdirectories (vs the top level dts directory), but when CONFIG_EFI_CAPSULE_AUTHENTICATE is enabled, the dynamically created dtsi file containing the capsule ESL DT node is in the parent directory. This results in a build failure because the #include inserted in the DTS file is local to the current directory. Update Makefile to have the DT preprocessing of #includes search in the parent (dts top level) directory too. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17Merge patch series "configs: ti: Enable basic settings for SystemReady ACS"Tom Rini
Jonathan Humphreys <j-humphreys@ti.com> says: Set basic settings needed for System Ready IR ACS testing, for several TI SoC based platforms: AM64, AM62, AM62p, BeaglePlay, J7, and BeagleboneAI. For AM64, AM62, and AM62p, also includes some config cleanup. Should be no functional change.
2024-04-17configs: beagleboneai64: Enable RTC emulationJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: beagleboneai64: Enable basic EFI CMD supportJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am62x: Enable RTC emulationJonathan Humphreys
This is required to pass SystemReadyIR tests. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am62x: Enable basic EFI CMD supportJonathan Humphreys
This is required to pass SystemReadyIR tests. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am62x: cosmetic config cleanupJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am62px: Enable RTC emulationJonathan Humphreys
This is required to pass SystemReadyIR tests. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am62px: Enable basic EFI CMD supportJonathan Humphreys
This is required to pass SystemReadyIR tests. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am62px: cosmetic config cleanupJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: beagleplay: Enable RTC emulationJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: beagleplay: Enable basic EFI CMD supportJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: j721e: Enable RTC emulationJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: j721e: Enable basic EFI CMD supportJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am64x: Enable RTC emulationJonathan Humphreys
This is required to pass SystemReadyIR tests. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am64x: Enable basic EFI CMD supportJonathan Humphreys
This is required to pass SystemReadyIR tests. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17configs: am64x: cosmetic config cleanupJonathan Humphreys
Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-17Merge patch series "zfs: Fix zfs support on aarch64"Tom Rini
mwleeds@mailtundra.com <mwleeds@mailtundra.com> says: This patch series is needed to get U-Boot to boot from a ZFS filesystem on an aarch64 computer. Some of the patches are not architecture specific and would be needed to boot ZFS on other platforms as well. The ZFS support in U-Boot hasn't been substantively touched in several years and to me it seems like it must have been broken for a long time on all platforms, but I have only tested on aarch64. Since there doesn't seem to be a mantainer for this area who I can cc, I'm hoping these patches get seen and pulled in by a general U-Boot maintainer. [trini: Per Igor's comment and Phaedrus agreement, dropped his Tested-by on the patches themselves]
2024-04-17zfs: Fix zfs_read() to actually workmwleeds@mailtundra.com
Without this patch, the while loop being modified goes on infinitely, but with the patch I am able to boot linux on zfs on a jetson tx2 nx. It seems like this code was never tested because the logic is clearly wrong. The function do_div(a,b) does a division that modifies the first parameter to have a = a / b, and returns the remainder of the division. So clearly in the usual case when file->offset = 0, the line "blkid = do_div(blkid, blksz);" just results in blkid being set to zero on every iteration of the loop, rather than being incremented as blocks are read. Hence the zeroth block is read over and over and this becomes an infinite loop. So instead capture the remainder of the division in a "blkoff" variable, and use that to properly calculate the memory address to move from in memmove() below. For example, if file->offset were 1337, on the first iteration of the loop blkid would be 0 and blkoff would be 1337. If the blksz is 131072 (as it was for me), that amount of data would be copied into data->file_buf. movesize would be 131072 - 1337 = 129735 so 129735 bytes would be moved into buf. On the second iteration of the loop (assuming there is one), red would be 129735, blkid would be 1, blkoff would be 0, and 131072 bytes would be copied into buf. And so on... Signed-off-by: Phaedrus Leeds <mwleeds@mailtundra.com>
2024-04-17zfs: Fix return value of fs_devread()mwleeds@mailtundra.com
As evidenced by how other filesystems handle it, a return value of 0 from fs_devread() means failure; nonzero means success. The opposite assumption was being made in zfs.c for the use of zfs_devread() so fix the confusion by making zfs_devread() return 0 on success. It probably doesn't make sense to change the handling of zfs_devread() in zfs.c instead, because as it is it matches the semantics of the other functions there. Signed-off-by: Phaedrus Leeds <mwleeds@mailtundra.com>
2024-04-17zfs: Fix unaligned read of uint64mwleeds@mailtundra.com
Without this patch, when trying to boot zfs using U-Boot on a Jetson TX2 NX (which is aarch64), I get a CPU reset error like so: "Synchronous Abort" handler, esr 0x96000021 elr: 00000000800c9000 lr : 00000000800c8ffc (reloc) elr: 00000000fff77000 lr : 00000000fff76ffc x0 : 00000000ffb40f04 x1 : 0000000000000000 x2 : 000000000000000a x3 : 0000000003100000 x4 : 0000000003100000 x5 : 0000000000000034 x6 : 00000000fff9cc6e x7 : 000000000000000f x8 : 00000000ff7f84a0 x9 : 0000000000000008 x10: 00000000ffb40f04 x11: 0000000000000006 x12: 000000000001869f x13: 0000000000000001 x14: 00000000ff7f84bc x15: 0000000000000010 x16: 0000000000002080 x17: 00000000001fffff x18: 00000000ff7fbdd8 x19: 00000000ffb405f8 x20: 00000000ffb40dd0 x21: 00000000fffabe5e x22: 000000ea77940000 x23: 00000000ffb42090 x24: 0000000000000000 x25: 0000000000000000 x26: 0000000000000000 x27: 0000000000000000 x28: 0000000000bab10c x29: 00000000ff7f85f0 Code: d00001a0 9103a000 94006ac6 f9401ba0 (f9400000) Resetting CPU ... This happens when be64_to_cpu() is called on a value that exists at a memory address that's 4 byte aligned but not 8 byte aligned (e.g. an address ending in 04). The call stack where that happens is: check_pool_label() -> zfs_nvlist_lookup_uint64(vdevnvlist, ZPOOL_CONFIG_ASHIFT,...) -> be64_to_cpu() Signed-off-by: Phaedrus Leeds <mwleeds@mailtundra.com> Fixes: 4d3c95f5ea7c ("zfs: Add ZFS filesystem support")
2024-04-17zfs: Add a comment to clarify nvlist memory layoutmwleeds@mailtundra.com
Signed-off-by: Phaedrus Leeds <mwleeds@mailtundra.com>
2024-04-17zfs: Fix malloc() success checkmwleeds@mailtundra.com
This code was hitting the error code path whenever malloc() succeeded rather than when it failed, so presumably this part of the code hasn't been tested. I had to apply this fix (and others) to get U-Boot to boot from ZFS on an Nvidia Jetson TX2 NX SoM (an aarch64 computer). Signed-off-by: Phaedrus Leeds <mwleeds@mailtundra.com>
2024-04-16net: wget: fix TCP sequence number wrap around issueYasuharu Shibata
If tcp_seq_num is wrap around, tcp_seq_num >= initial_data_seq_num isn't satisfied and store_block() isn't called. The condition has a wrap around issue, so it is fixed in this patch. Signed-off-by: Yasuharu Shibata <yasuharu.shibata@gmail.com> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com> Suggested-by: Michael Trimarchi <michael@amarulasolutions.com> Reported-by: Tim Harvey <tharvey@gateworks.com> Tested-by: Fabio Estevam <festevam@denx.de>
2024-04-16net: wget: Support retransmission a dropped packetYasuharu Shibata
The server sends multiple packets without waiting for an ACK by window control and if some packets are dropped, wget will return an ACK including the dropped packets. Following log indicates this issue. wget_handler() wget: Transferring, seq=97bbdd4a, ack=30,len=580 wget_handler() wget: Transferring, seq=97bbedca, ack=30,len=580 First packet of TCP sequence number is 0x97bbdd4a. Second packet of TCP sequence number should be 0x97bbe2ca, however it is 0x97bbedca and returns its ACK, so the server suppose that 0x97bbe2ca and 0x97bbedca are received appropriately. In this case, 0x97bbe2ca was lost and the data of wget was broken. In this patch, next_data_seq_num holds the next expected TCP sequence number. If the TCP sequence number different from next_data_seq_num, trying to retransmit the packet. Signed-off-by: Yasuharu Shibata <yasuharu.shibata@gmail.com> Tested-by: Fabio Estevam <festevam@gmail.com>
2024-04-15Merge tag 'u-boot-imx-master-20240415' 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/20348 - Update the imx_rgpio2p to only access one address as per the dt-schema. - Remove unused imx9_cpu.c file. - Only use the LPUART ipg clk for i.MX7ULP. - Use the correct anatop base for accessing the PLL clocks on i.MX93.
2024-04-15Merge https://source.denx.de/u-boot/custodians/u-boot-mmcTom Rini
2024-04-15Merge tag 'u-boot-socfpga-next-20240415' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga - Add option to reprogram FPGA every reboot, enable this as default in chameleonv3 defconfig. - Fixes: Rename CONFIG_SPL_SOCFPGA_SEC_REG to CONFIG_SPL_SOCFPGA_DT_REG, so the driver can be built when CONFIG_SPL_SOCFPGA_DT_REG is set in defconfig.
2024-04-15clk: imx93: fix anatop basePeng Fan
The PLL clk needs use anatop base, otherwise wrong PLL address will be used. Fixes: 9c153e46661b ("clk: imx: add i.MX93 CCF driver") Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-04-15cpu: drop imx9_cpuPeng Fan
This was wrongly committed, no user, remove it. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-04-15serial: lpuart: use ipg clk for i.MX7ULPPeng Fan
To i.MX7ULP compatible lpuart, there is only ipg clk, no per clk. So add a devtype check for i.MX7ULP. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-04-15gpio: imx_rgpio2p: support one addressPeng Fan
The i.MX8ULP/93 gpio dt-schema have been updated to only have one address entry, update the driver to support it. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-04-15mmc: cv1800b_sdhci: Remove the unused argumentJaehoon Chung
Remove the unused argument about cmd_error. Fixes: a3b2786651c7 ("mmc: Drop unused mmc_send_tuning() cmd_error parameter") Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-15mmc: hi6220_dw_mmc: add fifoth_val to private data and set it in .probeYang Xiwen
The value defaults to 0 and is ignored by dw_mmc code, so the other users are not affected. Setting this explicitly fixes some weird reading error found on Hi3798MV200. Fixes: 8a5dc8140e62 ("mmc: hi6220_dw_mmc: add compatible for HC2910 support") Signed-off-by: Yang Xiwen <forbidden405@outlook.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-15mmc: dw_mmc: Don't return error if data busy timeoutYang Xiwen
As described in [1], some poor hardware or cards would fail to release the bus and keep driving data lines low. Ignore it and send the next cmd directly seems okay for most cases. [1]: https://patchwork.kernel.org/project/linux-mmc/patch/1424458179-5456-1-git-send-email-dianders@chromium.org/ Signed-off-by: Yang Xiwen <forbidden405@outlook.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-15mmc: hi6220-dwmmc: handle clocks and resets if CONFIG_CLK and ↵Yang Xiwen
CONFIG_DM_RESET enabled This can avoid hardcoding a clock rate in driver. Also can enable the clocks and deassert the resets if the pre-bootloader does not do this for us. Currently only enabled for Hi3798MV200. Signed-off-by: Yang Xiwen <forbidden405@outlook.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-15mmc: Unconditionally call mmc_deinit()Marek Vasut
Place the SDR104/HS200/HS400 checks into the mmc_deinit() and always call it. This simplifies the code and removes ifdeffery. No functional change is expected. Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Dragan Simic <dsimic@manjaro.org>
2024-04-15mmc: renesas-sdhi: Do not access SCC during tuning in send_cmd callbackMarek Vasut
Do not access SCC when sending commands during tuning operation as that will disrupt the tuning operation. The tuning operation is adjusting the SCC settings itself in execute_tuning callback. When renesas_sdhi_execute_tuning() is called by the MMC core code, a loop which consists of renesas_sdhi_prepare_tuning(), mmc_send_tuning() and renesas_sdhi_compare_scc_data() iterates over each SCC tuning tap. The renesas_sdhi_prepare_tuning() configures the SCC tuning tap number into hardware, mmc_send_tuning() triggers transfer of tuning block which depends on the bus mode for which the bus is currently being tuned, this information is supplied by the MMC core code, and finally renesas_sdhi_compare_scc_data() tests the received tuning block for validity. Because renesas_sdhi_prepare_tuning() configures the SCC tuning tap into the hardware to fit the tuning operation, mmc_send_tuning() which triggers command transfer using renesas_sdhi_send_cmd() must not manipulate with the SCC in any way. Currently renesas_sdhi_send_cmd() does unconditionally call renesas_sdhi_check_scc_error(), which may adjust the SCC tuning tap position by writing RENESAS_SDHI_SCC_TAPSET, which would overwrite the required tuning configuration set by renesas_sdhi_prepare_tuning() and disrupt the tuning operation. Fix this by skipping the renesas_sdhi_check_scc_error() call in case the MMC subsystem is in tuning state. This way, the SCC settings are left unmodified by command transfer during tuning operation. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Tested-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-15mmc: Add generic tuning flagMarek Vasut
Set generic mmc->tuning flag when performing tuning to indicate this condition to drivers. Drivers may use this to bypass various checks during tuning. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-15mmc: Convert hs400_tuning flag from u8 to boolMarek Vasut
This hs400_tuning is a flag, make it bool. No functional change. This will be useful in the following patch, which adds another more generic flag, where the compiler can better use the space now reserved for the u8 to store more flags in it. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-15mmc: renesas-sdhi: Stop transmission in case tuning block transfer failsMarek Vasut
The current code uses the state of tuning block received by SCC to determine whether or not to send transmission stop command. This is not correct. Use the state of tuning block transfer to determine whether or not to send transmission stop command instead, because the transmission stop command has to be sent in case the tuning block transfer failed. This requires two changes, separate variable to store and check the state of tuning block received by SCC, and another separate variable to store and check return value from transmission stop command. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Tested-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>