summaryrefslogtreecommitdiff
path: root/lib/Kconfig
AgeCommit message (Collapse)Author
2022-04-18MA-17046-1 Show orange warning for unlocked deviceJi Luo
According to the google boot flow, an orange warning should be displayed on UNLOCKED device to reminder the users of the potential risks. This commit will show an orange warning logo and warning text on the screen, it shall be dismissed after 3 seconds, users can also skip it by pressing the ON-OFF button. Config 'CONFIG_AVB_WARNING_LOGO_COLS' and 'CONFIG_AVB_WARNING_LOGO_ROWS' define the (x, y) position of the warning logo, its default value is for 1080*720 resolution display and can be overridden. Test: Orange warning logo show on all imx8m/imx8q platfroms. Change-Id: I607edb3da039b47ddfac681f855834d8da187af8 Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 8ddefdb1186feb3580830fa04b588d3ee606cf81) (cherry picked from commit fbd21482417c4dc3de16d1689fe899ad11764f71)
2022-04-18MA-18634-1 Android: refine config dependencyJi Luo
Refine the dependency of some configs to make it easier to add/modify android config files. Test: builds. Change-Id: Iccb044dadc7ce1e0b839bf83e2e9157e718f286c Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 86f4f99a367bbc0ef99d4ab2a0b4078babfbfbd2) (cherry picked from commit 8f3e86b52a27948ba1be1d93dae5e5a4c8a73a0a) (cherry picked from commit ff17b410ea60f6450c2ef9342a5b9e55e1929470)
2022-04-18MA-18352-5 Support device IDs provisionJi Luo
The device IDs are provisioned from bootloader, this commit add commands to provision the deivce IDs: $ fastboot oem append-device-id Test: Device IDs provision and attest. Change-Id: Id3c737d3da02f7ba463e51b0525f3cb9bcf0c6d1 Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 7575ac07ac625c35269868511297385a69c96196) (cherry picked from commit 7f300b1fc543d8f4cbe7329a78e31273678162a5) (cherry picked from commit 9cef720d338cd24edcf59d957543a5ff82eef4ac)
2022-04-18MA-17519-4 boot up car2 with recovery ramdiskfaqiang.zhu
To use dynamic partition feature in Android, recovery ramdisk is used to mount the logical partitions and boot up Android. Define a configuration item "CONFIG_ANDROID_DYNAMIC_PARTITION", use it to control the bootargs and whether ramdisk should be loaded instead of "CONFIG_ANDROID_AUTO" because now Android auto also use dynamic partition feature now. Move the definition of function "fastboot_setup_system_boot_args" under the macro "CONFIG_CMD_BOOTA" to avoid build warnings. Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com> Change-Id: I0b1cfe6120fc939e7f1a1eb600d8176c81edf129 (cherry picked from commit 972ccff86796e2b7f9a444d09550cd5e393cd93e) (cherry picked from commit 7154723e8a43f06f27bab3692024f3579f4b78e4) (cherry picked from commit c3dd6b105d62a68a0222ee9f892e7502ee6fe6ad)
2022-04-18MA-17910-1 Add config to guard avb public key loadJi Luo
Add config "CONFIG_LOAD_KEY_FROM_RPMB" to decide loading the avb public key from RPMB storage or building it statically. Test: AVB verify. Signed-off-by: Ji Luo <ji.luo@nxp.com> Change-Id: I1ca09c28bbfa18dd00aa28405389b382e09fe07e (cherry picked from commit 5a7973e8f42e54b3cd8ce15624478dcbe19c49fd) (cherry picked from commit 29f15078f00ed862abf6ca9592e68815046a38f3) (cherry picked from commit 29ed198ffe8f46715a7ccee21c2eb6f1d53392a5)
2022-04-18MA-17554 Decide if GKI is enabled at runtimeJi Luo
As we have to support GKI and non-GKI at the same time, it will be a must to decide if the GKI is enabled or not at run-time. This commit reads the 'header_version' in boot header to decide if GKI is enabled. This commit also make some cleanup to make the code more readable and easier to maintain. Test: boots on Android and Anroid Auto. Signed-off-by: Ji Luo <ji.luo@nxp.com> Change-Id: I6068bbaa60f5d76049b6ff0a892b5b8ca2c2f86b (cherry picked from commit b39f7532ab524408550b8b2827bb42ab38159033) (cherry picked from commit 93ea85fcd20d616bc137a76a371ee6799c5ca07a) (cherry picked from commit 5f6211db2dd2c3c43d9e94657c8d881ef8bca5c5)
2022-04-18MA-17541-1 Support virtual A/B updateJi Luo
A 'misc_virtual_ab_message' struct will be stored at the 32kB offset in misc partition, which will be used to record the virtual A/B update status. Bootloader should take care of this status, some operations must be restricted. This commit will: 1. Restrict erase/flash operations to "misc", "userdata" or "metadata" partitions if the merge status are "SNAPSHOTTED" or "MERGING". 2. Restrict slot switch if the merge status is "MERGING". 3. Output a warning in slot switch if the merge status is "SNAPSHOTTED". 4. Set the merge status as "CANCELLED" if image flash happen. Test: 1. fastboot erase/flash "userdata", "misc", "metadata" after virtual A/B update 2. slot switch after virtual A/B update Signed-off-by: Ji Luo <ji.luo@nxp.com> Change-Id: I33f0041c5e76913d3970d943cad52353e0ac5f2d (cherry picked from commit 30df087bfc5e31413473f85dfefaa7176bc394a8) (cherry picked from commit 7fd03bcc8f1fc094362c11d71cf740ac9b5724c1) (cherry picked from commit 97495e9189afc4a26e6e03fd8ac7389f445c590e)
2022-04-18MA-17260 Add vendor boot and boot header v3 supportJi Luo
GKI(Generic Kernel Image) would require the boot header v3 and vendor boot support, all device specific info are moved to vendor_boot partition ,the boot header v3 will not be compatible with earlier version(0/1/2). This commit adds support for boot header v3 and vendor boot, it would concatenate the generic ramdisk and vendor ramdisk to generate the final ramdisk passed to kernel. Test: boots with or without boot header v3 and vendor boot support. Signed-off-by: Ji Luo <ji.luo@nxp.com> Change-Id: Ib3298ae46bfc728aa4a34909d372eff6cc86ca70 (cherry picked from commit c3854f270a19e7d57b996e6074d692ab9bc88c32)
2022-04-18MA-15575-3 Add support for oemlock 1.0 halJi Luo
Add commands to read oem device unlock state from trusty avb app. Use the oem device unlock state to determine if the device can be unlocked instead of the state in persistdata part. Test: Read oem device unlock state from avb app. Change-Id: Ifccaa788ba0f681c2b3a47151c8474e8da5a2559 Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit c6eaf8e32987f120c0c5441ea39aa0f39a65b50d) (cherry picked from commit 8b58afda1cd1f91048504b48b95260e930a37326) (cherry picked from commit dc2acac3cdfe0ca77747e9c435e3f140acc07705)
2022-04-18MA-15321-3 Support secure unlock featureJi Luo
Decrypt and verify the secure credential in keymaster TA, unlock operation can only be allowed after secure credential verify pass. Since the mppubk can only be generated on hab closed imx8q, so secure unlock feature can only supported when hab is closed. Test: secure unlock credential verify on hab closed imx8mm_evk. Change-Id: I1ab5e24df28d1e75ff853de3adf29f34da1d0a71 Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 631149fc0fc8ce035311949db643c2708e41435a) (cherry picked from commit 063d358ab4bbfea998e0c975f31724757243545a) (cherry picked from commit 5980e3882093c522723aa6a3af6f85fb5b8a47c1)
2022-04-06MLK-18591-1 android: Add the AVB libraryYe Li
Porting the android AVB lib from imx u-boot v2018.03. Since 2019 u-boot has added latest AVB library, try to reuse it. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 2105662ada738a271e12a81d775134a5821dc38f) (cherry picked from commit f7291d86c4183ce2e299ad271aa5618c71507ffc) (cherry picked from commit b871714c519e1bda3de6afbd354bee2cb246e4b7) (cherry picked from commit 64520f3e5f495ecce79177fba11e3d41299529b2) (cherry picked from commit 076fe5bc4d29deaf6d008e579b5cfe7408bc4525) (cherry picked from commit 5c5c11b5eb2f185aeb6ae432520093b0ef684b26) (cherry picked from commit 6afb9ebcce19079981344822211b3b8c4bfce635)
2022-01-27Merge tag 'dm-pull-26jan22' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dm acpi refactoring to allow non-x86 use binman support for bintools (binary tools) minor tools improvements in preparation for FDT signing various minor fixes and improvements
2022-01-26lib/circbuf: Make circbuf selectable symbolLoic Poulain
It is currenly only used from usbtty driver but make it properly selectable via Kconfig symbol, for future usage. Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2022-01-25x86: Allow any arch to generate ACPI tablesSimon Glass
These have sadly found their way to ARM now. Allow any arch to support generating ACPI tables. Disable this for the tools build. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-01-18lib: add BLAKE2 hash supportQu Wenruo
The code is cross-ported from BLAKE2 reference implementation (https://github.com/BLAKE2/BLAKE2). With minimal change to remove unused macros/features. Currently there is only one user inside U-boot (btrfs), and since it only utilize BLAKE2B, all other favors are all removed. Signed-off-by: Qu Wenruo <wqu@suse.com> [trini: Rename ROUND to R to avoid clash with <linux/bitops.h> Signed-off-by: Tom Rini <trini@konsulko.com>
2022-01-14lib: Kconfig: fix PHANDLE_CHECK_SEQ position outside of menuEugen Hristev
CONFIG_PHANDLE_CHECK_SEQ is outside of the menu 'Library routines' thus it's invisible in menuconfig and cannot be selected. Fix this by moving the 'endmenu' after the PHANDLE_CHECK_SEQ definition Fixes: c589132a1d ("fdt: Use phandle to distinguish DT nodes with same name") Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> Reviewed-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-12-31efi: Make unicode printf available to the appSimon Glass
This is needed to show unicode strings. Enable this code in the app. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-17Convert CONFIG_PHYSMEM to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_PHYSMEM Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Sean Anderson <seanga2@gmail.com>
2021-11-20lmb: fix typo 'commun'Heinrich Schuchardt
%s/commun/common/ Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-10-08image: Use the correct checks for CRC32Simon Glass
Add a host Kconfig for CRC32. With this we can use CONFIG_IS_ENABLED(CRC32) directly in the host build, so drop the unnecessary indirection. Add a few more conditions to SPL_CRC32 to avoid build failures as well as TPL_CRC32. Also update hash.c to make crc32 optional and to actually take notice of SPL_CRC32. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-10-08hash: Use Kconfig to enable hashing in host tools and SPLSimon Glass
At present when building host tools, we force CONFIG_SHAxxx to be enabled regardless of the board Kconfig setting. This is done in the image.h header file. For SPL we currently just assume the algorithm is desired if U-Boot proper enables it. Clean this up by adding new Kconfig options to enable hashing on the host, relying on CONFIG_IS_ENABLED() to deal with the different builds. Add new SPL Kconfigs for hardware-accelerated hashing, to maintain the current settings. This allows us to drop the image.h code and the I_WANT_MD5 hack. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-10-08spl: cypto: Bring back SPL_ versions of SHASimon Glass
Unfortunately these were removed by mistake. This means that adding hash support to SPL brings in all software algorithms, with a substantial increase in code size. The origin of the problem was renaming them to SPL_FIT_xxx and then these were removed altogether in a later commit. Add them back. This aligns with CONFIG_MD5, for example, which has an SPL variant. Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: f5bc9c25f31 ("image: Rename SPL_SHAxxx_SUPPORT to SPL_FIT_SHAxxx") Fixes: eb5171ddec9 ("common: Remove unused CONFIG_FIT_SHAxxx selectors") Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-09-16Merge tag 'v2021.10-rc4' into nextTom Rini
Prepare v2021.10-rc4 Signed-off-by: Tom Rini <trini@konsulko.com> # gpg: Signature made Tue 14 Sep 2021 06:58:32 PM EDT # gpg: using RSA key 1A3C7F70E08FAB1707809BBF147C39FF9634B72C # gpg: Good signature from "Thomas Rini <trini@konsulko.com>" [ultimate] # Conflicts: # board/Arcturus/ucp1020/spl.c # cmd/mvebu/Kconfig # common/Kconfig.boot # common/image-fit.c # configs/UCP1020_defconfig # configs/sifive_unmatched_defconfig # drivers/pci/Kconfig # include/configs/UCP1020.h # include/configs/sifive-unmatched.h # lib/Makefile # scripts/config_whitelist.txt
2021-09-14lib: fix typos in KconfigOleksandr Suvorov
There are trivial typos in the Kconfig file. Fixed them. Also, fixed grammar in the descriptions with typos. Fixes: d56b4b1974 ("configs: Migrate RBTREE, LZO, CMD_MTDPARTS, CMD_UBI and CMD_UBIFS") Fixes: 7264f2928b ("spl: fit: Eanble GZIP support for image decompression") Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-09-08lib: Drop SHA512_ALGO in lieu of SHA512Alexandru Gagniuc
SHA512_ALGO was used as a "either SHA512 or SHA384", although the implementations of these two algorithms share a majority of code. From a Kconfig interface perspective, it makes sense to present two distinct options. This requires #ifdefing out the SHA512 implementation from sha512.c. The latter doesn't make any sense. It's reasonable to say in Kconfig that SHA384 depends on SHA512, and seems to be the more polite way to handle the selection. Thus, automatically select SHA512 when SHA384 is enabled. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-08-31Kconfig: Remove all default n/no optionsMichal Simek
default n/no doesn't need to be specified. It is default option anyway. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [trini: Rework FSP_USE_UPD portion] Signed-off-by: Tom Rini <trini@konsulko.com>
2021-08-16lib: ecdsa: Implement UCLASS_ECDSA verification on targetAlexandru Gagniuc
Implement the crypto_algo .verify() function for ecdsa256. Because it backends on UCLASS_ECDSA, this change is focused on parsing the keys from devicetree and passing this information to the specific UCLASS driver. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2021-08-01lib: disable CONFIG_SPL_HEXDUMP by defaultHeinrich Schuchardt
CONFIG_HEXDUMP is needed to display UEFI variables using 'printenv -e'. Enabling CONFIG_SPL_HEXDUMP only makes sense for debugging purposes. Hence CONFIG_SPL_HEXDUMP should not be enabled by default. The following boards currently have CONFIG_SPL_HEXDUMP=y. This includes boards that don't use SPL at all. axm_defconfig imx8mm-cl-iot-gate_defconfig imx8mm_venice_defconfig imxrt1020-evk_defconfig imxrt1050-evk_defconfig kontron_sl28_defconfig kp_imx53_defconfig lx2160ardb_tfa_stmm_defconfig mt7622_rfb_defconfig octeon_ebb7304_defconfig octeon_nic23_defconfig qemu_arm64_defconfig qemu_arm_defconfig qemu-riscv32_defconfig qemu-riscv32_smode_defconfig qemu-riscv64_defconfig qemu-riscv64_smode_defconfig qemu-x86_64_defconfig qemu-x86_defconfig sandbox64_defconfig sandbox_defconfig stm32mp15_basic_defconfig stm32mp15_trusted_defconfig synquacer_developerbox_defconfig taurus_defconfig xilinx_versal_virt_defconfig The patch only keeps it enabled on sandbox_spl_defconfig Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-07-28lib: Create a new Kconfig option for charset conversionSimon Glass
Rather than looking at two KConfig options in the Makefile, create a new Kconfig option for compiling lib/charset.c Enable it for UFS also, which needs this support. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-07-23lib: add crypt subsystemSteffen Jaeckel
Add the basic functionality required to support the standard crypt format. The files crypt-sha256.c and crypt-sha512.c originate from libxcrypt and their formatting is therefor retained. The integration is done via a crypt_compare() function in crypt.c. ``` libxcrypt $ git describe --long --always --all tags/v4.4.17-0-g6b110bc ``` Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heiko Schocher <hs@denx.de>
2021-06-11lib: rational: copy the rational fraction lib routines from LinuxTero Kristo
Copy the best rational approximation calculation routines from Linux. Typical usecase for these routines is to calculate the M/N divider values for PLLs to reach a specific clock rate. This is based on linux kernel commit: "lib/math/rational.c: fix possible incorrect result from rational fractions helper" (sha1: 323dd2c3ed0641f49e89b4e420f9eef5d3d5a881) Signed-off-by: Tero Kristo <t-kristo@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Tero Kristo <kristo@kernel.org>
2021-05-28Revert "lib: introduce HASH_CALCULATE option"Alexandru Gagniuc
When we think of Kconfig, we usually think of features that we like to enable or not. Ideally, we wouldn't use Kconfig to fix a build issue, although sometimes it might make sense. With Kconfig it's hard to guarantee that the fix is universal. We can only say that it works for the set of tested configurations. In the majority of cases, it's preferable to let the linker figure things out for us. The reverted commit attempted to fix a build issue by adding an invisible Kconfig option. This is wrong in several ways: It invents a new Kconfig variable when CONFIG_HASH already exists for the same purpose. Second, hash-checksum.c makes use of the hash_progressive_lookup_algo() symbol, which is only provided with CONFIG_HASH, but this dependency was not expressed in the reverted patch. It feels like Kconfig is turning into a listing of all available source files, and a buffet to 'select' which ones to compile. The purpose of this revert is to enable the next change to make use of CONFIG_HASH instead of adding to Kconfig. This reverts commit 87316da05f2fd49d3709275e64ef0c5980366ade. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Acked-by: Masahisa Kojima <masahisa.kojima@linaro.org>
2021-05-19lib: kconfig: Limit BINMAN_FDT for OF_SEPARATE or OF_EMBEDBin Meng
Generally speaking BINMAN_FDT makes sense for OF_SEPARATE or OF_EMBED. For the other OF_CONTROL methods, it's quite possible binman node is not available as binman is invoked during the build phase instead of runtime. Let's only turn it on for OF_SEPARATE or OF_EMBED by default. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-05-18lib: introduce HASH_CALCULATE optionMasahisa Kojima
Build error occurs when CONFIG_EFI_SECURE_BOOT or CONFIG_EFI_CAPSULE_AUTHENTICATE is enabled, because hash-checksum.c is not compiled. Since hash_calculate() implemented in hash-checksum.c can be commonly used aside from FIT image signature verification, this commit itroduces HASH_CALCULATE option to decide if hash-checksum.c shall be compiled. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-05-18hash: Kconfig option for SHA512 hardware accelerationHeinrich Schuchardt
Commit a479f103dc1c ("hash: Allow for SHA512 hardware implementations") defined function definitions for hardware accelerated SHA384 and SHA512. If CONFIG_SHA_HW_ACCEL=y, these functions are used. We already have boards using CONFIG_SHA_HW_ACCEL=y but none implements the new functions hw_sha384() and hw_sha512(). For implementing the EFI TCG2 protocol we need SHA384 and SHA512. The missing hardware acceleration functions lead to build errors on boards like peach-pi_defconfig. Introduce a new Kconfig symbol CONFIG_SHA512_HW_ACCEL to control if the functions hw_sha384() and hw_sha512() shall be used to implement the SHA384 and SHA512 algorithms. Fixes: a479f103dc1c ("hash: Allow for SHA512 hardware implementations") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-04-22lmb: Add 2 config to define the max number of regionsPatrick Delaunay
Add 2 configs CONFIG_LMB_MEMORY_REGIONS and CONFIG_LMB_RESERVED_REGIONS to change independently the max number of the regions in lmb library. When CONFIG_LMB_USE_MAX_REGIONS=y, move the lmb property arrays to struct lmb and manage the array size with the element 'max' of struct lmb_region; their are still allocated in stack. When CONFIG_LMB_USE_MAX_REGIONS=n, keep the current location in struct lmb_region to allow compiler optimization. Increase CONFIG_LMB_RESERVED_REGIONS is useful to avoid lmb errors in bootm when the number of reserved regions (not adjacent) is reached: + 1 region for relocated U-Boot + 1 region for initrd + 1 region for relocated linux device tree + reserved memory regions present in Linux device tree. The current limit of 8 regions is reached with only 5 reserved regions in DT. see Linux kernel commit bf23c51f1f49 ("memblock: Move memblock arrays to static storage in memblock.c and make their size a variable") Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2021-04-22lmb: move MAX_LMB_REGIONS value in KconfigPatrick Delaunay
Move MAX_LMB_REGIONS value in Kconfig, the max number of the regions in lmb library. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2021-04-22lmb: move CONFIG_LMB in KconfigPatrick Delaunay
Migrate CONFIG_LMB in Kconfig. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2021-04-12hash: Allow for SHA512 hardware implementationsJoel Stanley
Similar to support for SHA1 and SHA256, allow the use of hardware hashing engine by enabling the algorithm and setting CONFIG_SHA_HW_ACCEL / CONFIG_SHA_PROG_HW_ACCEL. Signed-off-by: Joel Stanley <joel@jms.id.au>
2021-03-27bloblist: Make BLOBLIST_TABLES depend on BLOBLISTSimon Glass
Add an extra condition here since we cannot put x86 tables in a bloblist when bloblists are not supported. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-03-05lib: kconfig: Mention CONFIG_ADDR_MAP limitation in the helpBin Meng
Mention that CONFIG_ADDR_MAP only works in the post-relocation phase. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2021-03-03lib: Fix BINMAN_FDT dependencyBin Meng
lib/binman.c references the following 3 ofnode APIs: ofnode_first_subnode(), ofnode_path() and ofnode_read_bool(). These APIs get built only when DM is on. Fix the dependency then. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-01-18Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscvTom Rini
- Update qemu-riscv.rst build instructions. - Add support for SPI on Kendryte K210. - Add Microchip PolarFire SoC Icicle Kit support. - Add support for an early timer. - Select TIMER_EARLY to avoid infinite recursion for Trace.
2021-01-18trace: select TIMER_EARLY to avoid infinite recursionPragnesh Patel
When tracing functions is enabled this adds calls to __cyg_profile_func_enter() and __cyg_profile_func_exit() to the traced functions. __cyg_profile_func_enter() and __cyg_profile_func_exit() invoke timer_get_us() to record the entry and exit time. initr_dm() will make gd->dm_root = NULL and gd->timer = NULL, so timer_get_us() -> get_ticks() -> dm_timer_init() will lead to an indefinite recursion. So select TIMER_EARLY when tracing got enabled. Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Rick Chen <rick@andestech.com>
2021-01-16lib: cosmetic update of CONFIG_LIB_ELF descriptionPatrick Delaunay
Change 2 typo error in CONFIG_LIB_ELF description: - Supoort => Support - fir => for Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-12-22fdt: Use phandle to distinguish DT nodes with same nameAswath Govindraju
While assigning the sequence number to subsystem instances by reading the aliases property, only DT nodes names are compared and not the complete path. This causes a problem when there are two DT nodes with same name but have different paths. In arch/arm/dts/k3-am65-main.dtsi there are two USB controllers with the same device tree node name but different path. When aliases are defined for these USB controllers then fdtdec_get_alias_seq() fails to pick the correct instance for a given index. fdt_path_offset() function is slow and this would effect the U-Boot startup. To avert the time penalty on all boards, apply this extra check only when required by using a config option. Fix it by comparing the phandles of DT nodes after the node names match, under a config option. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Fix whitespace error in Kconfig: Signed-off-by: Simon Glass <sjg@chromium.org>
2020-12-10fs: fat: create correct short namesHeinrich Schuchardt
The current function set_name() used to create short names has the following deficiencies resolved by this patch: * Long names (e.g. FOO.TXT) are stored even if a short name is enough. * Short names with spaces are created, e.g. "A ~1.TXT". * Short names with illegal characters are created, e.g. "FOO++BAR". * Debug output does not not consider that the short file name has no concluding '\0'. The solution for the following bug is split of into a separate patch: * Short file names must be unique. This patch only provides the loop over possible short file names. Fixes: c30a15e590c ("FAT: Add FAT write feature") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-11-06smbios: Drop the unused Kconfig optionsSimon Glass
Now that we can use devicetree to specify this information, drop the old CONFIG options. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-11-06sysinfo: Provide a default driver to set SMBIOS valuesSimon Glass
Some boards want to specify the manufacturer or product name but do not need to have their own sysinfo driver. Add a default driver which provides a way to specify this SMBIOS information in the devicetree, without needing any board-specific functionality. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-11-06x86: Allow putting some tables in the bloblistSimon Glass
At present all tables are placed starting at address f0000 in memory, and can be up to 64KB in size. If the tables are very large, this may not provide enough space. Also if the tables point to other tables (such as console log or a ramoops area) then we must allocate other memory anyway. The bloblist is a nice place to put these tables since it is contiguous, which makes it easy to reserve this memory for linux using the 820 tables. Add an option to put some of the tables in the bloblist. For SMBIOS and ACPI, create suitable pointers from the f0000 region to the new location of the tables. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: squashed in http://patchwork.ozlabs.org/project/uboot/patch/ 20201105062407.1.I8091ad931cbbb5e3b6f6ababdf3f8d5db0d17bb9@changeid/] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>