Skip to content
Snippets Groups Projects
  1. Feb 24, 2015
  2. Oct 27, 2014
  3. Sep 25, 2014
  4. Jun 19, 2014
  5. Jun 11, 2014
  6. Jun 05, 2014
  7. Mar 28, 2014
  8. Feb 19, 2014
    • Masahiro Yamada's avatar
      dts: generate multiple device tree blobs · 3284c8b8
      Masahiro Yamada authored
      
      It is convenient to have all device trees on the same SoC compiled.
      It allows for later easy repackaging without the need to re-run
      the make file.
      
        - Build device trees with the same SoC under arch/$(ARCH)/dts
      
        - Copy the one specified by CONFIG_DEFAULT_DEVICE_TREE or
          DEVICE_TREE=... to dts/dt.dtb
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      3284c8b8
    • Masahiro Yamada's avatar
      dts: move device tree sources to arch/$(ARCH)/dts/ · 5ab502cb
      Masahiro Yamada authored
      
      Unlike Linux Kernel, U-Boot historically had *.dts files under
      board/$(VENDOR)/dts/ and *.dtsi files under arch/$(ARCH)/dts/.
      
      I think arch/$(ARCH)/dts dicretory is a better location
      to store both *.dts and *.dtsi files.
      
      For example, before this commit, board/xilinx/dts directory
      had both Microblaze dts (microblaze-generic.dts) and
      ARM dts (zynq-*.dts), which are totally unrelated.
      
      This commit moves *.dts to arch/$(ARCH)/dts/ directories,
      allowing us to describe nicely mutiple DTBs generation in the next commit.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      5ab502cb
    • Masahiro Yamada's avatar
      dts: re-write dts/Makefile more simply with Kbuild · 6ab6b2af
      Masahiro Yamada authored
      
      Useful rules in scripts/Makefile.lib allows us to easily
      generate a device tree blob and wrap it in assembly code.
      
      We do not need to parse a linker script to get output format and arch.
      
      This commit deletes ./u-boot.dtb since it is a copy of dts/dt.dtb.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      6ab6b2af
    • Masahiro Yamada's avatar
      kbuild: use scripts/Makefile.clean · efcf8619
      Masahiro Yamada authored
      
      This commit refactors cleaning targets such as
      clean, clobber, mrpropper, distclean
      with scripts/Makefile.clean.
      
      By using scripts/Makefile.clean, we can recursively descend
      into subdirectories and delete generated files there.
      
      We do not need add a big list of generated files
      to the "clean" target.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      efcf8619
    • Masahiro Yamada's avatar
      kbuild: use Linux Kernel build scripts · 6825a95b
      Masahiro Yamada authored
      
      Now we are ready to switch over to real Kbuild.
      
      This commit disables temporary scripts:
        scripts/{Makefile.build.tmp, Makefile.host.tmp}
      and enables real Kbuild scripts:
        scripts/{Makefile.build,Makefile.host,Makefile.lib}.
      
      This switch is triggered by the line in scripts/Kbuild.include
        -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
        +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
      
      We need to adjust some build scripts for U-Boot.
      But smaller amount of modification is preferable.
      
      Additionally, we need to fix compiler flags which are
      locally added or removed.
      
      In Kbuild, it is not allowed to change CFLAGS locally.
      Instead, ccflags-y, asflags-y, cppflags-y,
      CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
      are prepared for that purpose.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      6825a95b
    • Masahiro Yamada's avatar
      kbuild: change out-of-tree build · 9e414032
      Masahiro Yamada authored
      
      This commit changes the working directory
      where the build process occurs.
      
      Before this commit, build process occurred under the source
      tree for both in-tree and out-of-tree build.
      
      That's why we needed to add $(obj) prefix to all generated
      files in makefiles like follows:
        $(obj)u-boot.bin:  $(obj)u-boot
      
      Here, $(obj) is empty for in-tree build, whereas it points
      to the output directory for out-of-tree build.
      
      And our old build system changes the current working directory
      with "make -C <sub-dir>" syntax when descending into the
      sub-directories.
      
      On the other hand, Kbuild uses a different idea
      to handle out-of-tree build and directory descending.
      
      The build process of Kbuild always occurs under the output tree.
      When "O=dir/to/store/output/files" is given, the build system
      changes the current working directory to that directory and
      restarts the make.
      
      Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj=<sub-dir>"
      syntax for descending into sub-directories.
      (We can write it like "make $(obj)=<sub-dir>" with a shorthand.)
      This means the current working directory is always the top
      of the output directory.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      9e414032
  9. Dec 13, 2013
  10. Nov 01, 2013
  11. Aug 02, 2013
  12. Jul 24, 2013
  13. Apr 02, 2013
  14. Mar 14, 2013
  15. Feb 08, 2013
  16. Jan 17, 2013
  17. Aug 10, 2012
  18. Jul 10, 2012
    • Stephan Linz's avatar
      fdt: Add board specific dts inclusion · a1d2478e
      Stephan Linz authored
      
      Some architectures, for example Microblaze, doesn't need a
      splitted device tree because every Microblaze hw design is
      different. The individuell Microblaze device tree will be
      auto generated by FPGA design tools and could be used directly
      with dtc.
      
      The auto generated dts for Microblaze can not processed by CPP.
      Unfortunately that is the default procedure in U-Boot to merge
      a splitted device tree (substitution of ARCH_CPU_DTS).
      
      Microblaze will never use the ARCH_CPU_DTS substitution and we
      introduce the new board specific substitution variable BOARD_DTS
      that points into vendor/board/dts subdir with the file name
      of CONFIG_DEFAULT_DEVICE_TREE. The common dts file in vendor/dts
      subdir (defined by CONFIG_DEFAULT_DEVICE_TREE) contain a single
      include line that can processed by CPP:
      
          /include/ BOARD_DTS
      
      Signed-off-by: default avatarStephan Linz <linz@li-pro.net>
      Tested-by: default avatarMichal Simek <monstr@monstr.eu>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      a1d2478e
  19. Jul 09, 2012
    • Stephen Warren's avatar
      fdt: send all dtc output to stderr · 58e22f8a
      Stephen Warren authored
      
      Commit 896bbb53 "fdt: avoid bad MAKEALL status" added logic to capture
      the result code from dtc by echoing $? to stdout and capturing it using
      $(). However, dtc emits some diagnostics to stderr and some to stdout.
      The diagnostics send to stdout ended up getting captured via $() rather
      than being echo'd to the user. This caused those diagnostics to be passed
      to the exit command, which would then fail with the following cryptic
      error message:
      
          /bin/sh: line 1: exit: too many arguments
      
      Solve this by redirecting all dtc output to stderr so that $() does not
      capture it. This allows the user to see the actual error message from dtc.
      
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: albert.u.boot@aribaud.net
      Cc: Tom Warren <twarren@nvidia.com>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      58e22f8a
  20. Apr 21, 2012
  21. Oct 26, 2011
    • Simon Glass's avatar
      fdt: Add support for embedded device tree (CONFIG_OF_EMBED) · bbb0b128
      Simon Glass authored
      
      This new option allows U-Boot to embed a binary device tree into its image
      to allow run-time control of peripherals. This device tree is for U-Boot's
      own use and is not necessarily the same one as is passed to the kernel.
      
      The device tree compiler output should be placed in the $(obj)
      rooted tree. Since $(OBJCOPY) insists on adding the path to the
      generated symbol names, to ensure consistency it should be
      invoked from the directory where the .dtb file is located and
      given the input file name without the path.
      
      This commit contains my entry for the ugliest Makefile / shell interaction
      competition.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      bbb0b128
Loading