summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-29efi_loader: replace find_smbios_table by library functionHeinrich Schuchardt
The code in find_smbios_table() is redundant to efi_get_configuration_table(). Replace it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29cmd: in do_efi_capsule_esrt use efi_get_configuration_tableHeinrich Schuchardt
Use library function efi_get_configuration_table() to find the ESRT. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29efi_loader: export efi_get_configuration_tableHeinrich Schuchardt
In multiple places we need a function to find an EFI configuration table. Rename get_config_table() to efi_get_configuration_table() and export it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29doc: uefi: remove ".py" suffix for pytest.py commandWei Ming Chen
the file pytest.py does not exist Signed-off-by: Wei Ming Chen <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: separate .data and .text sections of EFI binariesHeinrich Schuchardt
EFI binaries should not contain sections that are both writable and executable. Separate the RX .text section from the RW .data section Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: page align EFI binary sectionHeinrich Schuchardt
Change the alignment of the relocation code in EFI binaries to match page boundaries. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: conflicting SPDX license linker scriptsHeinrich Schuchardt
Fix conflicting SPDX license information in linker scripts introduced by commit 7215787c4ea4 ("SPDX: Convert single license tags to Linux Kernel style"). Fixes: 7215787c4ea4 ("SPDX: Convert single license tags to Linux Kernel style") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-01-29efi_selftest: add missing line feed in efi_selftest_miniapp_exitHeinrich Schuchardt
If an error occurs we may see an output like: EFI application calling Exit Could not open loaded image protocolLoaded image protocol missing Add the missing line feed. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29doc: dm: Fix typoAlexander Dahl
That's most probably a typo, because driver model design documents seem to be from 2012 and there is no 2010.01 release. Fixes: 282ed24fb3ca ("dm: MIGRATION: Add migration plan for CONFIG_DM") Signed-off-by: Alexander Dahl <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-01-29sunxi: simplify U-Boot proper only buildsAndre Przywara
At the moment every Allwinner board builds and requires an SPL, even though we select this individually in each _defconfig file. For experiments and for early bringup of new SoCs it would be beneficial to only build U-Boot proper, for instance to postpone a tedious SPL port (including DRAM support) in the initial phase. Protect some SPL related symbols that we unconditionally select at the moment with "if SPL", to avoid Kconfig conflicts when CONFIG_SPL is disabled. This alone does not cleanly build U-Boot proper only yet, but gets it far enough so that the binary can be harvested. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: remove common.h inclusionAndre Przywara
The usage of the common.h include file is deprecated, and has already been removed from several files. Get rid of all inclusions in the arch/arm/mach-sunxi directory. Most files actually don't need the header at all, for the few others just include the headers that we actually require. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: sun9i: remove unneeded base addresses from headerAndre Przywara
The cpu_sun9i.h header file defined the base addresses for quite some peripherals of the Allwinner A80 CPU, even though we now only use a fraction of that. Most of the addresses are now either read from the DT, or were never used in U-Boot in the first place. Removed the ones that are not used in the whole of the U-Boot source. to make it clear that this file only contains addresses that are needed for the SPL operation. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: sun4i: remove unneeded base addresses from headerAndre Przywara
The cpu_sun4i.h header file defined the base addresses for quite some peripherals of earlier Allwinner CPUs, even though we now only use a fraction of that. Most of the addresses are now either read from the DT, or were never used in U-Boot in the first place. Removed the ones that are not used in the whole of the U-Boot source. to make it clear that this file only contains addresses that are needed for the SPL operation. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: sun50i-h6: remove unneeded base addresses from headerAndre Przywara
The cpu_sun50i_h6.h header file defined the base addresses for quite some peripherals of the Allwinner H6 and related CPUs, even though we now only use a fraction of that. Most of the addresses are now either read from the DT, or were never used in U-Boot in the first place. Removed the ones that are not used in the whole of the U-Boot source. to make it clear that this file only contains addresses that are needed for the SPL operation. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: cleanup sunxi-common.hAndre Przywara
The sunxi-common.h configs header used to contain a lot of random Allwinner platform related constants, but over the years we moved a lot of those definitions out there. Clean up the file to remove outdated comments which are leftovers from the olden days. Also remove the definition of LOW_LEVEL_SRAM_STACK, which is actually used nowhere in the whole source tree. This also uses the opportunity to add some section comments that helps structuring the header file and improving readability. Signed-off-by: Andre Przywara <[email protected]>
2024-01-27Merge branch 'master-cleanup' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh - Assorted code clean-ups
2024-01-27ARM: renesas: whitehawk: Drop extra leading spaceMarek Vasut
Drop leading space in front of a comment. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-01-27ARM: renesas: Drop include common.hMarek Vasut
The header file is not necessary in either of those files, remove it as common.h is going away. Include missing asm/arch/rmobile.h in board/renesas/rcar-common/v3-common.c to prevent build failure of r8a77970_eagle r8a779a0_falcon r8a77980_v3hsk and r8a77970_v3msk . Include missing asm/u-boot.h in falcon.c and grpeach.c to fix build failure due to missing definition of struct bd_info . Include errno.h in grpeach.c to fix build error due to missing definition of EINVAL. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-01-27pinctrl: renesas: Drop include common.hMarek Vasut
The header file is not necessary in either of those files, remove it as common.h is going away. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-01-27clk: renesas: Drop include common.hMarek Vasut
The header file is not necessary in either of those files, remove it as common.h is going away. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-01-27Merge tag 'smbios-2024-04-rc1-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request smbios-2024-04-rc1-2 * Add missing field to SMBIOS type 2 structure definition * Provide smbios command to display smbios table * Enable the command on sandbox and qemu_arm64_defconfig * Provide a python test for the smbios command * Fix copying SMBIOS 2.1 table from QEMU * Correct EFI TCG measurement to assume SMBIOS 3 table
2024-01-26lib: support SMBIOS3 table in uuid_guid_get_str()Heinrich Schuchardt
As we support installing SMBIOS3 tables in U-Boot we need to add this GUID to the translation table used buy uuid_guid_get_str(). Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2024-01-26smbios: use struct_table_length to get SMBIOS 2.1 total table lengthMasahisa Kojima
The current code convert the SMBIOS 2.1 entry point structure to SMBIOS 3.0 entry point structure. The max_struct_size member in SMBIOS 2.1 entry point structure indicates "Size of the largest SMBIOS structure, in bytes". We need to use struct_table_length instead. Fixes: 1c5aab803c0b ("smbios: copy QEMU tables") Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-01-26efi_loader: migrate SMBIOS 3.0 entry point structure for measurementMasahisa Kojima
Current U-Boot only supports the SMBIOS 3.0 entry point structure. TCG2 measurement code should migrate to SMBIOS 3.0 entry point structure. efi_selftest tcg2 test also needs to be updated, and expected PCR[1] result is changed since guid for SMBIOS EFI system table uses different guid SMBIOS3_TABLE_GUID instead of SMBIOS_TABLE_GUID. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-26configs: enable smbios command on qemu_arm64_defconfigHeinrich Schuchardt
We have a Python test the copying of SMBIOS tables from QEMU. To make use of the test we need the smbios command. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-26configs: enable smbios command on sandboxHeinrich Schuchardt
To make use of the Python smbios test we need the smbios command. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-26test: unit test for smbios commandHeinrich Schuchardt
Provide a unit test for the smbios command. Provide different test functions for QEMU, sandbox, and other systems. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-26doc: man-page for smbios commandHeinrich Schuchardt
Provide a man-page for the smbios command. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-26cmd: provide command to display SMBIOS informationHeinrich Schuchardt
U-Boot can either generated an SMBIOS table or copy it from a prior boot stage, e.g. QEMU. Provide a command to display the SMBIOS information. Currently only type 1 and 2 are translated to human readable text. Other types may be added later. Currently only a hexdump and the list of strings is provided for these. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-26smbios: type2: contained object handlesHeinrich Schuchardt
The type 2 structure must include information about the contained objects. It is fine to set the number of contained object handles to 0. Add the missing field. Fixes: 721e992a8af5 ("x86: Add SMBIOS table support") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-25Merge branch '2024-01-24-assorted-fixes-and-updates'Tom Rini
- Increase SYS_MAXARGS default, verdin-am62 improvements (and required cleanup), assorted cleanups throughout the code base.
2024-01-24reset: reset-hisilicon: also handle #reset-cells = <2>Yang Xiwen
It's also valid to have #reset-cells = <2> while the third arg defaults to ASSERT_SET. Signed-off-by: Yang Xiwen <[email protected]>
2024-01-24test: enhance unicode_test_utf8_to_utf32_stream()Heinrich Schuchardt
Additionally test a UTF-8 string where each code point translates to three UTF-8 bytes. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-24lib: add comment in utf8_to_utf32_stream()Heinrich Schuchardt
The logic of utf8_to_utf32_stream() is not easy to understand. Add a comment. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-24docker: Add tools/buildman/requirements.txt to the cacheTom Rini
As we have had this file for a while now, we should include installing and populating our pip cache from here as well. Signed-off-by: Tom Rini <[email protected]>
2024-01-24common: console: Fix print complete stdio device listPatrice Chotard
In case CONSOLE_MUX and SYS_CONSOLE_IS_IN_ENV are on and stdin or stdout or stderr are missing in environment, as fallback, get these either from stdio_devices[std] or stdio_devices[std]->name. Fixes: 6b343ab38d ("console: Print out complete stdio device list") Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-01-24cmd: bootmenu: rename U-Boot console to ExitSvyatoslav Ryhel
It seems that the U-Boot console entry of the bootmenu has lost its original meaning. Now, even if it is chosen, the probability that you will enter the actual U-Boot console is quite low. Boot env, bootflow, bootcommand script may appear, but not the actual console. Hence, let's remove ambiguity and name this entry by what it actually does: 'Exit' the bootmenu. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2024-01-24board: verdin-am62: set cpu core voltage depending on speed gradeMax Krummenacher
Speed grade T requires the VDD_CORE voltage to be 0.85V if using the maximum core frequency. Speed grades G, K, S allow the VDD_CORE voltage to be 0.75V up to the maximum core frequency but allow to run at 0.85V. For efficiency in manufacturing and code maintenance we use 0.85V for the PMIC defaults and device tree settings and dynamically adjust the voltage in the PMIC and device tree to 0.75V for lower speed SKU to gain more than 100mW power consumption reduction. Signed-off-by: Max Krummenacher <[email protected]>
2024-01-24arm: mach-k3: am62: provide more soc feature info accessorsMax Krummenacher
Add two functions, one which returns the SoC speed grade and one which returns the SoC operating temperature range. Signed-off-by: Max Krummenacher <[email protected]>
2024-01-24arm: mach-k3: am62: move device identification accessor functions to headerMax Krummenacher
mach-k3/am625_fdt.c does fdt fixup depending on fields in the device identification register. Move the accessors to the device identification register as inline functions into the am62_hardware.h header, so that they can be used for other functionality. Signed-off-by: Max Krummenacher <[email protected]>
2024-01-24board: verdin-am62: improve comment on usb phy core voltageMax Krummenacher
TI recommends to clear the bit independent of the used voltage. So the comment which claims to do it due to the core voltage at 0.85V is bogus. See https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1252724/am625-usb-phy-core-voltage-selection-and-vdda_core_usb-mismatch Signed-off-by: Max Krummenacher <[email protected]>
2024-01-24headers: don't depend on errno.h being availableMax Krummenacher
These headers follow the pattern: | #if CONFIG_IS_ENABLED(FANCY_FEATURE) | void foo(void); | #else | static inline void foo(void) { return -ENOSYS; } | #endif In the #else path ENOSYS is used, however linux/errno.h is not included. If errno.h has not been included already the compiler errors out even if the inline function is not referenced. Make those headers self contained. Signed-off-by: Max Krummenacher <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-01-24cmd: increase default for SYS_MAXARGSHeinrich Schuchardt
The value of CONFIG SYS_MAXARGS limits the usability of the 'for' command. The current default of 16 is too low for some use case. Cf. https://bugs.launchpad.net/snap-core18/+bug/1910094 Increase the default to 64. Reported-by: Dave Jones <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-24board: ti: common: board_detect: Fix EEPROM offset read for 1-bytePrasanth Babu Mantena
EEPROM detection logic in ti_i2c_eeprom_get() involves reading the total size and the 1-byte size with an offset 1. The commit 9f393a2d7af8 ("board: ti: common: board_detect: Fix EEPROM read quirk for 2-byte") that attempts to fix this uses a wrong pointer to compare. The value with one offset is read into offset_test, but the pointer used to match was still ep, resulting in an invalid comparison of the values. The intent is to identify bad 2-byte addressing eeproms that get stuck on the successive reads. Fixes: 9f393a2d7af8 (board: ti: common: board_detect: Fix EEPROM read quirk for 2-byte) Signed-off-by: Prasanth Babu Mantena <[email protected]> Tested-by: Matwey V. Kornilov <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2024-01-24MAINTAINERS: Add new Samsung subsystemsSam Protsenko
Add next Samsung subsystems with Sam Protsenko as a maintainer: - Samsung CCF Clock Framework - Exynos850 SoC Support - Samsung SoC Drivers Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-24board: samsung: Add support for E850-96 boardSam Protsenko
Add support for WinLink E850-96 board [1]. It's based on Exynos850 SoC and follows 96boards specification, so it's compatible with 96boards mezzanine boards [2]. This patch enables next features: * Serial console * USI * PMU (muxing AP UART path) * Pinctrl * Clocks * Timer (ARMv8 architected) * Reset control It's quite a minimal enablement. Features like MMC, USB and Ethernet will be enabled later. The rationale for config values is as follows: * TEXT_BASE = 0xf8800000 That's where BL2 loads the U-Boot payload, so TEXT_BASE must be exactly this value. Overall the memory map is designed in a way to keep the bootloader in the upper 128 MiB area of RAM, which is 0xf8000000..0xffffffff. That includes bootloader's code, stack, data, heap, MMU tables, etc. All the memory below that 128 MiB chunk can be used for storing boot images (0x80000000..0xf8000000). * CUSTOM_SYS_INIT_SP_ADDR = 0xf8c00000 Just 4 MiB above the TEXT_BASE address, to leave enough space for U-Boot code and stack itself (grows downwards). * SYS_LOAD_ADDR = 0x80000000 The beginning of RAM. That's where Linux kernel image must be loaded. * SYS_MALLOC_LEN = 0x81f000 8 MiB for malloc() + ENV_SIZE (128 KiB) * SYS_MALLOC_F_LEN = 0x4000 Increase malloc() pool size available before relocation from 8 KiB (default) to 16 KiB. Otherwise "alloc space exhausted" message appears in U-Boot log during board_init_f() stage. There are next reasons for doing so: 1. Having "bootph-all" flags in some dts nodes leads to binding those during pre-relocation stage, and binding (DM) uses dynamic memory allocation 2. clk-exynos850 driver uses CCF clocks, which in turn use dynamic memory allocation Device tree file was imported from Linux kernel. All nodes and boot phase flags added in exynos850-e850-96-u-boot.dtsi are only needed to enable serial console: * oscclk -> cmu_top -> cmu_peri: generate UART/USI clocks * pinctrl_alive and uart1_pins: needed to mux UART pins * pmu_system_controller: configures AP UART path to uart1_pins * usi_uart: configures USI block to operate as a UART protocol * serial_0: enables serial console (UART) [1] https://www.96boards.org/product/e850-96b/ [2] https://www.96boards.org/products/mezzanine/ Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-24arm: exynos: Add Exynos850 SoC supportSam Protsenko
Samsung Exynos850 is ARMv8-based mobile-oriented SoC. It features Cortex-A55 CPU (8 cores) and it's built using 8nm process. Add Exynos850 support by enabling next features: * Import Exynos850 SoC dtsi files from Linux kernel * Add Exynos850 MMU memory map * Introduce ARCH_EXYNOS9 platform config option Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-24serial: s5p: Add Exynos850 compatibleSam Protsenko
Enable serial support for Exynos850 SoC by adding the corresponding compatible string. No additional changes needed, the driver works as is on Exynos850. Related USI and PMU configuration is enabled in separate drivers. The only other dependencies are clock and pinctrl drivers, which are already enabled too. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-24pinctrl: exynos: Add pinctrl support for Exynos850Sam Protsenko
Add pinctrl support for Exynos850 SoC. It was mostly extracted from corresponding Linux kernel code [1]. Power down modes and external interrupt data were removed while converting the code for U-Boot, but everything else was kept almost unchanged. [1] drivers/pinctrl/samsung/pinctrl-exynos-arm64.c Signed-off-by: Sam Protsenko <[email protected]> Reviewed-by: Chanho Park <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-24clk: exynos: Add Exynos850 clock driverSam Protsenko
Heavily influenced by its Linux kernel counterpart. It's implemented on top of recently added Samsung CCF clock framework API. For now only UART leaf clocks are implemented, along with all preceding clocks in CMU_TOP and CMU_PERI. The UART baud clock is required in the serial driver, to get its rate for the consequent baud rate calculation. Signed-off-by: Sam Protsenko <[email protected]> Reviewed-by: Chanho Park <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>