summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-02cmd: missing break in test_write_limit()Heinrich Schuchardt
In test_write_limit() an unintended fall-through occurs. Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-05-02usb: ehci-mx6: move phy setup before register accessTim Harvey
For the CONFIG_PHY case, move the PHY setup before the register access. This avoids a hang when updating the imx8mm.dtsi which moves the USB OTG power-domains to the PHY. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Tested-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Convert CFG_EXTRA_ENV_SETTINGS to an env fileFabio Estevam
Currently, it is recommended to move from CFG_EXTRA_ENV_SETTINGS to an env file, so do the conversion. Suggested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-05-02smegw01: Fix fallback to altbootcmdEduard Strehlau
The bootcmd/altbootcmd mechanism is not invoked for bootmenus. Manually compare bootcount and bootlimit to implement fallback on all codepaths. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Disable additional boot menu optionsEduard Strehlau
Defaults have changed, we do not want the bootmenu to contain EFI options. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Read the second MAC addressFabio Estevam
Currently, only the first MAC address is read from the fuses. The second MAC address is not read and Linux assigns a random one. To prevent this behavior, read the second MAC address from the fuses and store it into the eth1addr environment variable so that it can be passed to Linux. Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Add lockdown U-Boot env supportEduard Strehlau
Add lockdown U-Boot env support so that only certain U-Boot environment variables are allowed to be modified. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Switch to fitImageEduard Strehlau
Instead of loading the zImage kernel and the devicetree separately, switch to the fitImage format, which is more convenient when working with secure boot, for example. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Change default boot device to eMMCEduard Strehlau
Let eMMC be the default boot medium. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Enable EMMC boot from multiple partitionsEduard Strehlau
GPT Partition labels are used for determining the right root filesystem to boot from. The U-Boot environment is configured to reside in the eMMC hardware boot partition we are currently booted from. This should enable a dual copy approach for upgrading the bootloader. One can overwrite the inactive hardware partition with new bootloader and environment and afterwards switch the eMMC boot partition for an atomic bootloader switch. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Only commit to new partition if update was successfulEduard Strehlau
When performing rootfs update via swupdate, it is convenient to check the 'ustate' variable to decide whether the update succeeded or not. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Run altbootcmd in the case of failureEduard Strehlau
Run the altbootcmd script if any step of bootcmd fails. This ensures that always a valid image can be run. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Add altbootcmdEduard Strehlau
Add an altbootcmd script, which is convenient way to integrate with swupdate and perform a roll back of the previous working version in the case of update failure. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Select bootcount supportEduard Strehlau
Add automatic boot counter that increases after every reset. After a power-on reset, it will be initialized with 1, and each reboot will increment the value by 1. By default it is disabled if bootlimit isn't set. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Select CONFIG_CMD_SQUASHFSEduard Strehlau
Select CONFIG_CMD_SQUASHFS so that the SquashFS U-Boot commands are available. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02smegw01: Enable setting additional boot paramsEduard Strehlau
Introduce EXTRA_BOOTPARAMS to allow passing additional parameters to kernel command line. This is useful for debugging purposes. Signed-off-by: Eduard Strehlau <eduard@lionizers.com> Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02arm: imx8m: remove unused and obsolete board_fix_fdt() in SOC contextHugo Villeneuve
It doesn't seem appropriate for arch/SOC to use a board-level functionality (CONFIG_OF_BOARD_FIXUP), because this prevents boards that need to do FDT fixup from using that feature. Also, this code is completely dead and useless (from comments by Rasmus Villemoes on the mailing list): - No in-tree imx8m-based board seems to set CONFIG_OF_BOARD_FIXUP - The nodes which that function wants to disable don't even exist in the U-Boot copy of imx8mp.dtsi. This code was introduced in commit 35bb60787b88. It seems to be some random import of code from downstream NXP U-Boot, with a commit message that makes no sense in upstream context. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> Acked-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-05-02imx: fix get_boot_device() for imx8Tim Harvey
commit 787f04bb6a0a ("imx: add USB2_BOOT type") broke get_boot_device() for IMX8 which affects booting from SDP due to boot_instance being non-zero. Fix this by only using boot_instance for imx8ulp and imx9. Fixes: 787f04bb6a0a ("imx: add USB2_BOOT type") Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-05-02imx6: clock: print real pixel clock rateDario Binacchi
Add debug messages to print the real pixel clock rate, which may not be the requested one. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
2023-05-02imx6: clock: add support to get LCD pixel clock rateDario Binacchi
Add the get_lcd_clk() function to get the LCD pixel clock rate. The patch has been tested on imx6ul platform. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
2023-05-02imx6: clock: improve calculations to get the PLL video rateDario Binacchi
During some tests to check the pixel clock rate in the transition from U-Boot to the Linux kernel, I noticed that with the same configuration of the registers the debug messages reported different rates. The same Linux kernel calculations are now used to get the PLL video rate. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2023-05-02imx: support i.MX8QM DMSSE20 a1 boardOliver Graute
Add i.MX8QM DMSSE20 a1 board support U-Boot 2023.04-00030-g7be2f547b2 (Apr 21 2023 - 11:11:43 +0200) Model: Advantech iMX8QM DMSSE20 Board: DMS-SE20A1 8GB Build: SCFW 549b1e18, SECO-FW c9de51c0, ATF 5782363 Boot: USB DRAM: 8 GiB Core: 100 devices, 19 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 Loading Environment from MMC... OK In: serial@5a060000 Out: serial@5a060000 Err: serial@5a060000 Net: eth0: ethernet@5b040000 Warning: ethernet@5b050000 (eth1) using random MAC address - 32:05:0c:f9:5e:10 , eth1: ethernet@5b050000 Hit any key to stop autoboot: 0 Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com>
2023-05-02imx8mn: buffer overflow in low_drive_gpu_freq()Heinrich Schuchardt
Avoid a buffer overflow if assigned-clock-rates has less than two elements. Fixes: 98bcdf16356c ("imx8mn: Add low drive mode support for DDR4/LPDDR4 EVK") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-05-02pico-imx6ul: Convert to CONFIG_DM_SERIALFabio Estevam
The conversion to CONFIG_DM_SERIAL is mandatory, so select this option. Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02board: mntre: imx8mq: Add MNT Reform 2 board supportPatrick Wildt
The MNT Reform 2 is a modular DIY laptop. In its initial version it is based on the BoundaryDevices i.MX8MQ SoM. Some parts have been lifted from BoundaryDevices official U-Boot downstream project. Signed-off-by: Patrick Wildt <patrick@blueri.se> Tested-by: Vagrant Cascadian <vagrant@debian.org> Tested-by: Vagrant Cascadian <vagrant@debian.org> Signed-off-by: Stefano Babic <sbabic@denx.de>
2023-05-01pci: mpc85xx: Do not access PCI BARs registers of BDF address 00:00.0Pali Rohár
At BDF address 00:00.0 is fictional device which PCI configuration header is for configuring mpc85xx PCI controller itself. PCI config space of this device has ATMU inbound registers on position of PCI BARs. Trying to do PCI auto configuration of this device cause rewriting ATMU inbound registers. To avoid it, do not allow overwriting registers at BARs positions. And because this device does not have any PCI memory, return zeros when trying to read PCI BARs config space registers. It signals to auto configuration tool to not allocate any PCI memory for this device. This information is taken from MPC8544E Reference Manual, sections 17.3.1.3, 17.3.1.1.1, 17.3.2 and 17.3.2.11. Available at NXP website: https://www.nxp.com/docs/en/reference-manual/MPC8544ERM.pdf Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Heiko Schocher <hs@denx.de> Tested-by: Heiko Schocher <hs@denx.de>
2023-05-01pci: mpc85xx: Do not try to access extended PCIe registersPali Rohár
Driver pci_mpc85xx.c is PCI controller driver for old PCI Local Bus, which does not support access to extended PCIe registers (above 0xff), as opposite of the PCIe driver pcie_fsl.c for the same platform. So do not try to access extended PCIe registers as it cannot work. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Heiko Schocher <hs@denx.de> Tested-by: Heiko Schocher <hs@denx.de>
2023-05-01pci: mpc85xx: Allow 8/16-bit access to PCI config spacePali Rohár
This Freescale mpc85xx PCI controller should support 8-bit and 16-bit read and write access to PCI config space as described in more Freescale reference manuals. This change fixes issue that 8-bit and 16-bit write to PCI config space caused to clear adjacent bits of 32-bit PCI register. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Heiko Schocher <hs@denx.de> Tested-by: Heiko Schocher <hs@denx.de>
2023-05-01pci: mpc85xx: Add missing sync() after writing to PCI config spacePali Rohár
On PowerPC we should use barrier after store operation to HW register. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Heiko Schocher <hs@denx.de> Tested-by: Heiko Schocher <hs@denx.de>
2023-05-01mpc83xx: Don't allow W and G bits in IBATsChristophe Leroy
The "Programming Environments Manual for 32-Bit Implementations of the PowerPC™ Architecture" says "W and G bits are not defined for IBAT registers. Attempting to write to these bits causes boundedly-undefined results" The "e300 Power Architecture™ Core Family Reference Manual" says the same: "Neither the W or G bits of the IBAT registers should be set. Attempting to write to these bits causes boundedly-undefined results." Remove the possibility to set those bytes. Fixes: 30915ab95d9 ("mpc83xx: Migrate BATS config to Kconfig") Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: Mario Six <mario.six@gdsys.cc>
2023-05-01Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-spiTom Rini
- cadence-quadspi fixes (Apurva Nandan, Dhruva Gole) - CHIP_ERASE optimization (Marek Vasut) - fixups for s25fs512s (Takahiro Kuwano)
2023-05-01Prepare v2023.07-rc1v2023.07-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-05-01configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2023-04-30Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
Please pull the second part of the sunxi pull request for this cycle. Another bunch of patches that replace old-school U-Boot hacks with proper DM based code, this time for the raw NAND flash driver, and the USB PHY VBUS detection code. Plus two smaller patches that were sitting in my inbox for a while. Gitlab CI passed. In lack of some supported board with NAND flash I couldn't really test this part, but apparently this was tested by the reviewer. I briefly ran the branch on some boards with USB-OTG, and this still worked.
2023-04-29Merge branch 'for-2023.07' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mpc8xx This pull request adds support for the last CPU board from CS GROUP France (previously CSSI). That CPU board called CMPCPRO has a mpc8321E CPU (Family PQII PRO hence its name) and can be plugged in place of the CMPC885 board. In order to support that new board, the following changes are included in this series: - Make the mpc8xx watchdog driver more generic for reusing it with mpc83xx - Fix various small problems on mpc83xx platform - Add a GPIO Driver for QE GPIOs - Add support for mpc832x into mpc83xx SPI driver - Refactor existing board code that will be shared with new board - Add the new board
2023-04-28Merge tag 'dm-pull-28apr23' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dm sandbox and fdt bug fixes / tweaks various other minor fixes
2023-04-28fdt: Indicate that people should use the ofnode APISimon Glass
Add a note to the comment at the top of this file. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-04-28fdt_support: fix comments syntax errorHugo Villeneuve
Fix comments syntax error in fdt_node_offset_by_compat_reg() description: compatiable -> compatible Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-28core: fdtaddr: use map_sysmem() as cast for the returnJohan Jonker
For the devfdt_get_addr_index_ptr() and devfdt_get_addr_size_index_ptr() function use map_sysmem() function as cast for the return for use in sandbox. Also fix sandbox test. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Drop second hunk: Signed-off-by: Simon Glass <sjg@chromium.org>
2023-04-28tools: Fall back to importlib_resources on Python 3.6Jan Kiszka
importlib.resources became part of 3.7 only. Allow using distros with 3.6 and the importlib_resources backport. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-28test: fdt: Fix copyright messageMarek Vasut
Drop the map_to_sysmem() copy paste error. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-28patman: fix class TestFunctionalHeinrich Schuchardt
Variable orig_dir cannot be used in the finally block if it has not be assigned outside of the try block. tools/patman/func_test.py:523:21: E0601: Using variable 'orig_dir' before assignment (used-before-assignment) tools/patman/func_test.py:691:21: E0601: Using variable 'orig_dir' before assignment (used-before-assignment) Fixes: fd70986a62af ("patman: Add a test that uses gitpython") Fixes: be051c0c7741 ("patman: Detect missing upstream in CountCommitsToBranch") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-28binman: Use expanduser instead of HOMESimon Glass
There may not be a HOME environment variable, so use the os.expanduser() function instead. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-04-28dm: core: introduce uclass_get_device_by_of_path()Rasmus Villemoes
There's quite a few instances of board-specific code doing off = fdt_path_offset(gd->fdt_blob, ...); ... ret = uclass_get_device_by_of_offset(..., off, &dev); looking for an eeprom or a pmic via some alias. Such code can be simplified a little if we have a helper for directly getting a device via device tree path (including being given as an alias). Implement it in terms of ofnode rather than raw offsets so that this will work whether live tree is enabled or not. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2023-04-28uclass: add uclass_find_device_by_phandle_id() helperRasmus Villemoes
The functions uclass_find_device_by_phandle() and uclass_get_device_by_phandle_id() both loop over a given uclass looking for a device with a given phandle. Factor that out to a common helper. For now, there are no (known potential) users of the new helper outside uclass.c, so make it static. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org> Fix warning on sandbox_spl; fix code style: Signed-off-by: Simon Glass <sjg@chromium.org>
2023-04-28sandbox: disable tracing before unmapping RAMPavel Skripkin
Currently doing 'reset' command in sandbox with tracing enabled causes SIGSEV ``` Hit any key to stop autoboot: 0 => => => reset resetting ... Segmentation fault (core dumped) ``` Tracing callback uses RAM buffer for storing tracing reports, but state_uninit() function unmaps whole RAM, which causes SIGSEV on umapped memory inside tracing subsystem. Fix it by disabling tracing before unmapping memory Signed-off-by: Pavel Skripkin <paskripkin@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Add missing check for CONFIG_TRACE: Signed-off-by: Simon Glass <sjg@chromium.org>
2023-04-28sandbox: correct posix_types.h defineHeinrich Schuchardt
arch/arm/include/asm/posix_types.h and arch/sandbox/include/asm/posix_types.h should use different defines. Add SPDX header. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-28bootflow: Rework do_bootflow_menu() slightlyTom Rini
When building this with clang, we get a warning such as: cmd/bootflow.c:412:27: warning: variable 'bflow' is uninitialized when used here [-Wuninitialized] printf("Selected: %s\n", bflow->os_name ? bflow->os_name : bflow->name); ^~~~~ And a suggestion to just initialize bflow to NULL. This would however would be ensuring a bad dereference. Instead, looking at the function we rework things so that when CONFIG_EXPO is not enabled (and so, no UI) we error early and would never reach this point in the code. Simplify the rest slightly as well while at this. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-28dm: core: Make aliases_lookup staticBin Meng
aliases_lookup is only referenced in of_access.c Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-28drivers: tee: sandbox: Fix SCP03 control emulatorJorge Ramirez-Ortiz
Fix and document the Secure Channel Protocol03 emulator. Fixes: 5a8783c80c39 ("drivers: tee: sandbox: SCP03 control emulator") Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>