summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-02riscv: Align the trap handler to 64 bytesSamuel Holland
This is required on CPUs which always operate in CLIC mode, such as the T-HEAD E906 and E907. Per the CLIC specification: "In this mode, the trap vector base address held in mtvec is constrained to be aligned on a 64-byte or larger power-of-two boundary." Reported-by: Madushan Nishantha <[email protected]> Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-11-02riscv: Sort target configs alphabeticallySamuel Holland
Clean things up for the next time somebody adds a target. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-11-02board: sifive: unmatched: move kernel load address to 0x80200000Yong-Xuan Wang
U-boot initially loads the kernel image to the kernel_addr_r, and subsequently relocates it to memory address 0x80200000. Setting kernel_addr_r to 0x80200000 can eliminate one copy operation. Signed-off-by: Yong-Xuan Wang <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-11-02CI: use OpenSBI 1.3.1 for testingHeinrich Schuchardt
Use the most recent upstream release of OpenSBI for CI testing. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-11-01Merge tag 'clk-2024.01-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-clk Clock changes for 2024.01-rc2 This contains several fixes for the clock core.
2023-11-01clk: also handle ENOENT in *_optional functionsYang Xiwen
If the device does not specify any clocks in device tree, these functions will return PTR_ERR(-ENOENT). This is not the intended behavior and does not comply with linux kernel CCF. Fix that by returning NULL under such circumstances instead. Signed-off-by: Yang Xiwen <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-11-01clk: use private clk struct in CLK_CCF's enable/disable functionsMaksim Kiselev
In clk_enable()/clk_disable() functions, when CCF is activated, we must pass a private clk struct to enable()/disable() ops functions. Otherwise, the use of a container_of() construction within these ops should be banned. Because passing a non-private clk struct to container_of() results in an out of range error. At the moment, clk-mux, clk-fixed-factor, clk-gate and possibly other clocks use container_of() in their enable()/disable() functions. Therefore, for these functions to work correclty, private clk struct must be passed. Signed-off-by: Maksim Kiselev <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-11-01clk: fix count parameter type for clk_release_allEugen Hristev
The second parameter for clk_release_all is used as an unsigned (which makes sense) but the function prototype declares it as an int. This causes warnings/error like such below: include/clk.h:422:48: error: conversion to ‘int’ from ‘unsigned int’ may change the sign of the result [-Werror=sign-conversion] 422 | return clk_release_all(bulk->clks, bulk->count); To fix this, changed the type of the count to `unsigned int` Fixes: 82a8a669b4f7 ("clk: add clk_release_all()") Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Xavier Drudis Ferran <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-11-01drivers: clk: Adjust temp var data type to properly match that of struct clk_opsNathan Barrett-Morrison
In commit 5c5992cb90cf ("clk: Add debugging for return values"), a temporary storage variable was added around the ops->get_rate() call inside clk_get_rate(), so that the result could be passed through log_ret. This temporary variable was declared as an int, yet when we look in struct clk_ops, we can see this needs to be a ulong: ulong (*get_rate)(struct clk *clk); This was resulting in a signed to unsigned casting error on our builds, where a clock value of 0xABCDABCD was being incorrectly cast to 0xFFFFFFFFABCDABCD. Signed-off-by: Nathan Barrett-Morrison <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-11-01Merge branch '2023-11-01-bootstd-fixes'Tom Rini
- Four patches to address issues with bootstd flows in some cases
2023-11-01bootstd: cros: Correct condition for read methodSimon Glass
This has a typo which makes the method inoperable. Correct it so that 'bootflow read' works correctly for ChromeOS. Signed-off-by: Simon Glass <[email protected]>
2023-11-01bootstd: Handle a few special cases in cmdline_set_arg()Simon Glass
Two bugs have appeared: - arguments can have an equals sign embedded in them, which must be considered part of the value - arguments must fully match the name; partial matches should be ignored Fix these and add a test to cover both. Signed-off-by: Simon Glass <[email protected]>
2023-11-01bootstd: Make efi_mgr bootmeth work for non-sandbox setupsMark Kettenis
Enable the bootflow based on this bootmeth if the BootOrder EFI variable is set. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-01bootstd: BOOTDEV_SPI_FLASH requires BOOTSTDHeinrich Schuchardt
Compiling sandbox_defconfig with CONFIG_BOOTSTD=n fails: /usr/bin/ld: drivers/mtd/spi/sf_bootdev.o: in function `sf_get_bootflow': /drivers/mtd/spi/sf_bootdev.c:43:(.text+0x96): undefined reference to `bootmeth_set_bootflow' Add the missing Kconfig dependency. Fixes: Fixes: 0c1f4a9fb13a ("bootstd: Add a SPI flash bootdev") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-01Merge https://source.denx.de/u-boot/custodians/u-boot-mmcTom Rini
2023-11-01cmd: mmc: Add mmc reg read command for reading card registersMarek Vasut
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 <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-11-01mmc: sdhci: Rework SDHCI_QUIRK_BROKEN_R1BSean Anderson
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 <[email protected]> Tested-by: Henrik Grimler <[email protected]>
2023-11-01mmc: pci: Drop the superfluous castBin Meng
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2023-11-01mmc: spl: select SPL_BLK for SPL_DM_MMCOleksandr Suvorov
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 <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2023-10-31Merge branch '2023-10-31-platform-updates'Tom Rini
- Updates for npcm8xx, developerbox, corstone1000 and one clock fix for TI K3 platforms.
2023-10-31corstone1000: enable PSCI resetEmekcan Aras
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 <[email protected]> Signed-off-by: Abdellatif El Khlifi <[email protected]>
2023-10-31corstone1000: enable distro booting commandAbdellatif El Khlifi
enable distro_bootcmd Signed-off-by: Abdellatif El Khlifi <[email protected]> Signed-off-by: Rui Miguel Silva <[email protected]>
2023-10-31corstone1000: add compressed kernel supportAbdellatif El Khlifi
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 <[email protected]> Signed-off-by: Jon Mason <[email protected]> Signed-off-by: Rui Miguel Silva <[email protected]>
2023-10-31board: developerbox: update flash rawwrite binary sizeMasahisa Kojima
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 <[email protected]> Acked-by: Jassi Brar <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-10-31board: developerbox: update old NOR flash layout build instructionMasahisa Kojima
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 <[email protected]> Acked-by: Jassi Brar <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-10-31board: developerbox: remove obsolete NOR flash layout definitionMasahisa Kojima
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 <[email protected]> Acked-by: Jassi Brar <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-10-31clk: ti: k3-pll: Add calibration support for non fractional modeVishal Mahaveer
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 <[email protected]>
2023-10-31configs: nuvoton: npcm8xx: Disable CONFIG_SPI_FLASH_USE_4K_SECTORSJim Liu
disable this config to improve flash program time Signed-off-by: Jim Liu <[email protected]>
2023-10-31board: nuvuton: arbel: Fix incorrect ram sizeJim Liu
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 <[email protected]> [trini: Rework slightly] Signed-off-by: Tom Rini <[email protected]>
2023-10-31configs: npcm: Support more uart baud rateJim Liu
Add uart baud rate table to arbel(npcm8xx) and poleg(npcm7xx) Signed-off-by: Jim Liu <[email protected]> [trini: Rework slightly] Signed-off-by: Tom Rini <[email protected]>
2023-10-31pinctrl: npcm8xx: Add name for gpio functionJim Liu
GPIO function name is needed in the debug log Signed-off-by: Jim Liu <[email protected]>
2023-10-31dfu: mmc: Add support for exposing whole mmc deviceMarek Vasut
Add support for exposing the whole mmc device by setting the 'size' parameter to 0. This can be useful in case it is not clear what the total device size is up front. Update the documentation accordingly. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-10-31fastboot: fix CRC32 chunk size checkingWojciech Nizinski
genimage create android-sparse file with CRC32 chunk at end. When U-Boot's fastboot receives this chunk it returns error message: `Fail Bogus chunk size for chunk type Dont Care` According to reference implementation of Android's sparse file format: <https://android.googlesource.com/platform/system/core/+/refs/heads/main/ libsparse/output_file.cpp#513> the chunk_header.total_sz is CHUNK_HEADER_LEN + 4 (CRC32 size). Signed-off-by: Wojciech Nizinski <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> # on vim3 Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-10-31bootcount: Add driver model I2C driverPhilip Richard Oberfichtner
This adds a generic I2C bootcounter adhering to driver model to replace the previously removed legacy implementation. There is no change in functionality, it can be used on any I2C device. The device tree configuration may look like this for example: bootcount { compatible = "u-boot,bootcount-i2c"; i2cbcdev = <&i2c_rtc>; offset = <0x11>; }; Signed-off-by: Philip Richard Oberfichtner <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2023-10-31i2c: Implement i2c_get_chip_by_phandle()Philip Richard Oberfichtner
This new function enhances the i2c_get_chip*() toolbox by implementing a variant that does not require a chip_addr. Instead, the desired device is pointed to by a phandle. Signed-off-by: Philip Richard Oberfichtner <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2023-10-31bootcount: Remove legacy I2C driverPhilip Richard Oberfichtner
The legacy I2C bootcounter will hereby be removed and eventually be replaced by a driver model implementation in the follow-up commit. The legacy driver has the following drawbacks: - It's not adhering to the driver model - Settings are grabbed from Kconfig rather than device tree - i2c_{read,write} are being used instead of dm_i2c_{read,write} Signed-off-by: Philip Richard Oberfichtner <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2023-10-30Merge branch '2023-10-30-assorted-general-updates'Tom Rini
- 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 eepromMichel Alex
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 <[email protected]>
2023-10-30get_maintainer.pl: update from Linux kernel v6.5Tom Rini
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 <[email protected]>
2023-10-30Kconfig: Remove all default n/no optionsMichal Simek
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 <[email protected]> Reviewed-by: Svyatoslav Ryhel <[email protected]> # tegra Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Angelo Dureghello <[email protected]>
2023-10-30tools: mkimage: fix sfspl_image_extract_subimage()Heinrich Schuchardt
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-30arm_ffa: fix: remove deadcode in ffa_print_error_log()Abdellatif El Khlifi
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 <[email protected]> Cc: Tom Rini <[email protected]>
2023-10-30common: Reword CONSOLE_RECORD_.*SIZE help textsTom Rini
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 <[email protected]>
2023-10-30addrmap: Fix off by one in addrmap_set_entry()Dan Carpenter
The > comparison needs to be changed to >= to prevent an out of bounds write on th next line. Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-30i2c: designware_i2c: adjust timing calculationHeinrich Schuchardt
In SPL probing of the designware_i2c device on the StarFive VisionFive 2 board fails with dw_i2c: mode 0, ic_clk 1000000, speed 100000, period 10 rise 1 fall 1 tlow 5 thigh 4 spk 0 dw_i2c: bad counts. hcnt = -4 lcnt = 4 device_probe: i2c@12050000 failed to probe -22 When changing the offset for the high phase from 7 to 3 the device is probed correctly. This now matches the value from the Linux driver. Without this fix the memory size of the StarFive VisionFive 2 board cannot be read from EEPROM. Fixes: e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing calculation") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2023-10-30i2c: nuvoton: remove standard mode onlyJim Liu
first version is only support standard mode. remove this judgment to support standard/fast/fast plus mode. Signed-off-by: Jim Liu <[email protected]> Changes for v2: - add commit message Reviewed-by: Heiko Schocher <[email protected]>
2023-10-28Merge branch 'master_tmio_fixes' of ↵Tom Rini
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 Rini
- 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 Kiszka
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 <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-10-28mpc85xx: relocate code in non-SPL buildMartin Fäcknitz
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 <[email protected]>