summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-09imx9: Improve boot mode autodetectionBenjamin Szőke
Improve "mmcautodetect=yes" boot mode autodetection to able to use it if CONFIG_ENV_IS_NOWHERE=y is used for i.MX9 SoCs and i.MX93 EVK board. If both CONFIG_ENV_IS_IN_MMC=y and CONFIG_ENV_IS_NOWHERE=y are in the defconfig, CONFIG_ENV_IS_IN_MMC=y will be overiden default CONFIG_ENV_IS_NOWHERE settings. Goal is in this patch to able to use the boot mode autodetection if defconfig use only CONFIG_ENV_IS_NOWHERE=y option (without CONFIG_ENV_IS_IN_MMC) for any i.MX9 SoC. Signed-off-by: Benjamin Szőke <[email protected]>
2024-11-09imx: hab: Make imx_hab_is_enabled dependent on FIELD_RETURNPaul Geurts
The decision on whether HAB is enabled is solely based on the SEC_CONFIG fuse. The HAB FIELD_RETURN feature is able to permanently disable HAB on a CPU, after which it is able to boot unsigned firmware. U-Boot however does not take into account the FIELD_RETURN mode, and refuses to boot unsigned software when the feature is enabled. Also take the FIELD_RETURN fuse into account when deciding whether HAB is enabled. When The FIELD_RETURN fuse is blown, HAB is not enabled. Tested on i.MX8M Mini, i.MX8M Plus, i.MX8M Nano and i.MX6ULL Signed-off-by: Paul Geurts <[email protected]>
2024-11-09imx: hab: rename imx_sec_config_fuse_t to imx_fusePaul Geurts
The imx_sec_config_fuse_t structure is not specific to the sec_config fuse, but can be used for all fuse words. Rename the structure to a more generic name to be reused for other fuses. Signed-off-by: Paul Geurts <[email protected]>
2024-11-09sandbox: virtio: Disable the sandbox virtio blk deviceSimon Glass
This is not implemented so cannot actually be used to read blocks. Disable it until it is implemented, to avoid causing a hang with EFI, which probes every available BLK device. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Issue: https://source.denx.de/u-boot/u-boot/-/issues/37
2024-11-09test: efi: boot: Add a test for the efi bootmethSimon Glass
Add a simple test of booting with the EFI bootmeth, which runs the app and checks that it can call 'exit boot-services' (to check that all the device-removal code doesn't break anything) and then exit back to U-Boot. This uses a disk image containing the testapp, ready for execution by sandbox when needed. Signed-off-by: Simon Glass <[email protected]>
2024-11-09efi_loader: Drop sandbox PXE architectureSimon Glass
Rather than returning 0, just return an error, since sandbox is not used with PXE at present. Signed-off-by: Simon Glass <[email protected]>
2024-11-09test: efi: boot: Set up an image suitable for EFI testingSimon Glass
Create a new disk for use with tests, which contains the new 'testapp' EFI app specifically intended for testing the EFI loader. Attach it to the USB device, since most testing is currently done with mmc. Initially this image will be used to test the EFI bootmeth. Fix a stale comment in prep_mmc_bootdev() while we are here. For now this uses sudo and a compressed fallback file, like all the other bootstd tests. Once this series is in, the patch which moves this to use user-space tools will be cleaned up and re-submitted. Signed-off-by: Simon Glass <[email protected]>
2024-11-09sandbox: Report host default-filename in native modeSimon Glass
When the --native flag is given, pretend to be running the host architecture rather than sandbox. Allow the same control for PXE too. Signed-off-by: Simon Glass <[email protected]>
2024-11-09efi_loader: Allow reporting the host defaultsSimon Glass
Add an 'efidebug filename' command to report the default filename and PXE architecture. Signed-off-by: Simon Glass <[email protected]>
2024-11-09efi_loader: Move get_efi_pxe_arch() to efi_helperSimon Glass
Move this function from the EFI bootmeth to the common efi_helper file. No functional change is intended. Signed-off-by: Simon Glass <[email protected]>
2024-11-09efi: Move default filename to a functionSimon Glass
Use a function to obtain the device EFI filename, so that we can control how sandbox behaves. Signed-off-by: Simon Glass <[email protected]>
2024-11-09sandbox: Add a -N flag to control on-host behaviourSimon Glass
Sandbox is its own architecture, but sometimes we want to mimic the host architecture, e.g. when running an EFI app not built by U-Boot. Add a -N/--native flag which tells sandbox to reflect the architecture of the host. Signed-off-by: Simon Glass <[email protected]>
2024-11-09efi_loader: Add a test appSimon Glass
Add a simple app to use for testing. This is intended to do whatever it needs to for testing purposes. For now it just prints a message and exits boot services. There was a considerable amount of discussion about whether it is OK to call exit-boot-services and then return to U-Boot. This is not normally done in a real application, since exit-boot-services is used to completely disconnect from U-Boot. For now, this part is skipped. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-11-09doc: qemu-riscv: describe CONFIG_DEBUG_SBI_CONSOLEHeinrich Schuchardt
In main U-Boot the SBI DBCN extension can be used to supply a debug console. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-11-09doc: conf.py: correct title and author of generated pdfHeinrich Schuchardt
Adjust the PDF output options for rst2pdf: * Set start document to 'index'. * Set title to 'Das U-Boot'. * Set author to 'The U-Boot development community'. Correct documentation link. Remove obsolete FIXME. Link: https://rst2pdf.org/static/manual.html Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-11-09efi_loader: Change efi_dp_from_mem() to use sizeMoritz Fischer
All call sites are using size rather than end addresses, so instead - as previously done - calculating an end address everywhere, just modify the function to use size and internally calculate the end address Cc: Heinrich Schuchardt <[email protected]> Cc: Ilias Apalodimas <[email protected]> Cc: Patrick Wildt <[email protected]> Signed-off-by: Moritz Fischer <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-11-09tools: mkeficapsule: use %zd to print ssize_t.Heinrich Schuchardt
For printing a ssize_t variable we must use %zd and not %ld to avoid a -Wformat error on 32-bit systems. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-11-09doc: remove vile languagemason1920
2024-11-09lmb: Drop extra 16KB of stack spaceSimon Glass
There is already a defined stack-size which is used to reserve space for the stack. It is confusing to add more in the lmb module, since then the memory map (with meminfo command) seems to have a hole in it. Drop this unnecessary feature. Signed-off-by: Simon Glass <[email protected]>
2024-11-08configs: khadas-vim3{l}: fix userdata sizeGuillaume La Roque
After increase boot and recovery partition userdata was not resize. so on VIM3 16GB and VIM3L `fastboot oem format` or `gpt write mmc 2 $partitions` fail because end of last partition is outside of eMMC size. Remove 64MB on userdata partitions to fix it. Fixes: ce138d9742bf ("configs: khadas-vim3{l}: Increase boot/recovery partition size") Signed-off-by: Guillaume La Roque <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2024-11-08arm64: dts: rockchip: add product-data eeproms to QNAP TS433Heiko Stuebner
The device contains two i2c-connected eeproms holding some product- specific values. One sitting on the mainboard and one on the statically connected backplane. While the eeprom chips themself have a size of 512 byte, the eeprom data only uses 256 byte each, probably to stay compatible with other models. Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: da6f4130234448122fe3e66c8116f7d9eea8a5c7 ] (cherry picked from commit 0b3109708caf5002ba188ae28eae9ce46b2c39b4) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: actually enable pmu-io-domains on qnap-ts433Heiko Stuebner
Contrary to the vendor-kernel the pmu-io-domains are not enabled by default. This resulted in the value not being set according to the regulator, which in turn made the gmac0 interface that is connected to the vccio4 supply inoperable. Fixes: 64b7f16fb394 ("arm64: dts: rockchip: add 2 pmu_io_domain supplies for Qnap-TS433") Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 40cc4257169712f0ae3835820a4c5afbdd1a16ff ] (cherry picked from commit f509fcb1fb82117e551b489592ac5714a6c5cd8d) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: Simplify network PHY connection on qnap-ts433Uwe Kleine-König
While it requires to have the right phy driver loaded (i.e. motorcomm) to make the phy asserting the right delays, this is generally the preferred way to define the MAC <-> PHY connection. Signed-off-by: Uwe Kleine-König <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Heiko Stuebner <[email protected]> [ upstream commit: e8d45544f806f3b55c30345de84262cbb9504902 ] (cherry picked from commit e0bbe061fd537bd7b113c53eb046bbcbf0e6597d) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: add 2 pmu_io_domain supplies for Qnap-TS433Heiko Stuebner
Add the two supplies for the pmu-io-domains that are defined in the vendor devicetree for the TS433. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 64b7f16fb3947e5d08d9e9b860ce966250e45d52 ] (cherry picked from commit 9b4d4c02b5762196063ab03c5439f96cbbaf2485) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: enable gpu on Qnap-TS433Heiko Stuebner
The TS433 doesn't provide display output, but the gpu nevertheless can be used for compute tasks for example. So there is no reason not to enable it. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 9130eb62586f4cef0557d0378fb7e78d7397ab2d ] (cherry picked from commit e324a9e8ea083ebdca207b5ca2ed86d2b5f862a0) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: add missing pmic information on Qnap-TS433Heiko Stuebner
Fill in the missing pieces for RK809 pmic used on the TS433. The regulator setup comes from the vendor-devicetree, so without proper schematics its accuracy is somewhat unclear, but it looks really similar to all the other rk3568 boards, so follows the reference design it seems. The one caveat is related to vcc3v3_sd. This regulator needs to stay on. When turned off because of no users, access to both PCIe controllers will stall. Maybe this rail does supply the 100MHz refclk generation or so. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: ee078c7daa98353496410b715a5acbb41d7d3a90 ] (cherry picked from commit 48951cb085998a5c8e3650351a794b136dac648f) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: define cpu-supply on the Qnap-TS433Heiko Stuebner
The TS433 seems to use a silergy,syr827 regulator for the cpu supply. At least that is the compatible used in the vendor devicetree, though it could very well also be another fan53555 clone. Define the needed regulator node and hook up the cpu-supply to the cpu cores. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 99b36ba910d896bddbb9a190ca686c6d9cd0325f ] (cherry picked from commit 2f0afd1a3cbf6f3192dc7a5c496affab718671b3) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: add gpio-keys to Qnap-TS433Heiko Stuebner
The TS433 has 3 buttons, power and copy in the front as well as a reset pinhole button on the back. The power-button is connected to the embedded controller while the other two buttons are just gpio connected. Add the gpio-keys definition for the two buttons we can handle right now. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 9b682d31b24f1f70b5b4d0618095d46e0722b9d8 ] (cherry picked from commit f0b858c751382ee9faf18f9b19b0817c6b50ac1c) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: enable the tsadc on the Qnap-TS433Heiko Stuebner
Enable the tsadc node to allow for temperature measurements of the soc. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 2dfdddd9d20306fd0d04b88fcbbf36d76fb67f11 ] (cherry picked from commit d33949501abd1145ea572b605844f0ef4247478d) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: add hdd leds to Qnap-TS433Heiko Stuebner
Add the 4 gpio-controlled LEDs to the Qnap-TS433. They are meant for individual disk activitivy, but I haven't found a way for how to connect them to their individual sata slot yet. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: ea91aabf18bcad6f5eceae6848ea6570ea61f126 ] (cherry picked from commit 5a11b1bb40ac7b39e04077c045c3e3409fa352e2) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: add board-aliases for Qnap-TS433Heiko Stuebner
Add the aliases for the internal network interface as well as the emmc on the board and make sure the dedicated RTC is always the first one. The TS433 actually has two rtc devices. One coming from the rk809 pmic without added functionality and also a dedicated RTC from Mycrocrystal that is battery backed to keep the time. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: dadd4256e12360d3ff1f6481b2e4697f9d890caf ] (cherry picked from commit cb53815764403f7f17967a32eec2aeb6625b396f) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: enable sata1+2 on Qnap-TS433Heiko Stuebner
The TS433 has 4 bays. The last two are accessed via a pci-connected sata controller, while the first two are accessed via the rk3568's sata controllers. Enable these two now. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 673c1353b3d476b9c5df6b84a777ed171e5594f5 ] (cherry picked from commit dfa45bbda057851d0c2167b4c311c0301637cc19) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: add stdout path on Qnap-TS433Heiko Stuebner
As most Rockchip boards do, the TS433 also uses uart2 for its serial output. Set the correct chosen entry for it. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: e1cb5d8a92e41171bf4d5ddc459bd96372500901 ] (cherry picked from commit 1e1af2af2192490a3d174624ac1bb976aa6afffa) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: enable usb ports on Qnap-TS433Heiko Stuebner
Enable usb controllers and phys and add regulator infrastructure for the usb ports on the TS433. Of course there are no schematics available for the device, so the regulator information comes from the vendor-devicetree with unknown accuracy. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: d992203f57c5caad0dbd4a9c669d79b315873c81 ] (cherry picked from commit bb745ef13efb9f6589f9eda8f66664bf263a13f3) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: enable uart0 on Qnap-TS433Heiko Stuebner
Uart0 is connected to an MCU on the board that handles system control like the fan-speed. So far no driver for it is available though. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 07ef8be476bebd77cba3ca4804be03cc0dba414f ] (cherry picked from commit aaa5b1c4bd8f0e4327078d513f0eef05cb829bcf) Reviewed-by: Kever Yang <[email protected]>
2024-11-08arm64: dts: rockchip: enable second PCIe controller on the Qnap-TS433Heiko Stuebner
The TS433 uses both pcie controllers for sata and the 2nd network interface. Set the needed data-lanes in the pcie3 phy and enable the second pcie controller, as well as remove the bifurcation comment. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: 0f5f87a1d602a33028522784eb005647fa1b5c11 ] (cherry picked from commit 7d8f260e65cc84076ec9456954de0f136948a2c8)
2024-11-08arm64: dts: rockchip: add PCIe supply regulator to Qnap-TS433Heiko Stuebner
Add the vcc3v3-supply regulator and its link to the pcie controllers. Tested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ upstream commit: e0ec6d48226fb3d4df18895b56f0b7a94c0fe474 ] (cherry picked from commit 59939b4343db08fa08098238160007e6ded72be9) Reviewed-by: Kever Yang <[email protected]>
2024-11-06Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/23239 - configs: visionfive2 defconfig: re-enable SPL_SYS_MMCSD_RAW_MODE - driver: sifive ccache: enable TRUNKCLOCKGATE & REGIONCLOCKGATE - board: support 64bit Microblaze V
2024-11-06riscv: Introduce configuration for 64bit version Microblaze VMichal Simek
The commit 7576ab2facae ("riscv: Add support for AMD/Xilinx MicroBlaze V") added support for 32bit version. 64bit version is also available that's why wire it up too. DT is providing description for generic QEMU target. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-11-06xilinx: mbv: Align smode_defconfig with upstream QEMUMichal Simek
Align smode defconfig with upstream QEMU. It could be the part of commit 9d688e6da5c9 ("riscv: mbv: Align DT with QEMU"). Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-11-06xilinx: mbv: Place DTB by default to DDR locationMichal Simek
DTB should be also placed to DDR. It should be the part of commit 9d688e6da5c9 ("riscv: mbv: Align DT with QEMU"). Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-11-06configs: visionfive2: re-enable SPL_SYS_MMCSD_RAW_MODEAndreas Schwab
To restore MMC boot, enable SPL_SYS_MMCSD_RAW_MODE and recover SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION and SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION. Fixes: 2a00d73d081 ("spl: mmc: Try to clean up raw-mode options") Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-11-06driver: sifive ccache: enable TRUNKCLOCKGATE and REGIONCLOCKGATENick Hu
Enable the clock gating bit of ccache when the platform has the ccache0. Signed-off-by: Nick Hu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-11-05arm: dts: e850-96: Remove TRNG node from appended dtsSam Protsenko
Commit 136b7b6d2e98 ("Subtree merge tag 'v6.11-dts' of dts repo [1] into dts/upstream") updates the upstream dts for E850-96 board, bringing upstream TRNG node. There is no need to keep TRNG node in appended dts anymore, so remove it. Tested on E850-96 board by running 'rng' command in U-Boot shell. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-11-05pinctrl: exynos: fix type of count integerHenrik Grimler
unsigned int count is used to capture return of dev_read_string_count. When an error occurs dev_read_string_count returns -ve, which can hence not be handled correctly. Use int instead of unsigned int so that errors are detected. Fixes: 16ca80adc551 ("pinctrl: Add pinctrl driver support for Exynos7420 SoC") Signed-off-by: Henrik Grimler <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-11-04bios_emulator: fix first argument of pci_{read,write}_config_* function callsYuri Zaporozhets
When compiling for riscv64, a bunch of warning is produced for the file drivers/bios_emulator/besys.c. This patch fixes a portion of those warnings, caused by incorrect first argument to pci_{read,write}_config_* functions. Signed-off-by: Yuri Zaporozhets <[email protected]>
2024-11-04drivers/video/vesa: use MTRRs only on x86Yuri Zaporozhets
MTRR functionality is available only on x86, so this driver cannot be compiled on other architectures. Fix this with preprocessor directives. Signed-off-by: Yuri Zaporozhets <[email protected]>
2024-11-04bios_emulator: define the comment symbol for RISC-V assembler tooYuri Zaporozhets
The bios_emulator driver cannot be compiled for RISC-V because the x86emu.h header file doesn't define the comment symbol ("#") for the assembler. With this patch, use the same symbol as for e.g. x86. Signed-off-by: Yuri Zaporozhets <[email protected]>
2024-11-04bootmenu: add reprint checkWeijie Gao
Record the last active menu item and check if it equals to the current selected item before reprint. Signed-off-by: Weijie Gao <[email protected]> Reviewed-by: Daniel Golle <[email protected]> Tested-by: Daniel Golle <[email protected]>
2024-11-04menu: add support to check if menu needs to be reprintedWeijie Gao
This patch adds a new callback named need_reprint for menu. The need_reprint will be called before printing the menu. If the callback exists and returns FALSE, menu printing will be canceled. This is very useful if the menu was not changed. It can save time for serial-based menu to handle more input data. Signed-off-by: Weijie Gao <[email protected]> Reviewed-by: Daniel Golle <[email protected]> Tested-by: Daniel Golle <[email protected]>