summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-11-10tools: kwbimage: Set BOOT_FROM by default to SPIPali Rohár1-17/+15
kwbimage must have valid blockid member instead of zero value. Thus if config file does not contain BOOT_FROM command, use by default the value for SPI booting (which is probably the most common). Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-10tools: kwbimage: Explicitly set version also for kwbimage v0Pali Rohár2-1/+3
For documentation purposes update struct main_hdr_v0 to include information where version of the image must be stored. For kwbimage v0 it obviously must be 0. By default all image header memory is initialized to zero, therefore this change has no functional effect. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-10tools: kwbimage: Add support for new commands UART_PORT and UART_MPPPali Rohár1-1/+19
These two commands allow to specify custom setting of UART port used for printing BootROM messages. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-10pci: pci_mvebu: Use global MBUS_PCI_MEM_SIZE macroPali Rohár1-6/+5
Header file mach/cpu.h already defines MBUS_PCI_MEM_SIZE macro which defines size of MBUS_PCI_MEM_BASE window. So use global MBUS_PCI_MEM_SIZE macro instead of locally defined PCIE_MEM_SIZE macro. Both macros have same definition. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-10tools: kwboot: Always print kwboot versionPali Rohár1-1/+2
It is useful to see kwboot version in the boot log output for debugging purposes. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-10tools: kwboot: Fix sending Kirkwood v0 imagesPali Rohár1-6/+19
Properly calculate and align image header size to xmodem block size. Kirkwood v0 images do not have stored total size of header in header structure itself like it is for v1 images. So kwbheader_size() calculates size by traversing image structure itself. Aligning is done in kwboot by putting zero padding bytes between the header and data part. Signed-off-by: Pali Rohár <pali@kernel.org> Tested-by: Tony Dinh <mibodhi@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-09Merge https://source.denx.de/u-boot/custodians/u-boot-samsungTom Rini5-13/+20
[trini: Migrate CONFIG_EXYNOS7420 as part of merging, so espresso7420 still builds] Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-09exynos: mmu: use CONFIG_IS_ENABLEDMinkyu Kang1-5/+6
to fix following checkpatch warnings. Use 'if (IS_ENABLED(CONFIG...))' instead of '#if or #ifdef' where possible Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Cc: Dzmitry Sankouski <dsankouski@gmail.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2021-11-09exynos78x0: pinctrl: set const to structsMinkyu Kang1-7/+7
to fix following checkpatch warings. WARNING: struct should normally be const Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Cc: Dzmitry Sankouski <dsankouski@gmail.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2021-11-09exynos: pwm: Deal with a PWM at 100%Simon Glass1-0/+4
At present the counter never hits the comparitor in this case. Add a special case. This ensures that the snow backlight works when at full brightness. Fixes: 76c2ff3e5fd video: backlight: fix pwm's duty cycle calculation Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2021-11-09Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini6-11/+45
2021-11-08Fix syntax errorLeo Yu-Chi Liang1-1/+1
This statement has an unmatched parentheses, fix it. Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-11-08riscv: ae350: Use #if defined instead of CONFIG_IS_ENABLEDLeo Yu-Chi Liang1-2/+2
According to ./include/linux/kconfig.h, CONFIG_IS_ENABLED(OF_BOARD) expands to 0 when CONFIG_SPL_BUILD is defined because there is no CONFIG_SPL_OF_BOARD. Use #if defined instead. Fixes: 2e8d2f88439d ("riscv: Remove OF_PRIOR_STAGE from RISC-V boards") Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com> Reviewed-by: Rick Chen <rick@andestech.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-11-08riscv: add #define in asm/io.h for some device driversWei Fu1-0/+4
This patch adds memcpy_fromio and memcpy_toio definitions for some device drivers which have these definitions, like cadence_qspi_apb.c Signed-off-by: Wei Fu <wefu@redhat.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-11-08cmd: sbi: show SBI implementation versionHeinrich Schuchardt1-8/+18
Let the sbi command show the SBI implementation version Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-11-08riscv: function to retrieve SBI implementation versionHeinrich Schuchardt2-0/+20
Provide function sbi_get_impl_version() to retrieve the SBI implementation version. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-11-08Merge tag 'efi-2022-01-rc2' of ↵Tom Rini39-183/+2582
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-01-rc2 Documentation: * improve description of mmc rescan * remove obsolete PPC documenation UEFI * Provide unit test for the EFI_TCG2_PROTOCOL * Implement add EFI_TCG2_PROTOCOL.SubmitCommand * Start the implementation of a 64 bit EFI app * Reduce rcar3_salvator-x image size
2021-11-07dfu: newline after updatingHeinrich Schuchardt1-0/+1
Currently output of dfu commands ends on a line with leading hash signs ('#'). The succeeding output should be placed on a new line. After writing updates via dfu print a new line. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-11-07ARM: renesas: reduce rcar3_salvator-x image sizeHeinrich Schuchardt1-0/+1
rcar3_salvator-x u-boot.img is very close to the 0x100000 size limit. Disable support for Unicode capitalization. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07efi_selftest: add selftest for EFI_TCG2_PROTOCOL and Measured BootMasahisa Kojima7-1/+2023
This commit adds the missing EFI_TCG2_PROTOCOL selftest and Measured Boot selftest in lib/efi_selftest. This selftest includes PE/COFF image measurement test, some PCR values are different in each architecture. With that, this commit also adds pre-built versions of lib/efi_selftest/efi_miniapp_file_image_exit.c for PE/COFF image measurement test for 32-bit arm, arm64, ia32, x86_64, riscv32 and riscv64. Prebuilding avoids the problem of reproducible builds. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Make the test 'onrequest'. Add code comments to the includes with the binaries. Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07efi: Add video support to the appSimon Glass6-13/+50
The current EFI video driver only works when running in the stub. In that case the stub calls boot services (before jumping to U-Boot proper) and copies the graphics info over to the efi table. This is necessary because the stub exits boot services before jumping to U-Boot. The app maintains access to boot services throughout its life, so does not need to do this. Update the driver to support calling boot services directly. Enable video output for the app. Note that this uses the EFI_GRAPHICS_OUTPUT_PROTOCOL protocol, even though it mentions vesa. A sample qemu command-line for this case is: qemu-system-x86_64 -bios /usr/share/edk2.git/ovmf-ia32/OVMF-pure-efi.fd -drive id=disk,file=try.img,if=none,format=raw -nic none -device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07efi: Add a way to obtain boot services in the appSimon Glass2-1/+17
Add a function to return this information along with a stub for the efi_info_get() function, since calling it otherwise hangs U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07x86: Don't duplicate global_ptr in 64-bit EFI appSimon Glass3-14/+26
This variable is already defined by the EFI code. Drop the duplicate definition when building a 64-bit EFI app. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07efi: Create a 64-bit appSimon Glass13-28/+106
Most modern platforms use 64-bit EFI so it is useful to have a U-Boot app that runs under that. Add a (non-functional) build for this. Note that --whole-archive causes the gcc 9.2 linker to crash, so disable this for now. Once this is resolved, things should work. For now, avoid mentioning the documentation for the 64-bit app, since it does not work. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07x86: Create a 32/64-bit selection for the appSimon Glass2-9/+27
Most EFI implementations use 64-bit but U-Boot only supports running as a 32-bit app at present. While efi-x86_payload64 does boot from 64-bit UEFI it immediately changes back to 32-bit before starting U-Boot. In order to support a 64-bit U-Boot app, update the Kconfig to add an option for 32/64 bit. Update the prompt for the existing option so it is clear it relates to the stub. Move both up to just under the choice that controls them, since this looks better and the menu. Use CONFIG_EFI_APP in the Makefile instead of CONFIG_TARGET_EFI_APP, since the latter is specific to a single target and we will have two. Memory size is set to 32MB for now so that it can run on qemu without increasing the default memory size. We may need to increase the default later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07efi: Drop the OF_EMBED warning for EFISimon Glass1-1/+1
For the EFI app, we must embed the devicetree in the ELF file since that is the only thing that is run by UEFI. Drop the warning to avoid confusion. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-11-07efi: Enable DM_ETH for the appSimon Glass1-1/+0
There is no need to avoid driver model for networking. Drop this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-07efi: Add a script to build an image for testing on UEFISimon Glass3-0/+256
It is quite complicated to run U-Boot on QEMU since we have four different builds and they must use different versions of qemu and the UEFI binaries. Add a script to help. It requires U-Boot itself to be built. Once that is done you can use this script to build an image for use with qemu and optionally run it. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-11-07efi_loader: add EFI_TCG2_PROTOCOL.SubmitCommandMasahisa Kojima3-6/+51
This commit adds the EFI_TCG2_PROTOCOL.SubmitCommand required in the TCG PC Client PFP spec. SubmitCommand enables to send the raw command to the TPM device. To implement this api, tpm2_submit_command() is added into tpm-v2.c. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-07efi_loader: use byteshift unaligned access helperMasahisa Kojima1-1/+2
Calling unaligned/access-ok.h version of put_unaligned_le64() causes data abort in arm 32-bit QEMU. The similar issue also occurs in linux kernel, unaligned/access-ok.h is no longer used in linux kernel[1]. This commit uses the unaligned/be_byteshift.h and unaligned/le_byteshift.h helper instead of unaligned/access-ok.h. [1]https://lore.kernel.org/all/20210507220813.365382-8-arnd@kernel.org/ Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-11-07efi_loader: capsule: drop __weak from efi_get_public_key_data()AKASHI Takahiro1-1/+1
As we discussed in ML, currently a device tree is the only place to store public keys for capsule authentication. So __weak is not necessary for now. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-11-07doc: mmc rescan speed modeHeinrich Schuchardt1-16/+20
Provide human readable descriptions of the speed nodes instead of the name of constants from the code. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-11-07doc: Remove the obsolete README.AMCC-eval-boards-cleanup fileThomas Huth1-31/+0
The related boards have been removed four years ago already, in commit 98f705c9cefd ("powerpc: remove 4xx support"), so this README file is not required anymore. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-07doc: Remove obsolete doc/README.nand-boot-ppc440Stefan Roese1-60/+0
The PPC440 support has been removed in commit 98f705c9ce ("powerpc: remove 4xx support"). This patch removes this obsolete file as well. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Thomas Huth <thuth@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com>
2021-11-05Merge branch '2021-11-05-Kconfig-syncs'Tom Rini234-295/+167
- An assortment of changes to finish migration of a number of symbols, and move YAFFS2 related options that we enable to Kconfig as well.
2021-11-05configs: Resync with savedefconfigTom Rini19-23/+2
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_BOARD_EARLY_INIT_F et al to KconfigTom Rini18-22/+7
This converts the following to Kconfig: CONFIG_BOARD_EARLY_INIT_F CONFIG_BOARD_LATE_INIT CONFIG_DISPLAY_BOARDINFO CONFIG_DISPLAY_BOARDINFO_LATE Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_SPL_DRIVERS_MISC et al to KconfigTom Rini53-95/+69
This converts the following to Kconfig: CONFIG_SPL_DRIVERS_MISC CONFIG_SPL_ENV_SUPPORT CONFIG_SPL_GPIO CONFIG_SPL_I2C CONFIG_SPL_LDSCRIPT CONFIG_SPL_LIBCOMMON_SUPPORT CONFIG_SPL_LIBGENERIC_SUPPORT CONFIG_SPL_LOAD_FIT_ADDRESS CONFIG_SPL_MMC CONFIG_SPL_NAND_SUPPORT CONFIG_SPL_NO_CPU_SUPPORT CONFIG_SPL_OS_BOOT CONFIG_SPL_POWER CONFIG_SPL_STACK_R CONFIG_SPL_STACK_R_ADDR CONFIG_SPL_WATCHDOG CONFIG_SPL_TEXT_BASE Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_BMP_16BPP to KconfigTom Rini2-1/+1
This converts the following to Kconfig: CONFIG_BMP_16BPP Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_OF_EMBED to KconfigTom Rini8-15/+2
This converts the following to Kconfig: CONFIG_OF_EMBED Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-11-05Convert CONFIG_MCFUART to KconfigTom Rini33-15/+18
This converts the following to Kconfig: CONFIG_MCFUART Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_FEC_MXC to KconfigTom Rini47-18/+30
This converts the following to Kconfig: CONFIG_FEC_MXC Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_SUPPORT_EMMC_BOOT to KconfigTom Rini26-13/+14
This converts the following to Kconfig: CONFIG_SUPPORT_EMMC_BOOT Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_SYS_TEXT_BASE to KconfigTom Rini2-2/+0
This converts the following to Kconfig: CONFIG_SYS_TEXT_BASE Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05Convert CONFIG_SYS_HZ to KconfigTom Rini45-75/+0
This converts the following to Kconfig: CONFIG_SYS_HZ Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05spl: Make use of CONFIG_IS_ENABLED(OS_BOOT) in SPL/TPL common code pathsTom Rini12-15/+15
When building a system that has both TPL and SPL_OS_BOOT, code which tests for CONFIG_SPL_OS_BOOT will be built and enabled in TPL, which is not correct. While there is no CONFIG_TPL_OS_BOOT symbol at this time (and likely will not ever be) we can use CONFIG_IS_ENABLED(OS_BOOT) in these common paths to ensure we only compile these parts in the SPL case. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-05fs: yaffs2: Finish Kconfig migrationTom Rini2-4/+12
For the symbols which are both hard-coded as enabled and used, move to Kconfig. The rest of the CONFIG_YAFFS namespace is unselected anywhere, so we leave it as is. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-04Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini9-13/+67
- Improved sysreset/watchdog uclass integration (Samuel)
2021-11-04sunxi: Use sysreset framework for poweroff/resetSamuel Holland1-0/+3
Instead of hardcoding the watchdog for reset, and the PMIC for poweroff, use the sysreset framework to manage the available poweroff/reset backends. This allows (as examples) using the PMIC to do a cold reset, and using a GPIO to power off H3/H5 boards lacking a PMIC. Furthermore, it removes the need to hardcode watchdog MMIO addresses, since the sysreset backends can be discovered using the device tree. Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Stefan Roese <sr@denx.de>
2021-11-04sunxi: Avoid duplicate reset_cpu with SYSRESET enabledSamuel Holland1-0/+2
The sysreset uclass unconditionally provides a definition of the reset_cpu() function. So does the sunxi board code. Fix the build with SYSRESET enabled by omitting the function from the board code in that case. The code still needs to be kept around for use in SPL. Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Stefan Roese <sr@denx.de>