aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-11-01Merge https://source.denx.de/u-boot/custodians/u-boot-mmcWIP/01Nov2023Tom Rini7-9/+145
2023-11-01cmd: mmc: Add mmc reg read command for reading card registersMarek Vasut3-0/+129
Add extension to the 'mmc' command to read out the card registers. Currently, only the eMMC OCR/CID/CSD/EXTCSD/RCA/DSR register are supported. A register value can either be displayed or read into an environment variable. Tested-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2023-11-01mmc: sdhci: Rework SDHCI_QUIRK_BROKEN_R1BSean Anderson2-7/+13
As noted in commit 3a6383207be ("mmc: sdhci: add the quirk for broken r1b response"), some MMC controllers don't always set the transfer complete bit with R1b responses. According to the SD Host Controller Simplified Specification v4.20, > In the case of a command pairing with response-with-busy[, Transfer > Complete] is set when busy is de-asserted. Refer to DAT Line Active > and Command Inhibit (DAT) in the Present State register. By polling the DAT Line Active bit in the present state register, we can detect when we are no longer busy, without waiting for a long timeout. This results in much faster reads/writes on buggy controllers. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Tested-by: Henrik Grimler <henrik@grimler.se>
2023-11-01mmc: pci: Drop the superfluous castBin Meng1-2/+2
dm_pci_map_bar() return a value of (void *) already, hence no need to cast it again before assigning to host->ioaddr. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2023-11-01mmc: spl: select SPL_BLK for SPL_DM_MMCOleksandr Suvorov1-0/+1
mmc_bind() in mmc-uclass.c calls blk_create_devicef() which is defined in blk-uclass.c, so SPL_BLK is required by SPL_DM_MMC. Implicitly select SPL_BLK for SPL_DM_MMC. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2023-10-31Merge branch '2023-10-31-platform-updates'Tom Rini10-51/+111
- Updates for npcm8xx, developerbox, corstone1000 and one clock fix for TI K3 platforms.
2023-10-31corstone1000: enable PSCI resetEmekcan Aras1-0/+1
enable PSCI reset used for the system reset Even though Corstone-1000 does not implement the entire PSCI APIs, it relies on PSCI reset interface for the system reset. Signed-off-by: Emekcan Aras <emekcan.aras@arm.com> Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
2023-10-31corstone1000: enable distro booting commandAbdellatif El Khlifi1-1/+2
enable distro_bootcmd Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2023-10-31corstone1000: add compressed kernel supportAbdellatif El Khlifi1-1/+1
unzip the kernel before executing it The Corstone-1000 kernel has become too large to fit in the available storage. Switching to a compressed kernel avoids the problem, but requires uncompressing it. Changes made are generated using savedefconfig. Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2023-10-31board: developerbox: update flash rawwrite binary sizeMasahisa Kojima1-2/+2
Current documentation limits the firmware size to 1.5MB. When the fTPM and StandaloneMM-based RPMB secure storage is enabled, firmware size is bigger than that size. Let's specify the A/B update bank size(4MB) for flash rawwrite parameter. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Acked-by: Jassi Brar <jaswinder.singh@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-10-31board: developerbox: update old NOR flash layout build instructionMasahisa Kojima1-1/+2
v2023.07 is the last version supporting old NOR flash layout by default. The later versions of U-Boot, Developerbox is configured to enable A/B update and new NOR Flash layout by default. This commit updates the documentation to pin the U-Boot version for the old NOR flash layout. It is still useful for the user wants to replace the factory default EDK II firmware to U-Boot. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Acked-by: Jassi Brar <jaswinder.singh@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-10-31board: developerbox: remove obsolete NOR flash layout definitionMasahisa Kojima1-19/+0
There are two kinds of NOR flash layout for the Developerbox. Capsule update for the old layout is no longer available since it has small capacity for secure world images and can not house the TA such as fTPM. This commit removes the definition related to the obsolete NOR flash layout for the UEFI capsule update. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Acked-by: Jassi Brar <jaswinder.singh@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-10-31clk: ti: k3-pll: Add calibration support for non fractional modeVishal Mahaveer1-6/+75
PLL calibration needs to be enabled when operating in non fractional mode. Add the sequence to do a fast calibration when using PLL in this mode. Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
2023-10-31configs: nuvoton: npcm8xx: Disable CONFIG_SPI_FLASH_USE_4K_SECTORSJim Liu1-0/+1
disable this config to improve flash program time Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2023-10-31board: nuvuton: arbel: Fix incorrect ram sizeJim Liu1-20/+19
1. Fix incorrect ram size of 4GB dram with ECC enabled 2. Fix wrong place to set dram bank size - The dram bank size should be set in dram_init_banksize - Dram_init should not access gd->bd because the board info struct is not reserved yet. Signed-off-by: Jim Liu <JJLIU0@nuvoton.com> [trini: Rework slightly] Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-31configs: npcm: Support more uart baud rateJim Liu2-1/+7
Add uart baud rate table to arbel(npcm8xx) and poleg(npcm7xx) Signed-off-by: Jim Liu <JJLIU0@nuvoton.com> [trini: Rework slightly] Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-31pinctrl: npcm8xx: Add name for gpio functionJim Liu1-0/+1
GPIO function name is needed in the debug log Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2023-10-30Merge branch '2023-10-30-assorted-general-updates'Tom Rini27-46/+27
- Two Kconfig content fixes, fix some issues reported by Coverity, resync get_maintainer.pl (two small fixees), update i2c_eeprom, and fix an off by one in addrmap_set_entry
2023-10-30misc: i2c_eeprom: consider pagesize when writing to eepromWIP/2023-10-30-assorted-general-updatesMichel Alex1-1/+12
Calculate the maximum length of the buffer when writing across the page boundary. If the buffer length (len) exceeds the page boundary (pagesize), split it. Use this length instead of comparing the length with the pagesize, because if the write start address (offset) is not at the beginning of a page and the page_offset + len is greater than the page boundary (pagesize), the write operation would overflow the current page and the behaviour can be undefined (e.g. at24). Signed-off-by: Alex Michel <alex.michel@wiedemann-group.com>
2023-10-30get_maintainer.pl: update from Linux kernel v6.5Tom Rini1-1/+2
Update U-Boot's version of scripts/get_maintainer.pl to sync it up with the latest changes to the Linux kernel's version of the same script. The last sync was with Linux kernel version v5.13-rc6. The commits to the kernel's get_maintainer.pl since then (starting with the most recent) are: 11fb48961e52 get_maintainer: Honor mailmap for in file emails 26d98e9f78da get_maintainer: don't remind about no git repo when --nogit is used Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-30Kconfig: Remove all default n/no optionsMichal Simek21-29/+0
Similar change was done by commit b4c2c151b14b ("Kconfig: Remove all default n/no options") and again sync is required. default n/no doesn't need to be specified. It is default option anyway. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com> # tegra Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Angelo Dureghello <angelo@kernel-space.org>
2023-10-30tools: mkimage: fix sfspl_image_extract_subimage()Heinrich Schuchardt1-4/+4
Do not leak file descriptor if writing fails. Correct the error text if opening a file fails. Addresses-Coverity-ID: 467054 Resource leaks Fixes: 64fd30d367a1 ("tools: mkimage: Add StarFive SPL image support") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-30arm_ffa: fix: remove deadcode in ffa_print_error_log()Abdellatif El Khlifi1-2/+0
address the CID 464361 Control flow issues [1] [1]: https://lore.kernel.org/all/20230821210927.GL3953269@bill-the-cat/ Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Cc: Tom Rini <trini@konsulko.com>
2023-10-30common: Reword CONSOLE_RECORD_.*SIZE help textsTom Rini1-8/+8
Make it clear that in the options for setting the console record buffer sizes that we are talking about buffers for that feature specifically and not the general console buffers. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-30addrmap: Fix off by one in addrmap_set_entry()Dan Carpenter1-1/+1
The > comparison needs to be changed to >= to prevent an out of bounds write on th next line. Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-28Merge branch 'master_tmio_fixes' of ↵Tom Rini5-920/+9
https://source.denx.de/u-boot/custodians/u-boot-sh - MMC fixes for Renesas platforms
2023-10-28Merge branch '2023-10-28-assorted-platform-updates'Tom Rini19-51/+145
- Fix some mpc85xx platforms, fixes for a few TI K3 platforms, enable usb device and fastboot on verdin-imx8mp, make all QEMU platforms use the default console buffer sizes, vexpress platform fixes, and update synquacer flash layout
2023-10-28iot2050: Allow for more than 1 USB storage deviceJan Kiszka1-0/+9
This was lost in refactoring while some users of the IOT2050 expect it to work: Make sure that up to 3 USB storage devices are probed. Fixes: 53873974a4b0 ("include: armv7: Enable distroboot across all configs") Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2023-10-28mpc85xx: relocate code in non-SPL buildMartin Fäcknitz1-1/+1
When building a non-SPL image, relocation is needed. This patch restores the old behaviour before commit b35316fb67cb ("Convert CONFIG_SPL_INIT_MINIMAL et al to Kconfig") was only defined if CONFIG_SPL_BUILD was defined. Fixes: b35316fb67cb ("Convert CONFIG_SPL_INIT_MINIMAL et al to Kconfig") Signed-off-by: Martin Fäcknitz <faecknitz@hotsplots.de>
2023-10-27board: synquacer: Update the flash image layoutIlias Apalodimas1-22/+1
The SynQuacer Developerbox, in EFI mode, supports A/B capsule updates and single image ones. The flash layout in the latter case is outdated, update it with the new offsets and images Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-By: Masahisa Kojima <masahisa.kojima@linaro.org>
2023-10-27driver: misc: k3_avs: Add support for thermal shutdownUdit Kumar1-0/+104
To avoid thermal burn out, program thermal shutdown value in VTM (Voltage and Thermal Manager) IP. Part of Linux kernel driver (drivers/thermal/k3_j72xx_bandgap.c) is ported from kernel 6.6-rc1, which sets thermal shutdown values. Signed-off-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Neha Francis <n-francis@ti.com>
2023-10-27vexpress64: Add MMC card to the BOOT_TARGET_DEVICES of FVPWei Chen1-0/+7
Add MMC disk to FVP's BOOT_TARGET_DEVICES. This allows the user to boot from MMC devices. Signed-off-by: Wei Chen <wei.chen@arm.com> Signed-off-by: Qi Feng <qi.feng@arm.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-27misc: vexpress_config: Use member .priv_auto to set the private dataWei Chen1-3/+2
In current vexpress_config_probe code, it sets the uclass private data directly. This will cause one compilation error: drivers/misc/vexpress_config.c:114:27: error: lvalue required as left operand of assignment 114 | dev_get_uclass_priv(dev) = priv; | ^ In this patch we set the uclass private data through struct member .priv_auto, and this compilation error disappears. Signed-off-by: Wei Chen <wei.chen@arm.com> Signed-off-by: Qi Feng <qi.feng@arm.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-27config: qemu: relax print and console buffer sizeHeinrich Schuchardt11-19/+0
QEMU print and console buffer sizes have been restricted on QEMU below their default values. One of the side effects of the print buffer size restriction is output truncation of the 'efidebug dh' command. As QEMU does not have special memory size restrictions remove the settings from the defconfig files and go with the generic defaults. Fixes: d0ee7f295d74 ("Convert CONFIG_SYS_PBSIZE to Kconfig") Fixes: d31466b382dd ("Convert CONFIG_SYS_CBSIZE to Kconfig") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-27board: siemens: iot2050: Fix M.2 detectionJan Kiszka1-5/+6
The "simpler" the logic, the higher the probability to not test and get things wrong, again: The absence of a "-PG2" suffix is not sufficient to derive that we are on PG1. There is also "IOT2050-ADVANCED-M2". Finally fix that by exactly matching against the two PG1 device names. While changing this, we can also drop the not really needed check for !board_is_sr1 in board_is_m2 and call the boards by their names ("board_is_pg1"). Reported-and-tested-by: Bao Cheng Su <baocheng.su@siemens.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2023-10-27board: toradex: verdin-imx8mp: enable usb device and fastboot supportMarcel Ziswiler1-1/+15
Enable USB device and fastboot support which may be used to load the Toradex Easy Installer FIT image. While at it also enable USB mass storage aka UMS support. Note that the i.MX 8M Plus recovery mode support is based on the USB boot stage of the BOOTROM and does NOT require USB SDP SPL aka serial downloader support. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-10-27Merge tag 'tpm-next-27102023' of ↵Tom Rini24-1062/+1490
https://source.denx.de/u-boot/custodians/u-boot-tpm bootX measurements and measurement API moved to u-boot core: Up to now, U-Boot could perform measurements and EventLog creation as described by the TCG spec when booting via EFI. The EFI code was residing in lib/efi_loader/efi_tcg2.c and contained both EFI specific code + the API needed to access the TPM, extend PCRs and create an EventLog. The non-EFI part proved modular enough and moving it around to the TPM subsystem was straightforward. With that in place we can have a common API for measuring binaries regardless of the boot command, EFI or boot(m|i|z), and contructing an EventLog. I've tested all of the EFI cases -- booting with an empty EventLog and booting with a previous stage loader providing one and found no regressions. Eddie tested the bootX part. Eddie also fixed the sandbox TPM which couldn't be used for the EFI code and it now supports all the required capabilities. This had a slight sideeffect in our testing since the EFI subsystem initializes the TPM early and 'tpm2 init' failed during some python tests. That code only opens the device though, so we can replace it with 'tpm2 autostart' which doesn't error out and still allows you to perfom the rest of the tests but doesn't report an error if the device is already opened. There's a few minor issues with this PR as well but since testing and verifying the changes takes a considerable amount of time, I prefer merging it now. Heinrich has already sent a PR for -master containing "efi_loader: fix EFI_ENTRY point on get_active_pcr_banks" and I am not sure if that will cause any conflicts, but in any case they should be trivial to resolve. Both the EFI and non-EFI code have a Kconfig for measuring the loaded Device Tree. The reason this is optional is that we can't reason when/if devices add random info like kaslr-seed, mac addresses etc in the DT. In that case measurements are random, board specific and eventually useless. The reason it was difficult to fix it prior to this patchset is because the EFI subsystem and thus measurements was brought up late and DT fixups might have already been applied. With this patchset we can measure the DT really early in the future. Heinrich also pointed out that the two Kconfigs for the DTB measurements can be squashed in a single one and that the documentation only explains the non-EFI case. I agree on both but as I said this is a sane working version, so let's pull this first it's aleady big enough and painful to test.
2023-10-27Merge tag 'efi-2024-01-rc2-2' of ↵Tom Rini6-11/+19
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2024-01-rc2-2 Documentation: * Bump urllib3 version * Replace references to dm_dump_all() with dm_dump_tree() * Update description of build dependencies for Alpine Linux * Fix typo in gpt example * Fix ordering of shell commands UEFI: * Move misplace EFI_ENTRY macro
2023-10-27efi_loader: fix EFI_ENTRY point on get_active_pcr_banksIlias Apalodimas1-1/+2
efi_tcg2_get_active_pcr_banks doesn't immediately call the EFI_ENTRY() wrapper once it enters the function. Move the call a few lines above to cover the error cases properly as well. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-10-27doc: usage: fix ordering of shell commandsTom Fitzhenry1-4/+4
I initially didn't find the bootz docs when I went looking for them. :) Signed-off-by: Tom Fitzhenry <tom@tom-fitzhenry.me.uk> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-10-27doc: gpt: fix example of echoing variableTom Fitzhenry1-2/+3
Fixes: 44c5d7764bf4 ("doc: Add gpt command documentation") Signed-off-by: Tom Fitzhenry <tom@tom-fitzhenry.me.uk> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-10-27doc: Replace dm_dump_all() with dm_dump_tree()Dylan Corrales1-1/+1
Replace dm_dump_all() with dm_dump_tree() in driver model documentation, to reflect changes introduced in commit 145287040480 ("dm: core: Rename dm_dump_all()"). Fixes: 145287040480 ("dm: core: Rename dm_dump_all()") Signed-off-by: Dylan Corrales <deathcamel58@gmail.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reivewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-10-27sphinx: Bump urllib3 versionTom Rini1-1/+1
While unlikely to be a direct issue for us, urllib3 before 2.0.7 is vulnerable to CVE-2023-45803, so bump our version up. Reported-by: GitHub dependabot Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-10-27Merge tag 'u-boot-amlogic-20231027' of ↵Tom Rini48-7/+686
https://source.denx.de/u-boot/custodians/u-boot-amlogic - Fix environment saving for new Android boot features on vim3*_android - Add SPIFC support for Amlogic A1 - Add DFU RAM boot step when booting over USB
2023-10-27ARM: amlogic: ad401: enable SPIFCIgor Prusov1-0/+1
Enable Amlogic A1 SPI FLash Controller support. Signed-off-by: Igor Prusov <ivprusov@sberdevices.ru> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20231024225140.366571-3-ivprusov@sberdevices.ru Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-10-27spi: add support for Amlogic A1 SPI Flash ControllerIgor Prusov3-0/+393
Add A1 SPIFC driver from Linux. Slightly modified to use u-boot driver framework and accommodate to lack of ioread32_rep/iowrite32_rep. Based on Linux version 6.6-rc4 Signed-off-by: Igor Prusov <IVPrusov@sberdevices.ru> Signed-off-by: Martin Kurbanov <mmkurbanov@sberdevices.ru> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20231024225140.366571-2-ivprusov@sberdevices.ru Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> [trini: Drop <common.h> as it's not needed]
2023-10-27Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini13-67/+200
- kirkwood: Enable bootstd on some boards (Tony) - mvebu: turris_mox: Extend to support RIPE Atlas Probe (Marek) - mvebu/bubt: Support eMMC data partition booting (Josua)
2023-10-27test/py: always use autostart on tpm2 selftestsIlias Apalodimas1-2/+2
commit 789ed2784256 ("test/py: replace 'tpm2 init, startup, selftest' sequences") changed some of the tpm2 init sequences to 'tpm2 autostart' instead of calling 'tpm init', 'tpm startup TPM2_SU_CLEAR', 'tpm2 self_test full'. The autostart command calls the afforementioned sequence and on top of that deals with the 'tpm2 init' return codes if the tpm is already started. Since we initialize the tpm from various subsystems now, replace the last remaining instances of 'tpm2 init' with 'tpm2 autostart'. Since the latter calls 'tpm2 init' anyway we will still be implicitly testing the validity of that command It's worth noting that since 'tpm2 autostart' performs the startup and self tests sequences of the tpm we could drop 'test_tpm2_sandbox_self_test_full' and 'test_tpm2_startup, but let's keep the since they test tpm commands and options Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-10-27test: use a non system PCR for testing PCR extendIlias Apalodimas1-8/+8
We currently use PCR 0 for testing the PCR read/extend functionality in our selftests. How ever those PCRs are defined by the TCG spec for platform use. For example if the tests run *after* the efi subsystem initialization, which extends PCRs 0 & 7 it will give a false positive. So let's switch over to a PCR which is more suitable and is defined for OS use. It's worth noting that we are using PCR10 here, since PCR9 is used internally by U-Boot if we choose to measure the loaded DTB Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-10-27efi_loader: fix EFI_ENTRY point on get_active_pcr_banksIlias Apalodimas1-2/+2
efi_tcg2_get_active_pcr_banks doesn't immediately call the EFI_ENTRY() wrapper once it enters the function. Move the call a few lines above to cover the error cases properly as well. Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>