aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2020-08-12Makefile: fix annoying sunxi hack messageFrank Wunderlich1-2/+2
every compilation shows this error Hack for sunxi which doesn't have a proper binman definition for 64-bit boards not only for sunxi-boards/arm64 fix this by changing to real comments Fixes: 9f55ee259d0c ("Makefile: sunxi: Don't use binman to build ATF image") Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2020-08-10Prepare v2020.10-rc2Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-08Makefile: sunxi: Don't use binman to build ATF imageSimon Glass1-0/+4
At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31. For now, work around this with a hack. Tested-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
2020-07-28Makefile: Warn against using CONFIG_SPL_FIT_GENERATORSimon Glass1-0/+9
This option is used to run arch-specific shell scripts which produce .its files which are used to produce FIT images. We already have binman which is designed to produce firmware images. It is more powerful and has tests. So this option should be deprecated and not used. Existing uses should be migrated. Mentions of this in code reviews over the last year or so do not seem to have resulted in action, and things are getting worse. So let's add a warning. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28Makefile: Allow CONFIG_SPL_FIT_GENERATOR to be emptySimon Glass1-1/+1
At present we use the empty string to indicate that there is no FIT generator, but this doesn't allow an individual board to undefine it. Create a separate bool instead. Update the config of the boards which currently have an empty string. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28Makefile: Fix a long line in cmd_mkfitimageSimon Glass1-1/+2
Fix this line which is over the limit. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28Makefile: Move CONFIG_TOOLS_DEBUG check to laterSimon Glass1-1/+3
At present this is checked before the config has been loaded by the Makefile, so it doesn't work. Move the check to later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28mediatek: Makefile: Drop explicit targets built by binmanSimon Glass1-8/+16
On mediatek various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Also update the binman definition so that idbloader.img is only needed when SPL is actually being used. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28tegra: Makefile: Drop explicit targets built by binmanSimon Glass1-12/+0
On tegra various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28sunxi: Makefile: Drop explicit targets built by binmanSimon Glass1-5/+2
On sunxi various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28x86: Drop CONFIG_BUILD_ROM and repurpose BUILD_ROMSimon Glass1-1/+2
This Kconfig is not needed anymore since U-Boot will build the ROM if the required binary blobs exist. The BUILD_ROM environment variable used to request that the ROM be built. Now this always happens if the required binary blobs are available. Update it to mean that U-Boot should fail if the ROM cannot be built. This behaviour should be compatible with how it used to work. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28x86: Makefile: Drop explicit targets built by binmanSimon Glass1-49/+14
On x86 various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. Update the Makefile to have a separate, final step which runs binman, once all input dependencies are present. This avoid sprinkling the Makefile with arch-specific code. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28Makefile: Rename ALL-y to INPUTS-ySimon Glass1-28/+32
When binman is in use, most of the targets built by the Makefile are inputs to binman. We then need a final rule to run binman to produce the final outputs. Rename the variable to indicate this, and add a new 'inputs' target. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28tegra: Drop the unused non-binman codeSimon Glass1-15/+1
This has been in the Makefile long enough to ensure migration is complete. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28Makefile: Allow building .rom files for non-x86 boardsSimon Glass1-0/+14
Some non-x86 devices can use SPI flash to boot and need to produce images of a fixed size to program the flash. Add a way to handle this for non-x86 boards. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28x86: Change how selection of ROMs worksSimon Glass1-5/+13
Most x86 boards build a u-boot.rom which is programmed into SPI flash. But this is not unique to x86. For example some rockchip boards can also boot from SPI flash. Also, at least on x86, binary blobs are sadly quite common. It is not possible to build a functional image without them, and U-Boot needs to know this at build time. Introduce a new CONFIG_HAS_ROM option which selects whether u-boot.rom is built and a new CONFIG_ROM_NEEDS_BLOBS option to indicate whether binary blobs are also needed. If they are not needed, it is safe to build the ROM always. Otherwise we still require the BUILD_ROM environment variable. For now this affects only x86, but future patches will enable this for rockchip too. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-27Prepare v2020.10-rc1v2020.10-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-17Makefile: Silence relocate-rela callJan Kiszka1-6/+8
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2020-07-06Merge branch 'next'Tom Rini1-2/+11
Merge all outstanding changes from the current next branch in now that we have released.
2020-07-06Prepare v2020.07v2020.07Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-01Don't start ad-hoc games with -Wno-maybe-initializedTom Rini1-0/+3
Borrowing from Linux commit 78a5255ffb6a ("Stop the ad-hoc games with -Wno-maybe-initialized") move to have maybe-initialized warnings be handled with building with W=2 instead of playing more guessing games with newer compilers. Signed-off-by: Tom Rini <trini@konsulko.com>
2020-06-30Merge tag 'mips-pull-2020-06-29' of ↵Tom Rini1-0/+6
https://gitlab.denx.de/u-boot/custodians/u-boot-mips into next - net: pcnet: cleanup and add DM support - Makefile: add rule to build an endian-swapped U-Boot image used by MIPS Malta EL variants - CI: add Qemu tests for MIPS Malta
2020-06-30Makefile: allow dm_mmc without of_controlMarcel Ziswiler1-1/+1
Allow for CONFIG_DM_MMC with platform data rather than CONFIG_OF_CONTROL. Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
2020-06-29Makefile: add rule to generate u-boot-swap.binDaniel Schwierzeck1-0/+6
This rule generates an u-boot binary file where the byte endianness is swapped. This will be used by the MIPS Malta Little-Endian variants to be able to boot with Qemu. The Qemu Malta Machine expects the firmware in Big-Endian order. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-06-26nxp: Finish switch to CONFIG_NXP_ESBCTom Rini1-1/+1
There are two remaining users of the CONFIG_SECURE_BOOT symbol that have not been migrated to another symbol. In this case, they should be using CONFIG_NXP_ESBC as their guard. Cc: Vladimir Oltean <olteanv@gmail.com> Fixes: 5536c3c9d0d1 ("freescale/layerscape: Rename the config CONFIG_SECURE_BOOT name") Signed-off-by: Tom Rini <trini@konsulko.com>
2020-06-22Prepare v2020.07-rc5v2020.07-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-06-08Prepare v2020.07-rc4v2020.07-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-06-07Makefile: Drop to handle rkspi image typeJagan Teki1-9/+2
On rockchip platforms, SPI boot image creation is not straightforward like MMC boot image creation where former requires to specify tpl, spl in multimage format in mkimage, and later simply do a concatenate mkimaged-tpl with spl. On this note, let drop rkspi image type creation via kbuild and let inform via rockchip.rst Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-05-25Prepare v2020.07-rc3v2020.07-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-05-15Makefile: add file 'defconfig' to clean targetHeinrich Schuchardt1-1/+1
File 'defconfig' is a build artifact of 'make savedefconfig'. Remove it when cleaning. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-05-15rename symbol: CONFIG_TEGRA -> CONFIG_ARCH_TEGRATrevor Woerner1-2/+2
Have this symbol follow the pattern of all other such symbols. Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2020-05-15Makefile: remove m68k GCC 3.4 workaroundMasahiro Yamada1-7/+0
This code dates back to 2006, commit 483a0cf804df ("Fixes for gcc 3.4 based m68k toolchain,"). GCC 3.4 is so old. We do not support it. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-05-11Prepare v2020.07-rc2v2020.07-rc2Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-05-04x86: Allow building an SPL image for corebootSimon Glass1-0/+6
Coreboot runs in 32-bit mode and cannot run a 64-bit U-Boot. To get around this we can build a combined image with 32-bit SPL and 64-bit U-Boot. Add a build rule and binman definition for this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
2020-04-28Prepare v2020.07-rc1v2020.07-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-04-28Merge tag 'dm-pull-27apr20' of git://git.denx.de/u-boot-dmTom Rini1-1/+5
Move Python tools to use absolute paths Minor buildman fixes for new features Make libfdt code more similar to upsteam
2020-04-27Merge branch '2020-04-27-master-imports'Tom Rini1-1/+3
- Assorted bugfixes. - Documentation improvements including support for https://u-boot.readthedocs.io/
2020-04-27Makefile: copy SPL_FIT_SOURCE in build directoryPatrick Delaunay1-1/+3
Copy the .its source file selected by CONFIG_SPL_FIT_SOURCE in builddir and in a file named "u-boot.its". This patch avoid compilation issue when CONFIG_SPL_FIT_SOURCE is used and KBUILD_OUTPUT is defined, in buildman for example. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Tested-by: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de>
2020-04-27Makefile: add support to generate LZMA compressed u-boot imageWeijie Gao1-0/+13
This patch adds support for generating LZMA compressed u-boot image. The compressed image can be used for SPL to reduce the size of the u-boot binary. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-26Add a 'make tcheck' option to test toolsSimon Glass1-1/+5
Running all the unit tests takes a while and is not useful when you are just modifying the tools. Add an option to run only the tools tests. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-04-24kbuild: cherry-pick kbuild changes from LinuxMasahiro Yamada1-2/+1
b42841b7bb62 kbuild: Get rid of KBUILD_STR 2aedcd098a94 kbuild: suppress annoying "... is up to date." message 9c8fa9bc08f6 kbuild: fix if_change and friends to consider argument order ebf003f0cfb3 kbuild: Consolidate header generation from ASM offset information 2982c953570b kbuild: remove redundant $(wildcard ...) for cmd_files calculation 8a78756eb545 kbuild: create object directories simpler and faster 4d4b5c2e3b6e treewide: remove explicit rules for *offsets.s 01d509a48b46 kbuild: remove unimportant comments from ./Kbuild Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-04-24Makefile: ARMv7-M has no CPSR registerHeinrich Schuchardt1-7/+9
Compiling on ARMv7-M fails when trying to address the CPSR register which is not available on this architecture. Atomic functions refer to the CPSR register if compiled with arch/arm/include/asm/proc-armv/system.h. On ARMv7-M we should hence use arch/arm/thumb1/include/asm/proc-armv/system.h instead. Cf. https://stackoverflow.com/questions/61097841/error-selected-processor-does-not-support-requested-special-purpose-register Reported-by: Sicris Rey Embay <sicris.embay@gmail.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-04-13Merge branch 'next'Tom Rini1-17/+74
Pull in changes that have been pending in our 'next' branch. This includes: - A large number of CI improvements including moving to gcc-9.2 for all platforms. - amlogic, xilinx, stm32, TI SoC updates - USB and i2c subsystem updtaes - Re-sync Kbuild/etc logic with v4.19 of the Linux kernel. - RSA key handling improvements
2020-04-13Prepare v2020.04v2020.04Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-04-10kconfig / kbuild: Re-sync with Linux 4.19Tom Rini1-14/+52
Align Kconfig and Kbuild logic to Linux 4.19 release with minimal impact on files outside of this scope. Our previous Kconfig sync was done by commit 5972ff077e0f ("kconfig / kbuild: re-sync with Linux 4.18"). In this particular re-sync in order to keep clang support working a number of related changes needed to be pulled in that had been missed previously. Not all of these changes we easily traceable and so have been omitted from the list below. The imported Linux commits are: [From prior to v4.18] 9f3f1fd29976 kbuild: Add __cc-option macro d7f14c66c273 kbuild: Enable Large File Support for hostprogs 6d79a7b424a5 kbuild: suppress warnings from 'getconf LFS_*' 24403874316a Shared library support 86a9df597cdd kbuild: fix linker feature test macros when cross compiling with Clang 0294e6f4a000 kbuild: simplify ld-option implementation [From v4.18 to v4.19] 96f14fe738b6 kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS 10844aebf448 kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS b90a368000ab kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS 8377bd2b9ee1 kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS f92d19e0ef9b kbuild: Use HOST*FLAGS options from the command line 4ab3b80159d4 kconfig: check for pkg-config on make {menu,n,g,x}config 693359f7ac90 kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE f60b992e30ff kbuild: replace $(LDFLAGS) $(ldflags-y) with $(ld_flags) 2fb9279f2c3e kbuild: change ld_flags to contain LDFLAGS_$(@F) c931d34ea085 arm64: build with baremetal linker target instead of Linux when available 5accd7f3360e kconfig: handle format string before calling conf_message_callback() a2ff4040151a kconfig: rename file_write_dep and move it to confdata.c 0608182ad542 kconfig: split out useful helpers in confdata.c adc18acf42a1 kconfig: remove unneeded directory generation from local*config 79123b1389cc kconfig: create directories needed for syncconfig by itself 16952b77d8b5 kconfig: make syncconfig update .config regardless of sym_change_count d6c6ab93e17f kbuild: remove deprecated host-progs variable 56869d45e364 kconfig: fix the rule of mainmenu_stmt symbol c151272d1687 kconfig: remove unused sym_get_env_prop() function 1880861226c1 kconfig: remove P_ENV property type e3fd9b5384f3 scripts/dtc: consolidate include path options in Makefile 4bf6a9af0e91 kconfig: add build-only configurator targets f1575595d156 kconfig: error out when seeing recursive dependency 5e8c5299d315 kconfig: report recursive dependency involving 'imply' f498926c47aa kconfig: improve the recursive dependency report 98a4afbfafd2 kconfig: fix "Can't open ..." in parallel build 9a9ddcf47831 kconfig: suppress "configuration written to .config" for syncconfig 87a32e624037 kbuild: pass LDFLAGS to recordmcount.pl d503ac531a52 kbuild: rename LDFLAGS to KBUILD_LDFLAGS 217c3e019675 disable stringop truncation warnings for now bc8d2e20a3eb kconfig: remove a spurious self-assignment fd65465b7016 kconfig: do not require pkg-config on make {menu,n}config 5a4630aadb9a ftrace: Build with CPPFLAGS to get -Qunused-arguments Note that this adds new cleanup work to do in that we should adapt the shared library support we have to what is now upstream. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>
2020-04-07Merge tag 'xilinx-for-v2020.07' of ↵Tom Rini1-8/+19
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze into next Xilinx changes for v2020.07 common: - Align ENV_FAT_INTERFACE - Fix MAC address source print log - Improve based autodetection code xilinx: - Enable netconsole Microblaze: - Setup default ENV_OFFSET/ENV_SECT_SIZE Zynq: - Multiple DT updates/fixes - Use DEVICE_TREE environment variable for DTB selection - Switch to single zynq configuration - Enable NOR flash via DM - Minor SPL print removal - Enable i2c mux driver ZynqMP: - Print multiboot register - Enable cache commands in mini mtest - Multiple DT updates/fixes - Fix firmware probing when driver is not enabled - Specify 3rd backup RAM boot mode in SPL - Add SPL support for zcu102 v1.1 and zcu111 revA - Redesign debug uart enabling and psu_init delay - Enable full u-boot run from EL3 - Enable u-boot.itb generation without ATF with U-Boot in EL3 Versal: - Enable distro default - Enable others SPI flashes - Enable systems without DDR Drivers: - Gem: - Flush memory after freeing - Handle mdio bus separately - Watchdog: - Get rid of unused global data pointer - Enable window watchdog timer - Serial: - Change reinitialization logic in zynq serial driver Signed-off-by: Tom Rini <trini@konsulko.com>
2020-04-06Prepare v2020.04-rc5v2020.04-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-04-06Makefile: Add environment variable DEVICE_TREE to headerMichal Simek1-1/+13
Users have option to overwrite default device tree (CONFIG_DEFAULT_DEVICE_TREE) via environment variable DEVICE_TREE. Feature has been added long time ago by commit 74de8c9a1672 ("dts/Makefile: Build the user specified dts") for a little bit different reason. But this variable can be also used for different purpose like choosing proper configuration from FIT image in SPL. And this is the functionality I would like to use on Xilinx Zynq devices that current u-boot.img can be composed in the same way based on OF_LIST and different configuration is taken based on platform specific SPL. SPL requires low level ps7_init_gpl configuration that's why different boards require different SPL with fixed board_fit_config_name_match(). Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-03arch: Add explicit linker script for u-boot-elfMichal Simek1-6/+5
Commit f4dc714aaa2d ("arm64: Turn u-boot.bin back into an ELF file after relocate-rela") introduce REMAKE_ELF option to recreate u-boot.elf from u-boot -> u-boot.bin + DT -> u-boot.elf. The best is to ilustrate it from make V=1 output cat u-boot-nodtb.bin dts/dt.dtb > u-boot-dtb.bin cp u-boot-dtb.bin u-boot.bin aarch64-linux-gnu-objcopy -I binary -B aarch64 -O elf64-littleaarch64 u-boot.bin u-boot-elf.o aarch64-linux-gnu-ld.bfd u-boot-elf.o -o u-boot.elf --defsym="_start"=0x8000000 -Ttext=0x8000000 Last command has no explicit linker script passed that's why toolchain internal linker script is used. In Binutils 2.32 case it contains SIZEOF_HEADERS symbol which has changed behavior by commit https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=64029e93683a266c38d19789e780f3748bd6a188 which result in situation that program headers has changed from (xilinx_zynqmp_mini_defconfig) Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000010000 0x00000000fffc0000 0x00000000fffc0000 0x0000000000018918 0x0000000000018918 RW 0x10000 to Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000000000 0x00000000fffb0000 0x00000000fffb0000 0x0000000000028918 0x0000000000028918 RW 0x10000 Xilinx tools like XSDB or Bootgen are using program headers for loading ELF to the right location and by above binutils change ELF is loaded to incorrect location. The patch is explicitly use u-boot-elf.lds (just cat now) for u-boot.elf recreation which is called when REMAKE_ELF is setup. By purpose u-boot-elf.lds doesn't contain OUTPUT_FORMAT/OUTPUT_ARCH to be able to use by all archs. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Tested-By: Álvaro Fernández Rojas <noltari@gmail.com>
2020-03-31Merge branch 'next' of git://git.denx.de/u-boot-usb into nextTom Rini1-2/+2