summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-27spi: add support for Amlogic A1 SPI Flash ControllerIgor Prusov
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 <[email protected]> Signed-off-by: Martin Kurbanov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]> [trini: Drop <common.h> as it's not needed]
2023-10-27Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- 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 Apalodimas
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 <[email protected]>
2023-10-27test: use a non system PCR for testing PCR extendIlias Apalodimas
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 <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27efi_loader: fix EFI_ENTRY point on get_active_pcr_banksIlias Apalodimas
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 <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27doc: Add measured boot documentationEddie James
Briefly describe the feature and specify the requirements. Signed-off-by: Eddie James <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27test: Add sandbox TPM boot measurementEddie James
Use the sandbox TPM driver to measure some boot images in a unit test case. Signed-off-by: Eddie James <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27bootm: Support boot measurementEddie James
Add a configuration option to measure the boot through the bootm function. Add the measurement state to the booti and bootz paths as well. Signed-off-by: Eddie James <[email protected]> Reviewed-by: Simon Glass <[email protected]> Ilias: Added some info on Kconfig explaining this is when booting !EFI Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27tpm: Support boot measurementsEddie James
Add TPM2 functions to support boot measurement. This includes starting up the TPM, initializing/appending the event log, and measuring the U-Boot version. Much of the code was used in the EFI subsystem, so remove it there and use the common functions. Signed-off-by: Eddie James <[email protected]> For the API moving around from EFI -> u-boot core Reviewed-by: Ilias Apalodimas <[email protected]> For EFI testing Tested-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27tpm: sandbox: Update for needed TPM2 capabilitiesEddie James
The driver needs to support getting the PCRs in the capabilities command. Fix various other things and support the max number of PCRs for TPM2. Remove the !SANDBOX dependency for EFI TCG2 as well. Signed-off-by: Eddie James <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27tpm: Fix spelling for tpmu_ha unionEddie James
tmpu -> tpmu Signed-off-by: Eddie James <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-10-27mmc: tmio: Disable 1/1024 clock divider on Renesas R-Car platformsMarek Vasut
The R-Car Gen3 SD_CLK_CTRL register does not use BIT(16) to implement divider 1/1024, instead BIT(16) is reserved bit and divider 1/1024 is not supported. The divider 1/1024 is specific to Socionext variant of the IP, as is indicated by Linux commit: 0196c8db8363 ("mmc: tmio: move tmio_mmc_set_clock() to platform hook") " Socionext (and Panasonic) uses bit 10 (CLKSEL) for 1/1. Also, newer versions of UniPhier SoC variants use bit 16 for 1/1024. " Do not set the TMIO_SD_CAP_DIV1024 on Renesas R-Car platforms even if the IP VERSION register does exist, and indicates IP version is newer or equal to version 1.0 . The IP version 1.0 or newer does not imply presence of the 1/1024 divider. Since the TMIO driver is used exactly by two supported platforms, that is Renesas R-Car and Socionext UniPhier, it is OK to check whether the TMIO_SD_CAP_RCAR capability is not set to identify the UniPhier platform and add the capability only on that platform. Fixes: 58c35b17aa8f ("mmc: matsushita-common: Always check controller version") Signed-off-by: Marek Vasut <[email protected]> Acked-by: Paul Barker <[email protected]> Reviewed-by: Yoshihiro Shimoda <[email protected]> Tested-by: Thuan Nguyen Hong <[email protected]>
2023-10-27mmc: tmio: Always check for errors after receiving an IRQMarek Vasut
Unconditionally check for errors even after successful reception of IRQ flag, since the hardware may set both an IRQ completion flag and an error flag at the same time. This mode of failure happens in case of an error during transfer, in which case the hardware may set the expected IRQ completion flag as well as error flags. The later is currently not checked by the driver and such an error is not detected. Improve the error detection. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Yoshihiro Shimoda <[email protected]> Tested-by: Thuan Nguyen Hong <[email protected]>
2023-10-27mmc: sh_sdhi: Drop unused driverMarek Vasut
This driver is long superseded by renesas-sdhi.c and unused. Drop the driver. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Paul Barker <[email protected]>
2023-10-27mmc: renesas-sdhi: Fix error handling in rzg2l_sdhi_setupPaul Barker
We should ensure that reset_free() is called in the error path. Signed-off-by: Paul Barker <[email protected]> Fixes: 93c811b7331b ("mmc: renesas-sdhi: Initialize module on RZ/G2L") Reviewed-by: Marek Vasut <[email protected]>
2023-10-26ARM: meson: enable USB DFU + RAM on Amlogic boards with USB GadgetNeil Armstrong
Enable DFU as an alternate USB boot method when script wasn't uploaded, this fixes USB full boot on G12/SM1 boards. Link: https://lore.kernel.org/r/[email protected] [narmstrong: remove dfu from ad401] Signed-off-by: Neil Armstrong <[email protected]>
2023-10-26configs: meson64: add alternate USB DFU boot targetNeil Armstrong
Add boot over DFU RAM as an alternate to running script at a fixed address like done today. The main culprit is that it's not possible to do that on G12A/Sm1 platforms due to changes in the USB boot protocol. With this, U-Boot will present a DFU device with a ram slot where the Host could write a fitImage or legacy U-Boot image, then with the detach command boot will continue trying to boot the uploaded image. Signed-off-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2023-10-26configs: meson64: declare addr out of EXTRA_ENV_SETTINGSNeil Armstrong
In order to reuse addresses for DFU RAM, define them separately, it's cleaner and will be easier to override. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2023-10-26ARM: meson: enable FIT with LEGACY_IMAGE_FORMAT on all configsNeil Armstrong
Allow all boards to boot with a fitImage, but keep support for Legacy image format for now. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2023-10-26configs: khadas-vim3*_android: fix environment savingMattijs Korpershoek
The environment is used to configure some additional boot features such as: * extra boot arguments * enable AVB (Android Verified Boot) verification Right now, we cannot store it in eMMC: Loading Environment from nowhere... OK Fix it by enabling the appropriate options in the defconfig Fixes: b749d5ecdc06 ("configs: meson64_android: define raw parts for bootloader") Signed-off-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2023-10-26arm: kirkwood: Enable bootstd for Zyxel NSA310S boardTony Dinh
Enable bootstd for Zyxel NSA310S board, and remove distroboot. Signed-off-by: Tony Dinh <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-10-26cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096Josua Mayer
A38x bootrom only searches 2 sectors when booting from eMMC, irregardless of data or boot partition: 0 & 4096. For eMMC boot partitions sector 0 is fine, but on data partition it conflicts with MBR. Change bubt command default to 4096 for eMMC data partition only, to allow using an MBR partition table on the eMMC data partition while also booting from it. Signed-off-by: Josua Mayer <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-10-26arm: mvebu: allow additional 4096 offset for bootable mmc imageJosua Mayer
Disarm the error message forcing u-boot/spl image to be located at sector 0 on eMMC data-partition and microSD. Offset 0 makes sense on eMMC boot partitions only, data partition must use 4096 to avoid conflicting with MBR. Valid offsets when booting from microSD, reported by boot-rom v1.73: BootROM: Bad header at offset 00000200 BootROM: Bad header at offset 00004400 BootROM: Bad header at offset 00200000 BootROM: Bad header at offset 00400000 BootROM: Bad header at offset 00600000 BootROM: Bad header at offset 00800000 BootROM: Bad header at offset 00A00000 BootROM: Bad header at offset 00C00000 BootROM: Bad header at offset 00E00000 BootROM: Bad header at offset 01000000 BootROM: Bad header at offset 01200000 BootROM: Bad header at offset 01400000 BootROM: Bad header at offset 01600000 BootROM: Bad header at offset 01800000 BootROM: Bad header at offset 01A00000 BootROM: Bad header at offset 01C00000 BootROM: Bad header at offset 01E00000 BootROM: Bad header at offset 02000000 BootROM: Bad header at offset 02200000 BootROM: Bad header at offset 02400000 BootROM: Bad header at offset 02600000 BootROM: Bad header at offset 02800000 BootROM: Bad header at offset 02A00000 BootROM: Bad header at offset 02C00000 BootROM: Bad header at offset 02E00000 Valid offsets when booting from eMMC: BootROM: Bad header at offset 00000000 BootROM: Bad header at offset 00200000 Switching BootPartitions. BootROM: Bad header at offset 00000000 BootROM: Bad header at offset 00200000 Fixes: 2226ca17348 ("arm: mvebu: Load U-Boot proper binary in SPL code based on kwbimage header") Signed-off-by: Josua Mayer <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-10-26arm: kirkwood: Enable bootstd for Pogo V4 boardTony Dinh
Enable bootstd for Pogo V4 board, and remove distroboot. Signed-off-by: Tony Dinh <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-10-26arm: mvebu: turris_mox: Extend to support RIPE Atlas ProbeMarek Behún
Extend Turris Mox board code to support CZ.NIC's RIPE Atlas Probe. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-10-26doc: build: update description of build dependencies for Alpine LinuxMilan P. Stanić
Signed-off-by: Milan P. Stanić <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reformat and keep ncurses-dev needed for 'make menuconfig' Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-10-24Merge branch '2023-10-24-assorted-general-fixes-and-updates'Tom Rini
- Remove common.h in a number of places and make checkpatch.pl complain about its use in all cases, allow the mbr command to handle 4 primary partitions, fix an issue with the pstore command, fix a problem with cli parsing of escape sequences, remove and ignore more files, allow for the serial port to be flushed with every print (for debugging), and add SCMI power domain support.
2023-10-24serial: introduce CONFIG_CONSOLE_FLUSH_ON_NEWLINERasmus Villemoes
When debugging, one sometimes only gets partial output lines or nothing at all from the last printf, because the uart has a largish buffer, and the code after the printf() may cause the CPU to hang before the uart IP has time to actually emit all the characters. That can be very confusing, because one doesn't then know exactly where the hang happens. Introduce a config knob allowing one to wait for the uart fifo to drain whenever a newline character is printed, roughly corresponding to the effect of setvbuf(..., _IOLBF, ...) in ordinary C programs. Since this uses IS_ENABLED() instead of cpp ifdef, we can remove the ifdef around the _serial_flush() definition - if neither CONSOLE_FLUSH_SUPPORT or CONSOLE_FLUSH_ON_NEWLINE are enabled, the compiler elides _serial_flush(), but it won't warn about it being unused. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-24serial: serial-uclass.c: move definition of _serial_flush up a bitRasmus Villemoes
Preparation for next patch. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2023-10-24test: dm: add SCMI power domain protocol testAKASHI Takahiro
This ut has tests for the SCMI power domain protocol as well as DM interfaces for power domain devices. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-24sandbox: add SCMI power domain protocol support for testingAKASHI Takahiro
SCMI power domain management protocol is supported on sandbox for test purpose. Add fake agent interfaces and associated power domain devices. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-24power: domain: add SCMI driverAKASHI Takahiro
Add power domain driver based on SCMI power domain management protocol. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-10-24firmware: scmi: add power domain protocol supportAKASHI Takahiro
In this patch, added are helper functions to directly manipulate SCMI power domain management protocol. DM compliant power domain driver will be implemented on top of those interfaces in a succeeding patch. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-10-24cmd: mbr: Allow 4 MBR partitions without need for extendedAlexander Gendin
Current code allows up to 3 MBR partitions without extended one. If more than 3 partitions are required, then extended partition(s) must be used. This commit allows up to 4 primary MBR partitions without the need for extended partition. Add mbr test unit. In order to run the test manually, mmc6.img file of size 12 MiB or greater is required in the same directory as u-boot. Test also runs automatically via ./test/py/test.py tool. Running mbr test is only supported in sandbox mode. Signed-off-by: Alex Gendin <[email protected]> [ And due to some further changes for testing ] Signed-off-by: Simon Glass <[email protected]>
2023-10-24pstore: Use root address-cells/size-cells as defaults for reserved-memoryAndrey Skvortsov
u-boot adds reserve-memory node, if it's missing, with following properties: ``` reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; } ``` But with these default address-cells and size-cells values, pstore isn't working on A64. Root node for A64 defines 'address-cells' and 'size-cells' as 1. dtc complains if reserved-memory has different address-cells and size-cells. ``` Warning (ranges_format): /reserved-memory:ranges: empty "ranges" property but its #address-cells (2) differs from / (1) ``` This patch takes into account address-cells and size-cells of the root node and uses them as values for new reserved-memory node. Signed-off-by: Andrey Skvortsov <[email protected]>
2023-10-24.gitignore: ignore misc include, simple-bin, and tools/generated build artifactsJohn Clark
make rock5b-rk3588_defconfig make git status before ~~~~~~~ On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) Untracked files: (use "git add <file>..." to include in what will be committed) include/autoconf.mk include/autoconf.mk.dep include/config.h mkimage-in-simple-bin-spi.mkimage-rockchip-tpl mkimage-in-simple-bin-spi.mkimage-u-boot-spl mkimage-in-simple-bin.mkimage-rockchip-tpl mkimage-in-simple-bin.mkimage-u-boot-spl simple-bin-spi.map simple-bin.fit.fit simple-bin.fit.itb simple-bin.map tools/generated/ after ~~~~~~~ On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean Signed-off-by: John Clark <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-24Makefile: remove misc include and simple-bin build artifacts on cleanJohn Clark
make rock5b-rk3588_defconfig make make clean git status before ~~~~~~~ On branch master Your branch is up to date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) include/autoconf.mk include/autoconf.mk.dep include/config.h mkimage-in-simple-bin-spi.mkimage-rockchip-tpl mkimage-in-simple-bin-spi.mkimage-u-boot-spl mkimage-in-simple-bin.mkimage-rockchip-tpl mkimage-in-simple-bin.mkimage-u-boot-spl simple-bin.fit.fit simple-bin.fit.itb after ~~~~~~~ On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean Signed-off-by: John Clark <[email protected]>
2023-10-24riscv: Remove common.h usageTom Rini
We can remove common.h from most cases of the code here, and only a few places need an additional header instead. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2023-10-24mips: Remove common.h usageTom Rini
We can remove common.h from most cases of the code here, and only a few places need an additional header instead. Signed-off-by: Tom Rini <[email protected]>
2023-10-24microblaze: Remove common.h usageTom Rini
We can remove common.h from most cases of the code here, and only a few places need an additional header instead. Signed-off-by: Tom Rini <[email protected]> Acked-by: Michal Simek <[email protected]>
2023-10-24m68k: Remove common.h usageTom Rini
We can remove common.h from most cases of the code here, and only a few places need an additional header instead. Signed-off-by: Tom Rini <[email protected]> Acked-by: Angelo Dureghello <[email protected]>
2023-10-24arc: Remove common.h usageTom Rini
We can remove common.h from most cases of the code here, and only a few places need an additional header instead. Signed-off-by: Tom Rini <[email protected]> Acked-by: Alexey Brodkin <[email protected]>
2023-10-24include: Add <linux/types.h> in a few placesTom Rini
These files references a number of types that are defined in <linux/types.h> (and so forth), so include it here rather than rely on indirect inclusion. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-24patman: Add a little documentation on the checkpatch testsSimon Glass
These texts lack comments. Add some so that it is clearer what is going on. Signed-off-by: Simon Glass <[email protected]>
2023-10-24checkpatch.pl: Make common.h check boarderTom Rini
At this point in time we should not add common.h to any new files, so make checkpatch.pl complain. Signed-off-by: Tom Rini <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2023-10-24cli: Consume invalid escape sequences earlyYurii Monakov
Unexpected 'Esc' key presses are accumulated internally, even if it is already clear that the current escape sequence is invalid. This results in weird behaviour. For example, the next character after 'Esc' key simply disappears from input and 'Unknown command' is printed after 'Enter'. This commit fixes some issues with extra 'Esc' keys entered by user: 1. Sequence <Esc><Esc><Enter> right after autoboot stop gives: => nknown command 'ry 'help' => 2. Sequence <Esc><p><r><i><Enter> gives: => ri Unknown command 'ri' - try 'help' => 3. Extra 'Esc' key presses break backspace functionality. Signed-off-by: Yurii Monakov <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-24Merge tag 'u-boot-rockchip-20231024' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip - Add Board: rk3588 NanoPC-T6, Orange Pi 5, Orange Pi 5 Plus; - clk driver fix for rk3568 and rk3588; - rkmtd cmd support for rockchip nand device; - dts update and sync from linux;
2023-10-24Merge tag 'u-boot-imx-20231024' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20231024 ------------------- CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/18211 - Fixes for MC2432 Eeprom - i.MX93 ADC - Secondary boot mode on i.MX8M
2023-10-24rockchip: configs: sandbox: enable rkmtd commandJohan Jonker
Enable rkmtd command for testing with sandbox_defconfig and sandbox64_defconfig. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-24rockchip: doc: add rkmtd.rstJohan Jonker
Add documention for Rockchip rkmtd virtual block device. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Simon Glass <[email protected]>