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
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
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 -
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
24 Sep, 2017
2 commits
-
In some cases, such as FreeBSD, the path to an alternative dtc needs to
be used. Rather than override the one given in the Makefile on the
command line, make this part of the build configuration.Signed-off-by: Tom Rini
-
This makes us act like the Linux Kernel does and allow for dtc to be
provided externally but otherwise we use the version of dtc that is
included in the sources. This in turn means that we can drop the
checkdtc logic. We select DTC in the cases where we will need the dtc
tool provided.Signed-off-by: Tom Rini
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
11 Jul, 2017
1 commit
-
OF_LIST will be useable by SPL and U-boot. Therefore, update its
dependency to allow it to be enable by either SPL or U-boot specific
config option.Signed-off-by: Franklin S Cooper Jr
Reviewed-by: Tom Rini
Reviewed-by: Lokesh Vutla
Acked-by: Andrew F. Davis
01 Jun, 2017
1 commit
-
Add a Kconfig option to enable a live device tree, built at run time from
the flat tree. Also add structure definitions and a root node.Signed-off-by: Simon Glass
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
05 Apr, 2017
1 commit
-
This patch replaces SPL_PINCTRL_FULL with SPL_PINCNTRL. It is to avoid removal
of pin control properties in case of SPL_PINCTRL. No impact in case of
SPL_PINCTRL_FULL as it depends on SPL_PINCTRL.Signed-off-by: Vikas Manocha
Reviewed-by: Simon Glass
27 Mar, 2017
1 commit
-
Enables custom DTS files, or those not associated with a specific target, to be compiled into a boot image.
Signed-off-by: James Balean
Cc: Andy Shevchenko
Cc: Simon Glass
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
15 Jul, 2016
1 commit
-
Add a Kconfig option to enable this feature.
Signed-off-by: Simon Glass
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: unavailableAnd 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
15 Mar, 2016
2 commits
-
When building a FIT, more than one device tree can be included. The board
can select (at run-time) the one that it wants.Add a Kconfig option to allow the list of devices trees (supported by the
board) to be specified.When using SPL_LOAD_FIT, build u-boot.img in FIT format instead of the
legacy image format. Include all the listed device tree files in this FIT.Signed-off-by: Simon Glass
-
This option has no meaning without OF_CONTROL, so add a dependency.
Signed-off-by: Simon Glass
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
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
23 Jan, 2016
1 commit
-
Use wildcard to clean arch subdirectories, as it is cleaner than
listing all the arch which builds dtb.Signed-off-by: Thomas Chou
Reviewed-by: Bin Meng
17 Jan, 2016
1 commit
-
Prepare sub-folder for device-tree files. Make support for
device-tree on MIPS available in Kbuild/Kconfig.Signed-off-by: Daniel Schwierzeck
Signed-off-by: Purna Chandra Mandal
03 Oct, 2015
1 commit
-
This comment from README.fdt-control did not end up in the Kconfig, which
is what most people will see. Add it with a few tweaks.Signed-off-by: Simon Glass
Acked-by: Michal Simek
17 Sep, 2015
1 commit
-
These properties are necessary to use full-featured pinctrl drivers
in SPL.Signed-off-by: Masahiro Yamada
Acked-by: Simon Glass
31 Aug, 2015
1 commit
-
This should depend on SPL_OF_CONTROL (it is not equivalent to
SPL && OF_CONTROL).Signed-off-by: Masahiro Yamada
Acked-by: Simon Glass
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_defconfigThis 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
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
23 Apr, 2015
1 commit
-
Some boards cannot support device tree due to lack of memory. Add an option
to allow these boards to continue to work (and even use driver model).
This is a 'negative' option since most boards are expected to support device
tree in SPL.Signed-off-by: Simon Glass
25 Feb, 2015
1 commit
-
Now CONFIG_SPL_BUILD is not defined in Kconfig, so
"!depends on SPL_BUILD" and "if !SPL_BUILD" are redundant.Signed-off-by: Masahiro Yamada
28 Oct, 2014
1 commit
-
Signed-off-by: Robert P. J. Day
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 -
This commit moves:
CONFIG_OF_CONTROL
CONFIG_OF_SEPARATE
CONFIG_OF_EMBED
CONFIG_OF_HOSTFILEBecause 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
19 Jun, 2014
1 commit
-
This seems like a better name. This is a patch-up to the earlier commit
63b4b5b, and also removes a redundant Makefile change.Signed-off-by: Simon Glass
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
06 Jun, 2014
1 commit
-
We already have cmd_shipped in scripts/Makefile.lib.
Use it rather than defining a new command cmd_copy.Signed-off-by: Masahiro Yamada
29 Mar, 2014
1 commit
-
"make clean", "make clobber", "make mrproper" and "make distclean"
missed to clean-up some files when they were run with
O= option.Signed-off-by: Masahiro Yamada
Reported-by: Wolfgang Denk
20 Feb, 2014
5 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.dtbSigned-off-by: 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
-
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: Masahiro Yamada
-
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: Masahiro Yamada
-
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 objWe 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: Masahiro Yamada
Tested-by: Gerhard Sittig