summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-03lib: fix selection of CONFIG_CHARSETHeinrich Schuchardt
lib/charset.c is not optional for EFI_APP || EFI_LOADER || UFS || UT_UNICODE. These must select CONFIG_CHARSET. Fixes: 726cd9836db0 ("efi: Make unicode printf available to the app") Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03efi_selftest: error handling in efi_selftest_tcg2Heinrich Schuchardt
If memory allocation fails, write an error message. Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03efi_selftest: clean up unaligned unit testHeinrich Schuchardt
* fix typo %s/give/given/ * don't use void * in pointer arithmetic Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03efi_selftest: buildefi_selftest_unaligned.cHeinrich Schuchardt
The unit test has not been built since CPU_V7 was rename CPU_V7A. Fixes: acf1500138bb ("arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A") Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03test: fix some pylint problems in test_capsule_firmware_raw.pyHeinrich Schuchardt
* improve doc-string formatting * remove unused imports Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03efi_loader: reset colors before clearing screenHeinrich Schuchardt
When resetting the text console the colors have to be set before clearing the screen. Otherwise the background color may be wrong. Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03doc: fix typos in bootmenu.rstHeinrich Schuchardt
%s/cammand/command/ %s/sequencies/sequences/ Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2022-05-03cmd: simplify bootmenuHeinrich Schuchardt
* correct output for timeout > 99 s * don't use spaces to advance to the output column Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03test: unit test for bootmenuHeinrich Schuchardt
Provide a unit test for the bootmenu command Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03sandbox: enable bootmenu commandHeinrich Schuchardt
Provide the bootmenu command on the sandbox for testing. Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-05-03CI: Azure: Rework how we update MSYS2Tom Rini
Based on reading https://www.msys2.org/docs/ci/ and "Other Systems" rework how we update MSYS2 to the current version. We run it once, to perform nothing other than being the first run, then we run pacman twice. Signed-off-by: Tom Rini <[email protected]>
2022-05-03sf: dataflash: add support for AT45DB641ELuca Ellero
NOTE: this chip uses "extened device information" Signed-off-by: Luca Ellero <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2022-05-03sf: dataflash: add support for "extended ID"Luca Ellero
Take as reference Linux kernel code: drivers/mtd/devices/mtd_dataflash.c commit 1da8869a428317a6d3cd8d47184cf87feb34a98b Author: Andrey Smirnov <[email protected]> Signed-off-by: Luca Ellero <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2022-05-03spi: npcm-fiu: add NPCM7xx FIU controller driverJim Liu
Add Nuvoton NPCM BMC Flash Interface Unit(FIU) SPI master controller driver using SPI-MEM interface. The FIU supports single, dual or quad communication interface. The FIU controller driver provides flash access in UMA(User Mode Access) mode by using an indirect address/data mechanism. the dts node is followed upstream kernel dts name. Signed-off-by: Jim Liu <[email protected]> Signed-off-by: Stanley Chu <[email protected]> Reviewed-by: Jagan Teki <[email protected]> [Jagan: fixed the Kconfig, Makefile order] Signed-off-by: Jagan Teki <[email protected]>
2022-05-03mtd: spi-nor-ids: add Macronix mx25u51245g flash entryTien Fong Chee
Add Macronix mx25u51245g flash entry, so this can be used on SoCFPGA devices. Signed-off-by: Tien Fong Chee <[email protected]> [Jagan: updated commit head] Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2022-05-03mtd: spi-nor-ids: Add Winbond W25Q128JW IDMarek Vasut
Add ID for Winbond W25Q128JW device. This is a 128 Mbit QSPI NOR. Tested on W25Q128JWPIM part. Signed-off-by: Marek Vasut <[email protected]> Cc: Horatiu Vultur <[email protected]> Cc: Simon Goldschmidt <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Vignesh R <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2022-05-02Merge branch '2022-05-02-add-verifying-program-loader'Tom Rini
To quote the author: U-Boot provides a verified-boot feature based around FIT, but there is no standard way of implementing it for a board. At present the various required pieces must be built up separately, to produce a working implementation. In particular, there is no built-in support for selecting A/B boot or recovery mode. This series introduces VPL, a verified program loader phase for U-Boot. Its purpose is to run the verified-boot process and decide which SPL binary should be run. It is critical that this decision happens before SPL runs, since SPL sets up SDRAM and we need to be able to update the SDRAM-init code in the field. Adding VPL into the boot flow provides a standard place to implement verified boot. This series includes the phase itself, some useful Kconfig options and a sandbox_vpl build for sandbox. No verfied-boot support is provided in this series. Most of the patches in this series are fixes and improvements to docs and various Kconfig conditions for SPL.
2022-05-02Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- Misc turris_omnia/mox related Fixes and impovements (Pali) - Turris Omnia: Add support for configuring mSATA and WWAN slots via env variables (Pali) - net: mvgbe: Set PHY page 0 before phy_connect (Tony) - kirkwood: nsa310s: Use Marvell uclass mvgbe and PHY driver (Tony) - mvebu: turris_omnia: Fix SYS_RSTOUT_* macro names (Pali) - mvebu: clearfog_defconfig: enable setexpr command (Josef) - mvebu: x530: set MPP55 to gpio (Chris)
2022-05-02CI: Run VPL testsSimon Glass
Add tests for VPL into the mix. For now this just runs the help test and a few SPL ones. Signed-off-by: Simon Glass <[email protected]>
2022-05-02vpl: Test that VPL runs correctly through to U-Boot properSimon Glass
Check the TPL -> VPL -> SPL -> U-Boot path by running the 'help' command in U-Boot. Signed-off-by: Simon Glass <[email protected]>
2022-05-02vpl: Support running vpl testsSimon Glass
Add support for these to the pytest system. Signed-off-by: Simon Glass <[email protected]>
2022-05-02sandbox: Add a build for VPLSimon Glass
Add an initial VPL build for sandbox. This includes the flow: TPL (with of-platdata) -> VPL -> SPL -> U-Boot To run it: ./tpl/u-boot-tpl -D The -D is needed to get the default device tree, which includes the serial console info. Add a Makefile check for OF_HOSTFILE which is the option that enables devicetree control on sandbox. Signed-off-by: Simon Glass <[email protected]>
2022-05-02vpl: Add Kconfig options for VPLSimon Glass
Add VPL versions of commonly used Kconfig options. Signed-off-by: Simon Glass <[email protected]>
2022-05-02Introduce Verifying Program Loader (VPL)Simon Glass
Add support for VPL, a new phase of U-Boot. This runs after TPL. It is responsible for selecting which SPL binary to run, based on a verified-boot process. Signed-off-by: Simon Glass <[email protected]>
2022-05-02Makefile: Tidy up the TPL build rulesSimon Glass
These should follow the same pattern as SPL, for consistency. Fix them. Signed-off-by: Simon Glass <[email protected]>
2022-05-02Makefile: Simplify devicetree rules for SPL/TPLSimon Glass
The current logic checks several options to decide whether SPL/TPL need the U-Boot devicetree to be built. In fact we can check OF_CONTROL, which is enabled in all cases that matter. Signed-off-by: Simon Glass <[email protected]>
2022-05-02avb: Don't build in SPLSimon Glass
This feature is not used in SPL at present. Update the Makefile to avoid it being built. Signed-off-by: Simon Glass <[email protected]>
2022-05-02bloblist: Correct Kconfig dependenciesSimon Glass
This feature is not available in SPL unless common/ and lib/ are built. Update the Kconfig to avoid build errors. Signed-off-by: Simon Glass <[email protected]>
2022-05-02test: Tidy up test building with SPLSimon Glass
We can in principle add tests to any SPL build, e.g. TPL or VPL. Update the build rules to handle this. Signed-off-by: Simon Glass <[email protected]>
2022-05-02doc: Expand SPL docs to explain the phase and configSimon Glass
Add a bit more information about how to use SPL. Signed-off-by: Simon Glass <[email protected]>
2022-05-02doc: Convert SPL documentation to ReSTSimon Glass
Move this documentation over to .rst format. Signed-off-by: Simon Glass <[email protected]>
2022-05-02ARM: mvebu: x530: set MPP55 to gpioChris Packham
MPP55 is used as a reset connected to the L3 switch chip. This doesn't matter for u-boot as it doesn't use the L3 switch but it is useful to be able to toggle the switch in/out of reset for the OS. Signed-off-by: Chris Packham <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-05-02arm: mvebu: clearfog_defconfig: enable setexpr commandJosef Schlehofer
This command is useful in U-boot scripts and it is being used by OpenWrt bootscript for this board [1]. Otherwise shell scripting commands are enabled by default in cmd/Kconfig. [1] https://github.com/openwrt/openwrt/blob/852126680e21edc71c0c66561ae5a6d7479dcc67/target/linux/mvebu/image/clearfog.bootscript#L7 [2] https://source.denx.de/u-boot/u-boot/-/blob/e95afa56753cebcd20a5114b6d121f281b789006/cmd/Kconfig#L1504 Fixes: 0299c90f396c5b2971a4bac596339f4b03661c27 ("arm: mvebu: Add SolidRun ClearFog Armada 38x initial support") Signed-off-by: Josef Schlehofer <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Fix SYS_RSTOUT_* macro namesPali Rohár
This is A385 register. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-05-02arm: kirkwood: nsa310s: Use Marvell uclass mvgbe and PHY driver for DM EthernetTony Dinh
The Zyxel NSA310s board has the network chip Marvell Alaska 88E1318S. Use uclass mvgbe and the compatible driver M88E1310 driver to bring up Ethernet. - Use uclass mvgbe to bring up the network. And remove ad-hoc code. - Remove CONFIG_RESET_PHY_R. - Enable CONFIG_PHY_MARVELL to properly configure the network. - Add phy mode RGMII to kirkwood-nsa310s.dts - Miscellaneous changes: Move constants to .c file and remove header file board/zyxel/nsa310s/nsa310s.h, add support for large USB and SATA HDDs, use BIT macro, add/cleanup comments, and cosmetic changes. Note that this patch is depended on the following patch: https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ Signed-off-by: Tony Dinh <[email protected]>
2022-05-02net: marvell: mvgbe: Set PHY page 0 before phy_connectTony Dinh
For most Kirkwood boards, the PHY page is already set to page 0 (in register 22) before phy_connect is invoked. But some board like the Zyxel NSA310S (which uses the network chip MV88E1318S), the PHY page is not set to page 0. There seems to be some bad data remained in register 22 when the uclass MVGBE about to invoke phy_connect(). This patch enables the uclass MVGBE to always set the PHY page to 0 before phy_connect. For reference, please see this discussion: [RFC PATCH v2] arm: kirkwood: nsa310s: Use Marvell uclass mvgbe and PHY driver for DM Ethernet. https://lists.denx.de/pipermail/u-boot/2022-April/480946.html This patch has been tested with the following Kirkwood boards: NSA310S (88F6702, network chip MV88E1318S) Sheevaplug (88F6281, network chip MV88E1318) Pogo V4 (88F6192, network chip 88E1116R) GF Home(88F6281, network chip 88E1116R) Dreamplug (88F6281, network chip MV88E1318) Dell Kace M300 (88F6282, network chip MV88E1318) - out of tree u-boot Signed-off-by: Tony Dinh <[email protected]>
2022-05-02arm: mvebu: turris_mox: Add NVMe and SCSI to boot targetsPali Rohár
U-Boot for Turris Mox has already enabled NVMe and SCSI support. So add NVMe and SCSI to boot targets. Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Add NVMe to boot targetsPali Rohár
U-Boot for Turris Omnia has already enabled NVMe support. So add NVMe to boot targets. Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Always enable MMC, SCSI and USB boot targetsPali Rohár
U-Boot for Turris Omnia is always compiled with MMC, SCSI and USB support, so always enable macros for booting from these devices. Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Define CONFIG_ETHPRIME instead of ethact= ENVPali Rohár
CONFIG_ETHPRIME defines primary ethernet device and env variable $ethact stores currently active ethernet device. So there is no point to set ethact= in default environment. Instead set CONFIG_ETHPRIME properly. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Fix RESET button messagePali Rohár
Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Add support for USB3.0 mode in WWAN MiniPCIe slotPali Rohár
PCIe Mini CEM 2.1 spec added support for USB3.0 mode on MiniPCIe cards. USB3.0 and PCIe share same pins and only one function can be active at the same time. PCIe Mini CEM 2.1 spec says that determining function is platform specific and spec does not define any dedicated pin which could say if card is USB3.0-based or PCIe-based. Implement this platform specific decision (USB3.0 vs PCIe) for WWAN MiniPCIe slot on Turris Omnia via U-Boot env variable "omnia_wwan_slot", similarly like is implemented forced mode for MiniPCIe/mSATA slot via "omnia_msata_slot" env variable. Value "usb3" for "omnia_wwan_slot" would mean to set USB3.0 mode and value "pcie" original PCIe mode. A385 SoC on Turris Omnia has configurable fifth SerDes line (exported to MiniPCIe WWAN slot with SIM card) either to USB3.0 or PCIe functionality, so implementation of this new PCIe Mini CEM 2.1 feature is simple, by just configuring SerDes to USB 3.0 mode. Other twos MiniPCIe slots on Turris Omnia do not have this new functionality as their SerDes lines cannot be switched to USB3.0 functionality. Note that A385 SoC does not have too many USB3.0 blocks, so activating USB3.0 in MiniPCIe cause that one external USB3.0 USB-A port would loose USB3.0 functionality and would be downgraded just to USB2.0. By default this MiniPCIe WWAN slot is in PCIe mode, like before. To set this MiniPCIe WWAN slot to USB3.0 mode, call U-Boot commands: => setenv omnia_wwan_slot usb3 => saveenv => reset Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Signal error when sata/pcie DT modePali Rohár
Show error message when DT file does not contain sata or pcie node which should be explicitly disabled. This can happen when U-Boot code for finding those nodes is incomplete or when those DT nodes are in different unexpected location. In any case it is needed to know if DT not was not explicitly disabled as it could mean that combo slots where setup incorrectly. Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Extract code for disabling sata/pciePali Rohár
Move code for disabling sata and pcie DT nodes to own functions, so this code can be called from other places in follow up patches. Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Allow to configure mSATA slot via env variablePali Rohár
Some PCIe-based MiniPCIe cards are broken and they do not ground PIN 43 which is required by PCIe mini CEM specs. Such broken cards are incorrectly detected as mSATA cards because SATA specs requires that PIN 43 on mSATA cards has to be disconnected. PIN 43 on Turris Omnia is used only for MiniPCIe/mSATA card detection by software in U-Boot SPL. Allow to override that U-Boot SPL detection by a new "omnia_msata_slot" env variable (to value "pcie" or "sata") so broken MiniPCIe cards can be used in combo mSATA/MiniPCIe slot too. As configuration of PCIe vs SATA functionality is done in U-Boot SPL, it is required to change env variable in permanent storage and reset the board to take effect. To force PCIe mode for broken MiniPCIe cards, call U-Boot commands: => setenv omnia_msata_slot pcie => saveenv => reset Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Define only one serdes map variablePali Rohár
By default use primary serdes map with PCIe function in combined miniPCIe/mSATA slot. When SATA is detected change serdes map variable at runtime. Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Enable ENV support in SPLPali Rohár
Allow to read ENV variables also in SPL on Turris Omnia. Signed-off-by: Pali Rohár <[email protected]>
2022-05-02arm: mvebu: turris_omnia: Provide env_sf_get_env_addr() functionPali Rohár
BootROM maps SPI Flash to fixed address 0xD4000000 and this mapping is active also when BootROM is executing binary kwbimage headers, which includes also U-Boot SPL. Therefore no initialization code is required to access SPI Flags from U-Boot SPL. In proper U-Boot it is remapped to other location. So in mvebu implementation of env_sf_get_env_addr() function returns 0xD4000000 when running in SPL and NULL when in proper U-Boot. This change would allow to use U-Boot ENV in U-Boot SPL. Normally it is not possible to read ENV because it is too big and U-Boot SPL does not have such big malloc() pool to real all ENV variables. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]>
2022-05-02env: sf: Allow to use env_sf_init_addr() at any stagePali Rohár
In some cases it makes sense to use env_sf_init_addr() also in SPL mode. Allow it for boards by providing custom implementation of weak function env_sf_get_env_addr(). When this function returns NULL it signals that address is invalid, like config option CONFIG_ENV_ADDR. There is no change in default behavior or in config options. Signed-off-by: Pali Rohár <[email protected]>
2022-04-29Merge tag 'efi-2022-07-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-07-rc2 UEFI: * fix UEFI booting after integration of UEFI sub-system with driver model * avoid random return values from devpath_is_partition() * minor code clean ups