summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2020-04-26MLK-23110-1 usb: Decouple the CI_UDC DM gadget driver with EHCI MX6 driverYe Li
On 2019.04 SPL, we enabled DM gadget driver for QM/QXP to support dual USB ports. The CI_UDC DM gadget driver will call init function inside EHCI mx6 driver, so when building SPL on iMX8QM/QXP with CI UDC enabled, we have to enable usb host driver as well, and this introduces about more than 40KB size to SPL. Move the common codes to a independent file, so that both host driver and gadget driver can call it, then decouple the host and gadget driver. Note: the patch only applies to ci_udc gadget DM driver. For non-DM gadget driver, it still depends ehci host interfaces. Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 1afed171a77b4c95cd4ea76f29d5a0a6bb199820)
2020-04-23MLK-23574-13 usb: gadget: Add the cadence USB3 gadget driverSherry Sun
This driver is ported from NXP i.MX U-Boot version imx_v2019.04 and some changes have also been made to adapt to U-Boot. Add the Cadence USB3 IP(CDNS3) driver for the gadget (device mode). The CDNS3 gadget driver support DM mode. CONFIG_DM_USB_GADGET should be enabled when use this driver. Signed-off-by: Sherry Sun <sherry.sun@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com>
2020-04-23MLK-23574-11 usb: cdns3: remove upstream cadence USB3 driverYe Li
Upstream version is an initial version, it can't be used directly. We will use downstream version instead. Signed-off-by: Ye Li <ye.li@nxp.com>
2020-04-13Prepare v2020.04Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-04-06Prepare v2020.04-rc5Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-04-03arch: Add explicit linker script for u-boot-elfMichal Simek
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-30Prepare v2020.04-rc4Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-03-13Makefile: doesn't need check stack size when dtb is not builtAKASHI Takahiro
The commit 5fed97af20da ("Makefile: ensure DTB doesn't overflow into initial stack") adds an extra check for stack size in BSS if CONFIG_SYS_INIT_SP_BSS_OFFSET is enabled. This check, however, doesn't make sense under the configuration where control dtb won't be built in and it should be void in such cases. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Fixes: 5fed97af20da ("Makefile: ensure DTB doesn't overflow into initial stack") Reviewed-by: Stephen Warren <swarren@nvidia.com>
2020-03-06Makefile: fix processing of default environment fileSamuel Mescoff
Allow the default environment file to contain long lines split into multiples lines. Leading white spaces can be added for readability as well. Signed-off-by: Samuel Mescoff <samuel@mescoff.fr> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2020-02-26Prepare v2020.04-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-02-12Prepare v2020.04-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-02-01Merge tag 'u-boot-rockchip-20200130' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip - Support redundant boot for rk3399 - Support binman for rockchip platform - Update ram driver and add ddr4 support for rk3328
2020-01-30Makefile: Fix the location of the migration fileFabio Estevam
Since commit e1910d93b890 ("doc: driver-model: Convert MIGRATION.txt to reST") MIGRATION.txt has been converted to migration.rst, so update the Makefile references accordingly. Fixes: e1910d93b890 ("doc: driver-model: Convert MIGRATION.txt to reST") Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2020-01-30rockchip: Add Single boot image (with binman, pad_cat)Jagan Teki
All rockchip platforms support TPL or SPL-based bootloader in mainline with U-Boot proper as final stage. For each stage we need to burn the image on to flash with respective offsets. This patch creates a single boot image component using - binman, for arm32 rockchip platforms - pad_cat, for arm64 rockchip platforms. This would help users to get rid of burning different boot stage images. The new image called 'u-boot-rockchip.bin' which can burn into flash like: ₹ sudo dd if=u-boot-rockchip.bin of=/dev/sda seek=64 This would support all rockchip platforms, except rk3128 since it doesn't support for SPL yet. Cc: Matwey V. Kornilov <matwey.kornilov@gmail.com> Cc: Wadim Egorov <w.egorov@phytec.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-01-30Makefile: rockchip: Support SPL-alone mkimageJagan Teki
Add SPL-alone mkimage tooling support via Makefile for few platforms or boards used in rockchip family. With this users would get rid of explicitly creating mkimage tool for rockchip rksd or rkspi boot modes. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-01-30Makefile: rockchip: Suffix platform type with tpl nameJagan Teki
Most of the platforms uses the platform type on their boot stage image naming conventions in makefile like, u-boot-x86-start16-tpl.bin - x86 start16 TPL bin u-boot-spl-mtk.bin - Mediatek SPL bin This would help to understand the users to what that particular image belongs to? and less confused. On that note, suffix platform type rockchip for existing u-boot-tpl.img so now it become u-boot-tpl-rockchip.bin Also, bin is more conventional way to include it on tools like binman, pad_cat etc in future patches. Note: usage of platform type doesn't follow consistent order as of now. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-01-30Makefile: Add rockchip image typeJagan Teki
Add rockchip image type support. right now the image type marked with rksd, So create image type variable with required image type like rksd or rkspi. Cc: Matwey V. Kornilov <matwey.kornilov@gmail.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-01-28Prepare v2020.04-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-01-23Makefile: Let mrproper remove flash.bin and flash.logFabio Estevam
In order to generate a bootable U-Boot binary for i.MX8QXP MEK we need to run: $ make imx8qxp_mek_defconfig $ make flash.bin The resultant flash.bin and flash.log are not removed after running 'make mrproper'. Include these files into the CLEAN_FILES list entry so that they can be properly deleted after 'make mrproper'. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2020-01-17common: Drop CONFIG_HAS_POSTSimon Glass
This only exists to control whether the post/ directory is build. It is just as easy to check this in the Makefile. Remove CONFIG_HAS_POST and use an ifdef in the Makefile instead. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-01-10gcc-9: silence 'address-of-packed-member' warningAndy Shevchenko
GCC 9.x starts complaining about potential misalignment of the pointer to the array (in this case alignment=2) in the packed (alignment=1) structures. Repeating Linus' Torvalds commit 6f303d60534c in the Linux kernel. Original commit message: We already did this for clang, but now gcc has that warning too. Yes, yes, the address may be unaligned. And that's kind of the point. This in particular hides the warnings like drivers/usb/gadget/composite.c:545:23: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member] 545 | collect_langs(sp, s->wData); drivers/usb/gadget/composite.c:550:24: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member] 550 | collect_langs(sp, s->wData); drivers/usb/gadget/composite.c:555:25: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member] 555 | collect_langs(sp, s->wData); Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2020-01-08Makefile: Fix CONFIG_SYS_UBOOT_START default valuePatrice Chotard
This patches restores boot on boards which rely on CONFIG_SYS_UBOOT_START equal to CONFIG_SYS_TEXT_BASE when using SPL Fixes: d3e97b53c1f2 ("spl: fix entry_point equal to load_addr") Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-01-07dts: Add support for adding DT overlays in u-boot.imgJean-Jacques Hiblot
If u-boot.img is a FIT image, CONFIG_OF_OVERLAY_LIST can be used to add DT overlays to u-boot.img. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-01-06Prepare v2020.01Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-12-16Prepare v2020.01-rc5Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-12-06Makefile: Ensure tools directory exists in output prior to useTom Rini
With the change to make tools/version.h a file we need to make sure that the output directory exists first otherwise we will get a build failure. Reported-by: Peter Robinson <pbrobinson@gmail.com> Tested-by: Peter Robinson <pbrobinson@gmail.com> Fixes: 4d90f6cd9813 ("tools: Avoid creating symbolic links for tools/version.h") Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-12-06Makefile: add build script for asn1 parsersAKASHI Takahiro
This rule will be used to build x509 and pkcs7 parsers. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
2019-12-04mtd: Makefile: deep cleanupMiquel Raynal
Move MTD-related lines out of the root Makefile. Put them in their respective directories. Enclose some of these new lines to skip them when building the SPL. MTD core files and some MTD device drivers are compiled in a mtd.o object and included in the final object only if MTD support is required (there are two different symbols for that, one for U-Boot and one for the SPL). Now that all defconfigs have been fixed, we can stop the logic where enabling a command selects the core files to compile. This logic is broken since selecting a symbol with a 'depends on' will not enforce this secondary dependency. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2019-12-03cosmetic: Fix spelling and whitespace errorsThomas Hebb
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
2019-12-03Makefile: add Rockchip idbloader.img to CLEAN_FILESThomas Hebb
This file is generated in the root during Rockchip builds and so should be cleaned up. Signed-off-by: Thomas Hebb <tommyhebb@gmail.com> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2019-12-03Makefile: consolidate hardcoded lists of files to cleanThomas Hebb
Currently, we have two places where we list files that should always be cleaned if they exist. One, the CLEAN_FILES variable, is from the Linux build system and is the proper place to list files. The other, a set of extra arguments passed in the xargs template used to remove files with certain extensions, was introduced by 8f06f0cee3d3 ("Makefile: clean image.map") and is clearly wrong: by extending the xargs template, we attempt to remove the files once for each batch of arguments that xargs produces and we reduce the number of files from stdin that xargs can include in each of its rm commands. To fix this, put all hardcoded files into CLEAN_FILES. Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
2019-12-03Makefile: don't try to construct CLEAN_FILES based on configThomas Hebb
All of the clean targets (clean, dist-clean, mrproper) are run without loading a configuration. That means that any conditional modification of CLEAN_FILES will either always apply or never apply and so shouldn't be in a conditional in the first place. Since CLEAN_FILES is allowed to list nonexistent files, just add everything to it unconditionally to fix the issue. Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
2019-12-02Prepare v2020.01-rc4Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-11-25ARM: socfpga: Introduce u-boot-with-nand-spl.sfp targetMarek Vasut
The NAND devices with 128 kiB erase blocks require extra 64 kiB padding between each SPL image. Generate U-Boot image with such a padding using this new target. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Chin Liang See <chin.liang.see@intel.com> Cc: Dalon Westergreen <dwesterg@gmail.com> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Ley Foon Tan <ley.foon.tan@intel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Cc: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
2019-11-18Prepare v2020.01-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-11-17Merge tag 'dm-pull-14nov19' of git://git.denx.de/u-boot-dmTom Rini
Add OP-TEE test swuit Fix patman cc_file output Minor sandbox/pinctrl changes
2019-11-14tests: add OP-TEE test suiteHeiko Stuebner
OP-TEE can get supplied with a devicetree and will then insert its firmware node and reserved-memory sections into it. As this devicetree often is not the one supplied to a later loaded kernel, a previous commit added functionality to transfer these nodes onto that new devicetree. To make sure this functionality stays intact, also add a test for the transfer functionality. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-11-12efi_loader: support building UEFI binaries on sandboxHeinrich Schuchardt
On the sandbox the UEFI binaries must match the host architectures. Adjust the Makefiles. Provide the PE/COFF header and relocation files. Allow building helloworld.efi on the sandbox. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-11-11Prepare v2020.01-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-11-07usb: Add Cadence USB3 host and gadget driverVignesh Raghavendra
Add support for USB3 host and gadget driver. This is a direct sync of Linux kernel Cadence USB stack that from v5.4-rc1 release. Driver has been modified so that it compiles without errors against U-Boot code base. Features not required for U-Boot such as scatter-gather DMA and OTG interrupt handling has been dropped. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> [jjhiblot@ti.com: Add PHY support] Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2019-11-06Makefile: fix dependency for imx targetsHeiko Schocher
imx targets are defined in arch/arm/mach-imx/Makefile. Some of them are dependent on targets defined in main Makefile. For the Makefile in arch/arm/mach-imx this targets must be finished before the imx targets are build, if not you get for example the error: make -f /home/hs/abb/mainlining/u-boot/scripts/Makefile.build obj=arch/arm/mach-imx u-boot-dtb.imx make[2]: *** No rule to make target 'u-boot-fit-dtb.bin', needed by 'u-boot-dtb.imx'. Stop. make[1]: *** [/home/hs/abb/mainlining/u-boot/Makefile:1123: u-boot-dtb.imx] Error 2 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/work/hs/compile/u-boot/aristainetos2_defconfig' make: *** [Makefile:148: sub-make] Error 2 compile failed In above case of CONFIG_MULTI_DTB_FIT is defined, the u-boot-dtb.imx is dependent on the u-boot-fit-dtb.bin which may is not build yet ... I could reproduce this error on a travis build also if I build an out-of-tree build on a local machine with a build directory on a "slow" slow storage device. If building the same source target with a build dir on a fast storage device, the build works. I found no solution to tell the arch/arm/mach-imx/Makefile to find the targets in main Makefile, if there is a way this would be the better fix. I solved it by adding a IMX_DEPS var, which holds a list of main u-boot targets, which must be finished, before calling imx targets and fixed the build for imx targets which enabled CONFIG_MULTI_DTB_FIT. I think it is just luck, that imx targets with CONFIG_OF_SEPARATE enabled build, because the u-boot-dtb.imx target depends on u-boot-dtb.bin which gets build early enough before starting with u-boot-dtb.imx. May this targets should be fixed too. Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2019-11-03spl: Add a size check for TPLSimon Glass
We have the ability to enforce a maximum size for SPL but not yet for TPL. Add a new option for this. Document the size check macro while we are here. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-30Makefile: Fix printing problem in size_check on overflowTom Rini
When we have an excess size growth, fix the "limit" printf call to pass in just the limit variable rather than the string bytes to the format character. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2019-10-30Prepare v2020.01-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-10-29arm: mvebu: Avoid generating kwbimage.cfg in the source treeBin Meng
At present some boards generate kwbimage.cfg in the source tree during the build. This breaks buildman testing on some systems where the source tree is read-only. Update makefile rules to generate it in the build tree instead. Note some other boards have the kwbimage.cfg file written in advance, hence we need check if the file exists in the build tree first, otherwise we fall back to one in the source tree. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-10-28tools: Avoid creating symbolic links for tools/version.hBin Meng
When building U-Boot host tools for Windows from Microsoft Azure Pipelines, the following errors were seen: HOSTCC tools/mkenvimage.o In file included from tools/mkenvimage.c:25: ./tools/version.h:1:1: error: expected identifier or ‘(’ before ‘.’ token 1 | ../include/version.h | ^ tools/mkenvimage.c: In function ‘main’: tools/mkenvimage.c:117:4: warning: implicit declaration of function ‘usage’ [-Wimplicit-function-declaration] 117 | usage(prg); | ^~~~~ tools/mkenvimage.c:120:35: error: ‘PLAIN_VERSION’ undeclared (first use in this function) 120 | printf("%s version %s\n", prg, PLAIN_VERSION); | ^~~~~~~~~~~~~ tools/mkenvimage.c:120:35: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [scripts/Makefile.host:114: tools/mkenvimage.o] Error 1 It turns out tools/version.h is a symbolic link and with Windows default settings it is unsupported hence the actual content of tools/version.h is not what file include/version.h has, but the the linked file path, which breaks the build. To fix this, remove the symbolic links for tools/version.h. Instead we perform a copy from include/version.h during the build. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-16Merge tag 'dm-pull-15oct19' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-dm binman enhancements: - Dropping some test Elf files and building them from source instead - Refactoring of x86 16-bit entries - Support for SPL symbols within sections - Handle the 'notes' sections and hidden symbols in recent binutils - Improved error reporting with a tool fails libfdt and documentation fixes vboot required-key test driver model power-domain controls patman Message-Id enhancement
2019-10-16Makefile: Skip symbolic links to files for cscopeAndy Shevchenko
cscope complains that it can't find files that appears to be symbolic links cscope: cannot find file tools/binman/test/u_boot_binman_syms_bad.c cscope: cannot find file tools/version.h `find -L` tests properties, but name, and cscope can't cope with symbolic links (a lot of bugs in upstream were simple closed as kinda invalid). To work around the problem, exclude symbolic links from the cscope.files. Note, it's done in two pass to speed up the process (`-exec realpath ...` approach is not portable and introduces a 3x delay). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2019-10-15binman: x86: Separate out 16-bit reset and init codeSimon Glass
At present these two sections of code are linked together into a single 2KB chunk in a single file. Some Intel SoCs like to have a FIT (Firmware Interface Table) in the ROM and the pointer for this needs to go at 0xffffffc0 which is in the middle of these two sections. Make use of the new 'reset' entry and change the existing 16-bit entry to include just the 16-bit data. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-10-13spl, Makefile: Take external offset into account for fit imagesSjoerd Simons
When building a FIT image for SPL to load also take into account the configured external offset. This allows the SPL to load the u-boot FIT image correctly when configuring SECURE_BOOT on i.mx6 is enabled (with CONFIG_FIT_EXTERNAL_OFFSET=0x3000). Note this doesn't allow secure booting; but it does allow an unsigned SPL/u-boot with secure boot support eanbled to boot on open device. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>