1. 05 9月, 2021 3 次提交
    • S
      Makefile: Move drivers/dma/ into drivers/Makefile · 39f09140
      Simon Glass 提交于
      This rule should not be in the top-level Makefile. Move it, making use
      of the new LEGACY_DMA Kconfig.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      39f09140
    • S
      spi: Rename SPI_SUPPORT to SPI · ea2ca7e1
      Simon Glass 提交于
      Rename these options so that CONFIG_IS_ENABLED can be used with them.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      ea2ca7e1
    • S
      serial: Add a SERIAL config · 52510486
      Simon Glass 提交于
      At present we have SPL_SERIAL and TPL_SERIAL but not piain SERIAL. This
      works because there is a special build rule in Makefile that always
      includes the drivers/serial directory.
      
      It is better to have all driver directories included by drivers/Makefile
      and there is already a rule in there for this purpose. It just needs a
      Kconfig for U-Boot proper, so add one.
      
      It is always enabled, for now, since that mimics the current behaviour.
      It should be possible to drop the strange 'SERIAL_PRESENT' option at some
      point and use SERIAL instead.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      52510486
  2. 31 8月, 2021 1 次提交
  3. 26 8月, 2021 1 次提交
  4. 17 8月, 2021 1 次提交
  5. 31 7月, 2021 2 次提交
  6. 29 7月, 2021 5 次提交
    • P
      build: remove the variable NM in gen_ll_addressable_symbols.sh · ff7852d5
      Patrick Delaunay 提交于
      With LTO activated, the buildman tools failed with an error on my
      configuration (Ubuntu 20.04, stm32mp15_trusted_defconfig) with the error:
      
      ../arm-linux-gnueabi/bin/nm:
      	scripts/gen_ll_addressable_symbols.sh: file format not recognized
      
      It seems the shell variable initialization NM=$(NM) is not correctly
      interpreted when shell is started in the Makefile, but I have not this
      issue when I compile the same target without buildman.
      
      I don't found the root reason of the problem but I solve it by
      providing $(NM) as script parameter instead using a shell variable.
      
      The command executed is identical:
      
      cmd_keep-syms-lto.c := NM=arm-none-linux-gnueabihf-gcc-nm \
      u-boot/scripts/gen_ll_addressable_symbols.sh arch/arm/cpu/built-in.o \
      .... net/built-in.o >keep-syms-lto.c
      
      cmd_keep-syms-lto.c := u-boot/scripts/gen_ll_addressable_symbols.sh \
      arm-none-linux-gnueabihf-gcc-nm arch/arm/cpu/built-in.o \
      ... net/built-in.o > keep-syms-lto.c
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com>
      ff7852d5
    • S
      Makefile: Move drivers/i2c/ into drivers/Makefile · 53789206
      Simon Glass 提交于
      This rule should not be in the top-level Makefile. Now that we have a
      consistent set of I2C Kconfigs for U-Boot proper, SPL and TPL, we can move
      it.
      
      Make use of the existing SPL/TPL rule in drivers/Makefile instead.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      53789206
    • S
      i2c: Fix the migration warning · 19c969ba
      Simon Glass 提交于
      While there is a CONFIG_I2C it does not really mean anything and is
      defined by only a few dozen boards. This should key off
      CONFIG_SYS_I2C_LEGACY instead.
      
      Fix it.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Reviewed-by: NHeiko Schocher <hs@denx.de>
      19c969ba
    • S
      Makefile: Sort the subdirectories · 5f57b00c
      Simon Glass 提交于
      Adjust the subdirectories included in this file so that they are in
      alphabetical order. This makes it easier to follow.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      5f57b00c
    • S
      Makefile: Drop include/asm directory as well as symlink · c72c7d9d
      Simon Glass 提交于
      At present when using 'make mrproper' on an out-of-tree build, a warning
      is shown about include/asm being a directory. With old versions of U-Boot
      it is a file, but more recently it has become a directory.
      
      Remove this directory first, since that covers both cases.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      c72c7d9d
  7. 27 7月, 2021 1 次提交
  8. 24 7月, 2021 1 次提交
    • P
      smbios: Fix calculating BIOS Release Date · 11275e4f
      Pali Rohár 提交于
      BIOS Release Date must be in format mm/dd/yyyy and must be release date.
      U-Boot currently sets BIOS Release Date from U_BOOT_DMI_DATE macro which is
      generated from current build timestamp.
      
      Fix this issue by setting U_BOOT_DMI_DATE macro to U-Boot version which is
      better approximation of U-Boot release date than current build timestamp.
      Current U-Boot versioning is in format yyyy.mm so as a day choose 01.
      
      Some operating systems are using BIOS Release Date for detecting when was
      SMBIOS table filled or if it could support some feature (e.g. BIOS from
      1990 cannot support features invented in 2000). So this change also ensures
      that recompiling U-Boot from same sources but in different year does not
      change behavior of some operating systems.
      
      Macro U_BOOT_DMI_DATE is not used in other file than lib/smbios.c
      so remove it from global autogenerated files and also from Makefile.
      Signed-off-by: NPali Rohár <pali@kernel.org>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      11275e4f
  9. 19 7月, 2021 3 次提交
    • T
      Makefile: Remove DM_VIDEO and DM_SPI_FLASH checks · b7b5cbe2
      Tom Rini 提交于
      As we have now completed the DM_VIDEO and DM_SPI_FLASH migrations we can
      remove the checks.
      Signed-off-by: NTom Rini <trini@konsulko.com>
      b7b5cbe2
    • T
      pci: Require DM_PCI · ac9fa570
      Tom Rini 提交于
      As the migration deadline has passed, require that DM_PCI be used.
      Signed-off-by: NTom Rini <trini@konsulko.com>
      ac9fa570
    • T
      usb: Enforce DM_USB migration for USB_HOST devices. · be5c0608
      Tom Rini 提交于
      As the deadline for migration to DM_USB, when using a USB host
      controller has now gone two years past the deadline, enforce migration.
      This is done by:
      
      - Ensuring that all host controller options (other than the very legacy
        old MUSB ones) now select USB_HOST.  USB_HOST now enforces DM_USB and
        OF_CONTROL.
        - Remove other parts of Kconfig logic that had platforms pick DM_USB.
        - To keep Kconfig happy, have some select statements test for USB_HOST
          as well.
      - Re-order some Kconfig entries and menus so that we can cleanly pick
        host or gadget roles.  For the various HCD options that have platform
        glue options, group them together and update dependencies in some
        cases.
      - As SPL_DM_USB is not required, on platforms that had not yet enabled
        it, disable it.
      
      Cc: Marek Vasut <marex@denx.de>
      Cc: Icenowy Zheng <icenowy@aosc.io>
      Cc: Samuel Holland <samuel@sholland.org>
      Cc: FUKAUMI Naoki <naobsd@gmail.com>
      Cc: Andre Przywara <andre.przywara@arm.com>
      Cc: Jagan Teki <jagan@amarulasolutions.com>
      Signed-off-by: NTom Rini <trini@konsulko.com>
      be5c0608
  10. 15 7月, 2021 2 次提交
    • J
      Makefile: Conditionally add defaultenv_h to envtools target · 2a2896b1
      Joel Stanley 提交于
      When building the envtools target with CONFIG_USE_DEFAULT_ENV_FILE=y,
      the tools require generated/defaultenv_autogenerated.h.
      
       In file included from tools/env/fw_env.c:126:
       include/env_default.h:115:10: fatal error: generated/defaultenv_autogenerated.h: No such file or directory
         115 | #include "generated/defaultenv_autogenerated.h"
             |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Signed-off-by: NJoel Stanley <joel@jms.id.au>
      2a2896b1
    • T
      kconfig / kbuild: Re-sync with Linux 4.20 · 473fc279
      Tom Rini 提交于
      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 587e4a42 ("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: NTom Rini <trini@konsulko.com>
      473fc279
  11. 08 7月, 2021 1 次提交
  12. 07 7月, 2021 1 次提交
  13. 05 7月, 2021 1 次提交
  14. 01 7月, 2021 1 次提交
  15. 30 6月, 2021 1 次提交
  16. 29 6月, 2021 1 次提交
  17. 23 6月, 2021 1 次提交
  18. 07 6月, 2021 1 次提交
  19. 25 5月, 2021 5 次提交
    • T
      Prepare v2021.07-rc3 · e1bf0336
      Tom Rini 提交于
      Signed-off-by: NTom Rini <trini@konsulko.com>
      e1bf0336
    • M
      build: link with --build-id=none · da48bd9e
      Marek Behún 提交于
      Some toolchains are compiled so that they pass a --build-id=something
      parameter to the linker implicitly.
      
      This causes U-Boot LTO linking to fail with something like:
        ld: section .note.gnu.build-id LMA ... overlaps section .text LMA ...
      because U-Boot's link scripts do not currently handle .note.gnu.build-id
      section.
      
      Fix this by explicitly disabling build-id.
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      da48bd9e
    • M
      build: support building with Link Time Optimizations · c1094987
      Marek Behún 提交于
      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: NMarek Behún <marek.behun@nic.cz>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      c1094987
    • M
      build: use thin archives instead of incremental linking · 958f2e57
      Marek Behún 提交于
      Currently we use incremental linking (ld -r) to link several object
      files from one directory into one built-in.o object file containing the
      linked code from that directory (and its subdirectories).
      
      Linux has, some time ago, moved to thin archives instead.
      
      Thin archives are archives (.a) that do not really contain the object
      files, only references to them.
      
      Using thin archives instead of incremental linking
      - saves disk space
      - apparently works better with dead code elimination
      - makes things easier for LTO
      
      The third point is the important one for us. With incremental linking
      there are several options how to do LTO, and that would unnecessarily
      complicate things.
      
      We have to use the --whole-archive/--no-whole-archive linking option
      instead of --start-group/--end-group, otherwise linking may fail because
      of unresolved symbols, or the resulting binary will be unusable.
      
      We also need to use the P flag for ar, otherwise final linking may fail.
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      958f2e57
    • M
      Makefile, Makefile.spl: cosmetic change · 1445836c
      Marek Behún 提交于
      Indent the linking commands so that they look cosmetically better.
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
      1445836c
  20. 19 5月, 2021 2 次提交
  21. 18 5月, 2021 2 次提交
    • S
      Makefile: Handle building in a very old build directory · a7d03d53
      Simon Glass 提交于
      Versions of U-Boot before 2014.01 created a symlink from include/asm to
      the architecture-specific header directory.
      
      If an ARM board is build with that old version, then sandbox is built on
      a more recent version (both with in-tree builds), the include/asm symlink
      confuses the build system. It picks up the ARM headers when it should be
      using the sandbox ones.
      
      Since 2014 U-Boot has only created a symlink inside the include/asm/
      directory and only for out-of-tree builds. So for in-tree builds it does
      not expect to see an include/asm symlink. It is not removed by
      'make mrproper'. It does show up with 'git status' but is easy enough to
      miss.
      
      Add include/asm to the files to remove with 'make mkproper'. For recent
      U-Boot builds this has no effect, since include/asm is a directory, not a
      file. If the include/asm symlink is there, it will be removed.
      Reported-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      a7d03d53
    • A
      Makefile: allow to override python3 · f68ed0bc
      Andrey Zhizhikin 提交于
      Python3 taken from the PATH causes build issues when pylibfdt bindings are
      generated with Yocto SDK.
      
      Python3 provided as a part of SDK is not compatible with host Python3,
      therefore binding build breaks with following errors:
      
      scripts/dtc/pylibfdt/libfdt_wrap.c:154:11: fatal error: Python.h: No such file or directory
        154 | # include <Python.h>
            |           ^~~~~~~~~~
      
      Do not enforce the python3 from the PATH and make it conditionally-assigned
      so it can be overridden from outside of build system. Keep the default
      assignment to point to version that is taken from the PATH.
      
      Similar fix has been introduced in b48bfc74 ("tools: allow to override
      python"), where conditional assignment is used for python executable to
      address similar build errors.
      Signed-off-by: NAndrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
      Cc: Simon Glass <sjg@chromium.org>
      Fixes: e91610da ("kconfig: re-sync with Linux 4.17-rc4")
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      f68ed0bc
  22. 11 5月, 2021 3 次提交