01 Oct, 2018

1 commit


29 Sep, 2018

1 commit

  • The current u-boot configures the fdt_file environment variable
    to the file name of that built together with u-boot. Sometimes
    Linux kernel needs another dtb file other than the one built with
    u-boot. For example, imx7ulp needs to build imx7ulp-evk-qspi.dts for
    u-boot, but the kernel needs imx7ulp-evk.dts. Adding this new
    macro to let the user have an option to specify a dtb file to run
    Linux kernel.

    Signed-off-by: Shenwei Wang

    Shenwei Wang
     

15 Feb, 2018

1 commit

  • With commit 9bd76b807636 ("spl: make CONFIG_OF_EMBED pass dts through
    fdtgrep"), CONFIG_SPL_MULTI_DTB_FIT has been broken because
    cmd_fdtgrep was now unknown in scripts/Makefile.spl after moving
    it to dts/Makefile. This bug has been introduced with v2018.01.

    This patch moves cmd_fdtgrep from dts/Makefile to scripts/Makefile.lib
    and includes scripts/Makefile.lib in scripts/Makefile.spl.

    Fixes: 9bd76b807636 ("spl: make CONFIG_OF_EMBED pass dts through fdtgrep")
    Reported-by: Lokesh Vutla
    Signed-off-by: Simon Goldschmidt
    Reviewed-by: Lokesh Vutla

    Simon Goldschmidt
     

30 Nov, 2017

1 commit

  • Building spl with CONFIG_OF_EMBED enabled results in an error message
    on my board: "SPL image too big". This is because the fdtgrep build
    step is only executed for CONFIG_OF_SEPARATE.

    Fix this by moving the fdtgrep build step ('cmd_fdtgreo') from
    scripts/Makefile.spl to dts/Makefile so that the reduced dtb is
    available for all kinds of spl builds.

    The resulting variable name for the embedded device tree blob changes,
    too, which is why common.h and fdtdec.c have tiny changes.

    Signed-off-by: Simon Goldschmidt
    Reviewed-by: Simon Glass

    Goldschmidt Simon
     

17 Nov, 2017

1 commit

  • Currently, pylibfdt is always compiled if swig is installed on your
    machine. It is really annoying because most of targets (excepts
    x86, sunxi, rockchip) do not use dtoc or binman.

    "checkbinman" and "checkdtoc" are wrong. It is odd that the final
    build stage checks if we have built necessary tools. If your platform
    depends on dtoc/binman, you must be able to build pylibfdt. If swig
    is not installed, it should fail immediately.

    I added PYLIBFDT, DTOC, BINMAN entries to Kconfig. They should be
    property select:ed by platforms that need them. Kbuild will descend
    into scripts/dtc/pylibfdt/ only when CONFIG_PYLIBFDT is enabled.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass

    Masahiro Yamada
     

06 Oct, 2017

2 commits

  • u-boot can be embedded within a FIT image with multiple DTBs. It then
    selects at run-time which one is best suited for the platform.
    Use the same principle here for the SPL: put the DTBs in a FIT image,
    compress it (LZO, GZIP, or no compression) and append it at the end of the
    SPL.

    Signed-off-by: Jean-Jacques Hiblot
    [trini: Move default y of SPL_MULTI_DTB_FIT_DYN_ALLOC to it being the
    default choice if SYS_MALLOC_F, drop spl.h include from lib/fdtdec.c
    it's unused.]
    Signed-off-by Tom Rini

    Jean-Jacques Hiblot
     
  • CONFIG_FIT_EMBED might be confused with CONFIG_OF_EMBED, rename it
    MULTI_DTB_FIT as it is able to get a DTB from a FIT image containing
    multiple DTBs. Also move the option to the Kconfig dedicated to the DTS
    options and create a README for this feature.

    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Tom Rini
    Reviewed-by: Simon Glass

    Jean-Jacques Hiblot
     

24 Sep, 2017

2 commits


13 Aug, 2017

1 commit

  • For the RK3368, we want to use OF_PLATDATA in TPL, but full OF_CONTROL
    in SPL: this requires the introduction of a new family of
    configuration options to decouple SPL_OF_CONTROL and SPL_OF_PLATDATA
    from TPL.

    Consequently, Makefile.spl needs to be adjusted to test for these
    configuration items through the $(SPL_TPL_) macro instead of
    hard-coding the SPL variant.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass
    Reviewed-by: Tom Rini

    Philipp Tomsich
     

11 Jul, 2017

1 commit


01 Jun, 2017

1 commit


10 May, 2017

1 commit

  • In some boards like the Raspberry Pi the initial bootloader will pass
    a DT to the kernel. When using U-Boot as such kernel, the board code in
    U-Boot should be able to provide U-Boot with this, already assembled
    device tree blob.

    This patch introduces a new config option CONFIG_OF_BOARD to use instead
    of CONFIG_OF_EMBED or CONFIG_OF_SEPARATE which will initialize the DT
    from a board-specific funtion instead of bundling one with U-Boot or as
    a separated file. This allows boards like the Raspberry Pi to reuse the
    device tree passed from the bootcode.bin and start.elf firmware
    files, including the run-time selected device tree overlays.

    Signed-off-by: Alex Deymo
    Reviewed-by: Simon Glass

    Alex Deymo
     

05 Apr, 2017

1 commit


27 Mar, 2017

1 commit


23 Mar, 2017

1 commit

  • Certain boards come in different variations by way of utilizing daughter
    boards, for example. These boards might contain additional chips, which
    are added to the main board's busses, e.g. I2C.

    The device tree support for such boards would either, quite naturally,
    employ the overlay mechanism to add such chips to the tree, or would use
    one large default device tree, and delete the devices that are actually
    not present.

    Regardless of approach, even on the U-Boot level, a modification of the
    device tree is a prerequisite to have such modular families of boards
    supported properly.

    Therefore, we add an option to make the U-Boot device tree (the actual
    copy later used by the driver model) writeable, and add a callback
    method that allows boards to modify the device tree at an early stage,
    at which, hopefully, also the application of device tree overlays will
    be possible.

    Signed-off-by: Mario Six
    Reviewed-by: Simon Glass
    Signed-off-by: Stefan Roese

    mario.six@gdsys.cc
     

15 Jul, 2016

1 commit


23 May, 2016

1 commit

  • OF_LIST can't remain empty that's why setup it up to default DTB.

    If it is empty u-boot.img is created without FDT partition:
    For example:
    ./tools/mkimage -f auto -A arm -T firmware -C none -O u-boot -a
    0x8000000 -e 0 -n "U-Boot 2016.05-rc3 ..." -E -b -d u-boot-nodtb.bin u-boot.img
    Can't set 'timestamp' property for '' node (FDT_ERR_NOSPACE)
    FIT description: Firmware image with one or more FDT blobs
    Created: Wed May 4 15:02:52 2016
    Image 0 (firmware@1)
    Description: U-Boot 2016.05-rc3-00080-gff2e12ae22a8-dirty for zynqmp
    board
    Created: Wed May 4 15:02:52 2016
    Type: Firmware
    Compression: uncompressed
    Data Size: unavailable
    Architecture: ARM
    Load Address: 0x08000000
    Default Configuration: 'conf@1'
    Configuration 0 (conf@1)
    Description: unavailable
    Kernel: unavailable

    And then image like this doesn't contain description and link to FDT and
    can't boot.

    Signed-off-by: Michal Simek
    Reviewed-by: Tom Rini

    Michal Simek
     

15 Mar, 2016

2 commits


25 Feb, 2016

1 commit

  • These two properties are necessary for SPL to get clocks from DT.

    Note:
    For now, only clock look-up by index is supported (clk_get_by_index()
    function), so "clock-names" is never parsed in U-Boot. However, we
    may want to support something like clk_get_by_name() in the future,
    so let's keep "clock-names" as well as "clocks".

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

25 Jan, 2016

1 commit

  • This reverts commit 67871a595873930a0a536b1685e5caac53766701.

    Since that commit, out-of-tree cleaning emits lots of warnings.

    $ make O=foo clean
    make[1]: Entering directory `/home/masahiro/workspace/u-boot/foo'
    ../dts/../arch/arm/dts/Makefile:209: warning: overriding commands for target `dtbs'
    ../dts/../arch/arc/dts/Makefile:15: warning: ignoring old commands for target `dtbs'
    ../dts/../arch/microblaze/dts/Makefile:13: warning: overriding commands for target `dtbs'
    ../dts/../arch/arm/dts/Makefile:209: warning: ignoring old commands for target `dtbs'
    ../dts/../arch/mips/dts/Makefile:14: warning: overriding commands for target `dtbs'
    ../dts/../arch/microblaze/dts/Makefile:13: warning: ignoring old commands for target `dtbs'
    ../dts/../arch/nios2/dts/Makefile:13: warning: overriding commands for target `dtbs'
    ../dts/../arch/mips/dts/Makefile:14: warning: ignoring old commands for target `dtbs'
    ../dts/../arch/powerpc/dts/Makefile:13: warning: overriding commands for target `dtbs'
    ../dts/../arch/nios2/dts/Makefile:13: warning: ignoring old commands for target `dtbs'
    ../dts/../arch/sandbox/dts/Makefile:14: warning: overriding commands for target `dtbs'
    ../dts/../arch/powerpc/dts/Makefile:13: warning: ignoring old commands for target `dtbs'
    ../dts/../arch/x86/dts/Makefile:22: warning: overriding commands for target `dtbs'
    ../dts/../arch/sandbox/dts/Makefile:14: warning: ignoring old commands for target `dtbs'
    make[1]: Leaving directory `/home/masahiro/workspace/u-boot/foo'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

23 Jan, 2016

1 commit


17 Jan, 2016

1 commit


03 Oct, 2015

1 commit


17 Sep, 2015

1 commit


31 Aug, 2015

1 commit


19 Aug, 2015

1 commit

  • As we discussed a couple of times, negative CONFIG options make our
    life difficult; CONFIG_SYS_NO_FLASH, CONFIG_SYS_DCACHE_OFF, ...
    and here is another one.

    Now, there are three boards enabling OF_CONTROL on SPL:
    - socfpga_arria5_defconfig
    - socfpga_cyclone5_defconfig
    - socfpga_socrates_defconfig

    This commit adds CONFIG_SPL_OF_CONTROL for them and deletes
    CONFIG_SPL_DISABLE_OF_CONTROL from the other boards to invert
    the logic.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Tom Rini
    Reviewed-by: Simon Glass

    Masahiro Yamada
     

22 Jul, 2015

1 commit

  • The SPL device tree size must be minimised to save memory. Only include
    properties that are needed by SPL - this is determined by the presence
    of the "u-boot,dm-pre-reloc" property. Also remove a predefined list of
    unused properties from the nodes that remain.

    Signed-off-by: Simon Glass

    Simon Glass
     

23 Apr, 2015

1 commit


25 Feb, 2015

1 commit


28 Oct, 2014

1 commit


25 Sep, 2014

2 commits

  • This option specifies the default Device Tree used for the run-time
    configuration of U-Boot.

    Signed-off-by: Masahiro Yamada
    Cc: Simon Glass
    Cc: Stephen Warren
    Cc: Minkyu Kang
    Cc: Michal Simek

    Masahiro Yamada
     
  • This commit moves:
    CONFIG_OF_CONTROL
    CONFIG_OF_SEPARATE
    CONFIG_OF_EMBED
    CONFIG_OF_HOSTFILE

    Because these options are currently not supported for SPL,
    the "Device Tree Control" menu does not appear in the SPL
    configuration.

    Note:
    zynq-common.h should be adjusted so as not to change the
    default value of CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass
    Cc: Stephen Warren
    Cc: Minkyu Kang
    Acked-by: Michal Simek

    Masahiro Yamada
     

19 Jun, 2014

1 commit


12 Jun, 2014

1 commit

  • In some cases, an externally-built device tree binary is required to be
    attached to U-Boot. An example is when using image signing, since in that
    case the .dtb file must include the public keys.

    Add a DEV_TREE_BIN option to the Makefile, and update the documentation.

    Usage is something like:

    make DEV_TREE_BIN=boot/am335x-boneblack-pubkey.dtb

    Signed-off-by: Simon Glass

    Simon Glass
     

06 Jun, 2014

1 commit


29 Mar, 2014

1 commit


20 Feb, 2014

2 commits

  • 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: Masahiro Yamada

    Masahiro Yamada
     
  • 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: Masahiro Yamada

    Masahiro Yamada