summaryrefslogtreecommitdiff
path: root/Kconfig
Commit message (Collapse)AuthorAgeFilesLines
* include: fdtdec: decouple fdt_addr_t and phys_addr_t sizeJohan Jonker2023-05-061-0/+8
| | | | | | | | | | | | | | The DT specification supports CPUs with both 32-bit and 64-bit addressing capabilities. In U-boot the fdt_addr_t and phys_addr_t size are coupled by a typedef. The MTD NAND drivers for 32-bit CPU's can describe partitions with a 64-bit reg property. These partitions synced from Linux end up with the wrong offset and sizes when only the lower 32-bit is passed. Decouple the fdt_addr_t and phys_addr_t size as they don't necessary match. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
* Kconfig: Remove an impossible conditionSamuel Holland2023-04-281-1/+1
| | | | | | | | | ARCH_SUNXI selects BINMAN, so the condition "!BINMAN && ARCH_SUNXI" is impossible to satisfy. Signed-off-by: Samuel Holland <samuel@sholland.org> Acked-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
* xen: Add dependency on armv8Michal Simek2023-04-251-0/+1
| | | | | | | | | U-Boot currently implements hypervisor calls only for ARM64 that's why add dependency on ARM64. The hardware functionality is also available on ARMv7a, but currently not supported by U-Boot, hence it is not added to the list of dependencies here. Signed-off-by: Michal Simek <michal.simek@amd.com>
* xen: Fix Kconfig dependenciesMichal Simek2023-04-251-0/+1
| | | | | | | | | | XEN config can be enabled by other platforms (even it doesn't need to make sense) that's why fix dependencies. XEN (xenbus.c) requires sscanf (also pvblock needs it). And PVBLOCK is inside drivers/xen folder which requires XEN to be enabled. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* ARM: rmobile: Add R-Car Generation 4 supportHai Pham2023-04-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This adds R-Car Generation 4 (Gen4) support as Renesas ARM64 SoC. In this version, reusing R-Car Gen3 lowlevel initialize routine [1] and R-Car Gen3 memory map tables [2] . [1] arch/arm/mach-rmobile/lowlevel_init_gen3.S [2] arch/arm/mach-rmobile/memmap-gen3.c Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Hai Pham <hai.pham.ud@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> [Marek: - Enable DTO support by default - Sort the Kconfig lists - Select RCAR_64 Kconfig option to pull in all the shared Kconfig options with Gen3, and use where applicable to deduplicate entries. - Fix reference [2] typo in commit message - Drop config options moved to Kconfig, rename rest to CFG_ accordingly to synchronize with upstream changes. Drop removed CONFIG_VERY_BIG_RAM. - Move board size limit to arch/Kconfig - Move GICR_BASE to headers instead of common config]
* api: move API related config options into submenuHeinrich Schuchardt2023-03-301-8/+0
| | | | | | | | | | Kconfig settings that are related to the API for standalone applications should be in the API sub-menu and not on the top level. CONFIG_STANDALONE_LOAD_ADDR is only relevant if standalone example applications are built. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* Kconfig: Sort the BUILD_TARGET listMarek Vasut2023-03-301-5/+5
| | | | | | | Sort the defaults list in BUILD_TARGET Kconfig option. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* Move DISTRO_DEFAULTS into boot/Simon Glass2023-03-271-27/+0
| | | | | | | This relates to booting so move it in to that Kconfig file, before changing it. Signed-off-by: Simon Glass <sjg@chromium.org>
* powerpc/mpc85xx: Set default CONFIG_BUILD_TARGETPali Rohár2023-01-101-0/+1
| | | | | | | | | | Final U-Boot binary for mpc85xx boards which use SPL and are not PBL-based based is u-boot-with-spl.bin. PBL is not used only on boards with e500v1 and e500v2 cores. Apparently CONFIG_E500 is set not only for e500 cores, but also for all other mpc85xx cores e500mc, e5500 and e5600. So do not use CONFIG_E500 and instead filter new cores with PBL based bootrom. Signed-off-by: Pali Rohár <pali@kernel.org>
* arm: mvebu: Fix default CONFIG_BUILD_TARGETPali Rohár2023-01-101-2/+2
| | | | | | | | | | | | | u-boot-with-spl.kwb is built only for SPL enabled 32-bit armada boards. u-boot.kwb is built for 32-bit armada and kirkwood boards but only for non-SPL targets. So replace CONFIG_ARCH_MVEBU by CONFIG_ARMADA_32BIT (it implies CONFIG_ARCH_MVEBU) for u-boot-with-spl.kwb. And add additional CONFIG_ARMADA_32BIT && !CONFIG_SPL for u-boot.kwb. Signed-off-by: Pali Rohár <pali@kernel.org>
* Merge tag 'v2023.01-rc4' into nextTom Rini2022-12-211-0/+1
|\ | | | | | | | | | | Prepare v2023.01-rc4 Signed-off-by: Tom Rini <trini@konsulko.com>
| * sunxi: define SYS_MONITOR_LEN in Kconfig, not _defconfigAndre Przywara2022-12-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Commit 08574ed339fb ("Convert CONFIG_SYS_MONITOR_LEN to Kconfig") moved the definition of said config variable from the common sunxi header to *every board's* defconfig. This is a platform choice, not board specific, so remove the variable from there, instead set the one value for all Allwinner boards in Kconfig. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
* | global: Move remaining CONFIG_SYS_* to CFG_SYS_*Tom Rini2022-12-051-3/+3
|/ | | | | | | | | | The rest of the unmigrated CONFIG symbols in the CONFIG_SYS namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Convert CONFIG_SYS_MONITOR_LEN to KconfigTom Rini2022-11-101-0/+11
| | | | | | | | | | | | | | | This converts the following to Kconfig: CONFIG_SYS_MONITOR_LEN To do this, we set a default of 0 for everyone because there are a number of cases where we define CONFIG_SYS_MONITOR_LEN but the only impact is that we set TOTAL_MALLOC_LEN to be CONFIG_SYS_MALLOC_LEN + CONFIG_ENV_SIZE, so we must continue to allow all boards to set this value. Update the SPL code to use 200 KB as the default raw U-Boot size directly, if we don't have a real CONFIG_SYS_MONITOR_LEN value. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Makefile: Rename u-boot-spl.kwb to u-boot-with-spl.kwbPali Rohár2022-11-071-1/+1
| | | | | | | | | | | | | | File name with pattern u-boot-spl* is used on all places except in kwb image for binary with SPL-only code. Combined binary with both SPL and proper U-Boot in other places has file name pattern u-boot-with-spl*. Make it consistent also for kwb image and rename u-boot-spl.kwb to u-boot-with-spl.kwb as this image contains both SPL and proper U-Boot code. Also update documentation about file name changes. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
* Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASESimon Glass2022-10-311-1/+1
| | | | | | | | | The current name is inconsistent with SPL which uses CONFIG_SPL_TEXT_BASE and this makes it imposible to use CONFIG_VAL(). Rename it to resolve this problem. Signed-off-by: Simon Glass <sjg@chromium.org>
* sunxi: Kconfig: introduce SUNXI_MINIMUM_DRAM_MBAndre Przywara2022-10-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Traditionally we assumed that every Allwinner board would come with at least 256 MB of DRAM, and set our DRAM layout accordingly. This affected both the default load addresses, but also U-Boot's own address expectations (like being loaded at 160 MB). Some SoCs come with co-packaged DRAM, but only provide 32 or 64MB. So far we special-cased those *chips*, as there was only one chip per DRAM size. However new chips force us to take a more general approach. Introduce a Kconfig symbol, which provides the minimum DRAM size of the board. If nothing else is specified, we use 256 MB, and default to smaller values for those co-packaged SoCs. Then select the different DRAM maps according to this new symbol, so that different SoCs with the same DRAM size can share those definitions. Inspired by an idea from Icenowy. This is just refactoring: compiled for all boards before and after this patch: the binaries were identical. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
* arm64: versal-net: Add support for Versal NET platformMichal Simek2022-09-261-1/+1
| | | | | | | | | | | | Versal NET platform is based on Versal chip which is reusing a lot of IPs. For more information about new IPs please take a look at DT which describe currently supported devices. The patch is adding architecture and board support with soc detection algorithm. Generic setting should be very similar to Versal but it will likely diverge in longer run. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/320206853dc370ce290a4e7b6d0bb26b05206021.1663589964.git.michal.simek@amd.com
* Kconfig: enlarge CONFIG_SYS_MALLOC_F_LENPeng Fan2022-09-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | "alloc space exhausted" happens in very early stage, which could be seen with DEBUG_UART options enabled and leeds to an non-functional board. kontron_pitx_imx8m: CONFIG_DEBUG_UART_BASE=0x30880000 # for serial3 CONFIG_DEBUG_UART_CLOCK=24000000 imx8mqevk: CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000 It is because CONFIG_SYS_MALLOC_F_LEN is too small and still leave CONFIG_SPL_SYS_MALLOC_F_LEN as 0x2000. Reported-by: Heiko Thiery <heiko.thiery@gmail.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Heiko Thiery <heiko.thiery@gmail.com> Tested-by: Heiko Thiery <heiko.thiery@gmail.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
* test: fuzz: Add framework for fuzzingAndrew Scull2022-06-231-0/+9
| | | | | | | | Add the basic infrastructure for declaring fuzz tests and a command to invoke them. Signed-off-by: Andrew Scull <ascull@google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* sandbox: Add support for Address SanitizerAndrew Scull2022-06-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Add CONFIG_ASAN to build with the Address Sanitizer. This only works with the sandbox so the config is likewise dependent. The resulting executable will have ASAN instrumentation, including the leak detector that can be disabled with the ASAN_OPTIONS environment variable: ASAN_OPTIONS=detect_leaks=0 ./u-boot Since u-boot uses its own dlmalloc, dynamic allocations aren't automatically instrumented, but stack variables and globals are. Instrumentation could be added to dlmalloc to poison and unpoison memory as it is allocated and deallocated, and to introduce redzones between allocations. Alternatively, the sandbox may be able to play games with the system allocator and somehow still keep the required memory abstraction. No effort to address dynamic allocation is made by this patch. The config is not yet enabled for any targets by default. Signed-off-by: Andrew Scull <ascull@google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.hTom Rini2022-06-061-0/+18
| | | | | | | | | | | | | | - Make all users of CUSTOM_SYS_INIT_SP_ADDR reference SYS_INIT_SP_ADDR - Introduce HAS_CUSTOM_SYS_INIT_SP_ADDR to allow for setting the stack pointer directly, otherwise we use the common calculation. - On some platforms that were using the standard calculation but did not set CONFIG_SYS_INIT_RAM_SIZE / CONFIG_SYS_INIT_RAM_ADDR, set them. - On a small number of platforms that were not subtracting GENERATED_GBL_DATA_SIZE do so now via the standard calculation. - CONFIG_SYS_INIT_SP_OFFSET is now widely unused, so remove it from most board config header files. Signed-off-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_SYS_BARGSIZE to KconfigTom Rini2022-06-061-0/+8
| | | | | | | This converts the following to Kconfig: CONFIG_SYS_BARGSIZE Signed-off-by: Tom Rini <trini@konsulko.com>
* valgrind: Disable on Risc-VSean Anderson2022-05-281-0/+1
| | | | | | | | | There are no defined instruction sequences in include/valgrind.h for Risc-V, so CONFIG_VALGRIND will do nothing on this arch (and possibly won't compile?). Update Kconfig accordingly. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* ls10xxx: Use a sane SPL_SYS_MALLOC_F_LEN defaultSean Anderson2022-05-051-3/+1
| | | | | | | | | | SPL_SYS_MALLOC_F_LEN defaults to SYS_MALLOC_F_LEN. 0x10000 is 64 KiB, or around half of the total OCRAM size. Revert to the default of 0x2000. This fixes SPL boot. Fixes: 545eceb520 ("imx8/ls10xx: Use a sane SYS_MALLOC_F_LEN default") Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
* vpl: Add Kconfig options for VPLSimon Glass2022-05-021-0/+10
| | | | | | Add VPL versions of commonly used Kconfig options. Signed-off-by: Simon Glass <sjg@chromium.org>
* SPL: Do not enable SPL_SYS_MALLOC_SIMPLE without SPL_FRAMEWORK by defaultPali Rohár2022-04-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On P2020 board is SPL malloc simple always failing with error and loops: SD boot... alloc space exhausted Bad trap at PC: f8f8b5f0, SR: 21200, vector=d00 NIP: 00000000 XER: 00000000 LR: 00000000 REGS: f8f8b5f0 TRAP: 20000000 DAR: 00000000 MSR: 00021200 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00 GPR00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR08: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR24: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Call backtrace: Exception in kernel pc f8f8b5f0 signal 0 Inspection showed that gd->malloc_limit is zero. And it is because generally SPL_FRAMEWORK initialize SPL's gd->malloc_limit. But when SPL_FRAMEWORK is not enabled then in most cases nobody initialize gd->malloc_limit and so SPL malloc simple does not work. So disable SPL_SYS_MALLOC_SIMPLE by default when SPL_FRAMEWORK is not enabled. SPL_SYS_MALLOC_SIMPLE can be disabled only by setting SPL_SYS_MALLOC_F_LEN to zero. So do it. This change fixes SPL error "alloc space exhausted" on P2020 board. Signed-off-by: Pali Rohár <pali@kernel.org>
* am33xx: Update SYS_MALLOC_F_LEN to use 0x2000 as the defaultTom Rini2022-04-201-1/+1
| | | | | | | A number of platforms here had already been increasing the size a bit, so lets moving all of them up. Signed-off-by: Tom Rini <trini@konsulko.com>
* Kconfig: Change SYS_MALLOC_F_LEN default to 0x2000Tom Rini2022-04-201-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The most commonly used value today is 0x2000 and not 0x400. Rework the Kconfig logic to use this more frequently used value as the default. Cc: Andrew F. Davis <afd@ti.com> Cc: Alex Nemirovsky <alex.nemirovsky@cortina-access.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Alison Wang <alison.wang@nxp.com> Cc: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com> Cc: Andes <uboot@andestech.com> Cc: Andre Przywara <andre.przywara@arm.com> Cc: Bharat Gooty <bharat.gooty@broadcom.com> Cc: David Lechner <david@lechnology.com> Cc: Dzmitry Sankouski <dsankouski@gmail.com> Cc: Enric Balletbo i Serra <eballetbo@gmail.com> Cc: Eugeniy Paltsev <paltsev@synopsys.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Gerald Kerma <dreagle@doukki.net> Cc: Gregory CLEMENT <gregory.clement@bootlin.com> Cc: Holger Brunck <holger.brunck@hitachienergy.com> Cc: Jaehoon Chung <jh80.chung@samsung.com> Cc: Jassi Brar <jaswinder.singh@linaro.org> Cc: Kristian Amlie <kristian.amlie@northern.tech> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Liviu Dudau <liviu.dudau@foss.arm.com> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Lukasz Majewski <lukma@denx.de> Cc: Marek Vasut <marex@denx.de> Cc: Masami Hiramatsu <masami.hiramatsu@linaro.org> Cc: Matthias Brugger <mbrugger@suse.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Michael Walle <michael@walle.cc> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Patrice Chotard <patrice.chotard@foss.st.com> Cc: Paul Burton <paul.burton@mips.com> Cc: Paul Kocialkowski <contact@paulk.fr> Cc: Priyanka Jain <priyanka.jain@nxp.com> Cc: Rajesh Bhagat <rajesh.bhagat@nxp.com> Cc: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Cc: Sergey Temerkhanov <s.temerkhanov@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefan Bosch <stefan_b@posteo.net> Cc: Stephan Gerhold <stephan@gerhold.net> Cc: Tetsuyuki Kobayashi <koba@kmckk.co.jp> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Thomas Fitzsimmons <fitzsim@fitzsim.org> Cc: Thomas Weber <weber@corscience.de> Cc: Tony Dinh <mibodhi@gmail.com> Cc: Trevor Woerner <twoerner@gmail.com> Cc: Vitaly Andrianov <vitalya@ti.com> Cc: Vladimir Zapolskiy <vz@mleia.com> Cc: liuhao <liuhao@phytium.com.cn> Cc: lixinde <lixinde@phytium.com.cn> Cc: shuyiqi <shuyiqi@phytium.com.cn> Cc: weichangzheng <weichangzheng@phytium.com.cn> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Thomas Chou <thomas@wytron.com.tw> Reviewed-by: Masami Hiramatsu <masami.hiramatsu@linaro.org> Reviewed-by: Tony Dinh <mibodhi@gmail.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Kristian Amlie <kristian.amlie@northern.tech>
* Convert CONFIG_SYS_MEM_TOP_HIDE to KconfigTom Rini2022-04-191-0/+11
| | | | | | | This converts the following to Kconfig: CONFIG_SYS_MEM_TOP_HIDE Signed-off-by: Tom Rini <trini@konsulko.com>
* sandbox: Increase default SYS_MALLOC_LENTom Rini2022-04-141-0/+1
| | | | | | | | | | | | | | | Increase the malloc pool on sandbox in order to avoid spurious errors such as: ___________________ test_ut[ut_dm_dm_test_video_comp_bmp32] ____________________ test/py/tests/test_ut.py:43: in test_ut assert output.endswith('Failures: 0') E AssertionError: assert False E + where False = <built-in method endswith of str object at 0x7f5de85efb20>('Failures: 0') E + where <built-in method endswith of str object at 0x7f5de85efb20> = 'Test: dm_test_video_comp_bmp32: video.c\r\r\nSDL renderer does not exist\r\r\ntest/dm/video.c:86, compress_frame_buff..._test_video_comp_bmp32(): 2024 == compress_frame_buffer(uts, dev): Expected 0x7e8 (2024), got 0x1 (1)\r\r\nFailures: 2'.endswith Cc: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
* Add valgrind headers to U-BootSean Anderson2022-04-111-0/+14
| | | | | | | | | | | | | | | | | | | | Valgrind uses magic code sequences to define an ABI that the client may use to request behavior from the host. In particular, this may be used to inform valgrind about custom allocators, such as the one used in U-Boot. This adds headers defining these sequences to U-Boot. It also adds a config option to disable emission of these sequences entirely, in the (likely) event that the user does not wish to use valgrind. Note that this option is called NVALGRIND upstream, but was renamed (and inverted) to CONFIG_VALGRIND. Aside from this and the conversion of a few instances of VALGRIND_DO_CLIENT_REQUEST_EXPR to STMT, these headers are unmodified. These headers were copied from valgrind 3.16.1-4 as distributed in Arch Linux. They are licensed with the bzip2 1.16 license. This appears to be a BSD license with some clauses from Zlib. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Kconfig: Fix SYS_MALLOC_F_LEN for i.MX8MQPeng Fan2022-04-111-3/+4
| | | | | | | | | i.MX8MQ use SYS_MALLOC_F_LEN 0x2000, not 0x10000. The OCRAM_S only has 32KB memory, use 0x10000 will make SPL not bootable. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
* Convert CONFIG_BOARD_SIZE_LIMIT to KconfigTom Rini2022-04-081-0/+17
| | | | | | | | | This converts the following to Kconfig: CONFIG_BOARD_SIZE_LIMIT To do this, introduce CONFIG_HAS_BOARD_SIZE_LIMIT. Signed-off-by: Tom Rini <trini@konsulko.com>
* imx8/ls10xx: Use a sane SYS_MALLOC_F_LEN defaultFabio Estevam2022-04-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | When adding new features to imx8m boards, such as DM clock support, the malloc area can be exhausted. To avoid such issue, provide a reasonable default for the SYS_MALLOC_F_LEN size. Quoting Tom Rini: "This seems to be an area where everyone is either: - Kicking the value up a bit for themselves - Having hard to figure out problems booting the platform because it's too small a value until they see someone else picked a larger value. So lets raise these a bit and get some acks, please." Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Fabio Estevam <festevam@denx.de> Tested-by: Adam Ford <aford173@gmail.com> #imx8mm-beacon, imx8mn-beacon Tested-by: Heiko Thiery <heiko.thiery@gmail.com>
* riscv: alloc space exhaustedHeinrich Schuchardt2022-04-061-1/+1
| | | | | | | | | | | | | | | | | | When trying to run qemu-riscv64_smode_defconfig with 32 harts booting fails. The debug UART shows a message alloc space exhausted 32 is the current maximum number of harts for machine virt in QEMU 7.0. Raise the default for SYS_MALLOC_F_LEN to 16 KiB. Move the setting to /Kconfig where we define SYS_MALLOC_F_LEN for other architectures too. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Rick Chen <rick@andestech.com>
* Add option to use -OgSean Anderson2022-03-251-0/+6
| | | | | | | | | | | | | | | | This adds support for using -Og when building U-Boot. According to the gcc man page: > -Og should be the optimization level of choice for the standard > edit-compile-debug cycle, offering a reasonable level of optimization > while maintaining fast compilation and a good debugging experience. This optimization level is roughly -O1 minus a few additional optimizations. It provides a noticably better debugging experience, with many fewer variables <optimized out>. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Split CONFIG_CC_OPTIMIZE_FOR_SIZE into two configsSean Anderson2022-03-251-3/+14
| | | | | | | | | This adds a separate CONFIG_CC_OPTIMIZE_FOR_SPEED option in a choice, in preparation for adding another optimization option. Also convert SH's makefile to use this new option. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Convert CONFIG_REMAKE_ELF to KconfigAlper Nebi Yasak2022-02-091-0/+7
| | | | | | | This converts the following to Kconfig: CONFIG_REMAKE_ELF Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
* configs: sunxi: Add support for Lichee Pi NanoIcenowy Zheng2022-02-041-3/+5
| | | | | | | | | | The Lichee Pi Nano is a board based on the F1C100s. Add defconfigs for it. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
* cmd: Add Kconfig option for multiprocessor cmdsAshok Reddy Soma2022-01-241-0/+6
| | | | | | | | Add Kconfig option(CONFIG_CMD_MP) to enable or disable multiprocessor commands. Compile cmd/mp.c based on CONFIG_CMD_MP. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* Create a new boot/ directorySimon Glass2021-11-111-0/+2
| | | | | | | | | | | | | | | | | | | Quite a lot of the code in common/relates to booting and images. Before adding more it seems like a good time to move the code into its own directory. Most files with 'boot' or 'image' in them are moved, except: - autoboot.c which relates to U-Boot automatically running a script - bootstage.c which relates to U-Boot timing Drop the removal of boot* files from the output directory, since this interfers with the symlinks created by tools and there does not appear to be any such file from my brief testing. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Artem Lapkin <email2tema@gmail.com> Tested-by: Artem Lapkin <email2tema@gmail.com>
* Kconfig: Remove all default n/no optionsMichal Simek2021-08-311-6/+0
| | | | | | | | 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>
* Convert CONFIG_SYS_MALLOC_LEN to KconfigTom Rini2021-08-311-2/+5
| | | | | | | | | This converts the following to Kconfig: CONFIG_SYS_MALLOC_LEN Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Rick Chen <rick@andestech.com>
* Convert CONFIG_SYS_LOAD_ADDR to KconfigTom Rini2021-08-311-0/+14
| | | | | | | Now that we have consistent usage, migrate this symbol to Kconfig. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Rick Chen <rick@andestech.com>
* x86: kconfig: Drop ROM_NEEDS_BLOBS and BUILD_ROMBin Meng2021-08-021-21/+0
| | | | | | | | These 2 options are no longer needed as now binman is used to build u-boot.rom. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* kconfig / kbuild: Re-sync with Linux 4.20Tom Rini2021-07-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Align Kconfig and Kbuild logic to Linux 4.20 release with minimal impact on files outside of this scope. Our previous Kconfig sync was done by commit 587e4a429698 ("kconfig / kbuild: Re-sync with Linux 4.19"). As part of this re-sync, a few related changes from previous Linux releases were found to have been missed and merged in, and are not in the following list. The imported Linux commits are: [From prior to v4.19] b1e0d8b70fa3 kbuild: Fix gcc -x syntax a4353898980c kconfig: add CC_IS_GCC and GCC_VERSION 469cb7376c06 kconfig: add CC_IS_CLANG and CLANG_VERSION [From v4.19 to v4.20] 487c7c7702ab kbuild: prefix Makefile.dtbinst path with $(srctree) unconditionally 0d91bf584fe5 kbuild: remove old check for CFLAGS use 25815cf5ffec kbuild: hide most of targets when running config or mixed targets 00d78ab2ba75 kbuild: remove dead code in cmd_files calculation in top Makefile 23066c3f4e21 Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8) 37c8a5fafa3b kbuild: consolidate Devicetree dtb build rules 80463f1b7bf9 kbuild: add --include-dir flag only for out-of-tree build 77ec0c20c7e0 kbuild: remove VERSION and PATCHLEVEL from $(objtree)/Makefile 74bc0c09b2da kbuild: remove user ID check in scripts/mkmakefile 4fd61277f662 kbuild: do not pass $(objtree) to scripts/mkmakefile 80d0dda3a4e5 kbuild: simplify command line creation in scripts/mkmakefile fb073a4b473e kbuild: add -Wno-pointer-sign flag unconditionally 9df3e7a7d7d6 kbuild: add -Wno-unused-but-set-variable flag unconditionally 69ea912fda74 kbuild: remove unneeded link_multi_deps 7d0ea2524202 kbuild: use 'else ifeq' for checksrc to improve readability 04c459d20448 kconfig: remove oldnoconfig target 0085b4191f3e kconfig: remove silentoldconfig target 3f80babd9ca4 kbuild: remove unused cc-fullversion variable 2cd3faf87d2d merge_config.sh: Allow to define config prefix 076f421da5d4 kbuild: replace cc-name test with CONFIG_CC_IS_CLANG 6bbe4385d035 kconfig: merge_config: avoid false positive matches from comment lines [From post v4.20] 885480b08469 Makefile: Move -Wno-unused-but-set-variable out of GCC only block There are a number of changes related to additional warnings as well as being able to drop cc-name entirely that have been omitted for now as additional work is required first. Cc: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Tom Rini <trini@konsulko.com>
* build: support building with Link Time OptimizationsMarek Behún2021-05-241-0/+24
| | | | | | | | | | | | | | | | Add plumbing for building U-Boot with Link Time Optimizations. When building with LTO, $(PLATFORM_LIBS) has to be in --whole-archive / --no-whole-archive group, otherwise some functions declared in assembly may not be resolved and linking may fail. Note: clang may throw away linker list symbols it thinks are unused when compiling with LTO. To force these symbols to be included, we refer to them via the __ADDRESSABLE macro in a C file generated from compiled built-in.o files before linking. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org>
* spl: Tidy up SPL/TPL malloc sizesSimon Glass2021-01-301-5/+8
| | | | | | | | | | | The current help talks about relocation which doesn't apply to SPL and TPL. Update it to avoid confusion. Also make the TPL size default to the same as the SPL size, since this is more likely to be a useful value than the one used by U-Boot proper, which may be quite a bit larger. Signed-off-by: Simon Glass <sjg@chromium.org>
* arm: actions: increase SYS_MALLOC_F_LENAmit Singh Tomar2020-11-091-1/+1
| | | | | | | | | | | | | | after commit 4ab3817ff16a ("clk: fixed-rate: Enable DM_FLAG_PRE_RELOC flag") Cubieboard7 (based on actions S700 SoC) fails to boot. It is due to the fact that the default value of CONFIG_SYS_MALLOC_F_LEN (0x400) would not provide enough memory for clock device to probe (before relocation) well. This commit fixes it, by increasing SYS_MALLOC_F_LEN to value 0x2000. Suggested-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>