Message ID | 20171114015506.25673-14-sjg@chromium.org |
---|---|
State | Accepted |
Commit | f2faffecb016988a999f26f1dbebc5d88793761b |
Delegated to: | Simon Glass |
Headers | show |
Series | binman: Support run-time access to binman image positions | expand |
On 11/13/2017 06:55 PM, Simon Glass wrote: > Update tegra to use binman for image creation. This still includes the > current Makefile logic, but a later patch will remove this. Three output > files are created, all of which combine > SPL and U-Boot: > > u-boot-tegra.bin - standard image > u-boot-dtb-tegra.bin - same as u-boot-tegra.bin > u-boot-nodtb - includes U-Boot without the appended device tree I assume that last file is u-boot-nodtb-tegra.bin? If this series doesn't change the set of binaries produced by the build system (add/drop/rename), then I'm fine with it. For the record, I know of tools that use the following files, at least: u-boot (ELF) u-boot.bin u-boot.dtb u-boot-dtb.bin u-boot-nodtb-tegra.bin u-boot-dtb-tegra.bin
Hi Stephen, On 14 November 2017 at 13:23, Stephen Warren <swarren@wwwdotorg.org> wrote: > On 11/13/2017 06:55 PM, Simon Glass wrote: >> >> Update tegra to use binman for image creation. This still includes the >> current Makefile logic, but a later patch will remove this. Three output >> files are created, all of which combine >> SPL and U-Boot: >> >> u-boot-tegra.bin - standard image >> u-boot-dtb-tegra.bin - same as u-boot-tegra.bin >> u-boot-nodtb - includes U-Boot without the appended device >> tree > > > I assume that last file is u-boot-nodtb-tegra.bin? Yes that is correct, will fix. > > If this series doesn't change the set of binaries produced by the build > system (add/drop/rename), then I'm fine with it. It should not change this. > > For the record, I know of tools that use the following files, at least: > > u-boot (ELF) > u-boot.bin > u-boot.dtb > u-boot-dtb.bin > u-boot-nodtb-tegra.bin > u-boot-dtb-tegra.bin OK, then I suppose we need them all. I was hoping to drop one of the special tegra ones, but it seems like they are all used. Regards, Simon
Hi Stephen, On 14 November 2017 at 13:23, Stephen Warren <swarren@wwwdotorg.org> wrote: > On 11/13/2017 06:55 PM, Simon Glass wrote: >> >> Update tegra to use binman for image creation. This still includes the >> current Makefile logic, but a later patch will remove this. Three output >> files are created, all of which combine >> SPL and U-Boot: >> >> u-boot-tegra.bin - standard image >> u-boot-dtb-tegra.bin - same as u-boot-tegra.bin >> u-boot-nodtb - includes U-Boot without the appended device >> tree > > > I assume that last file is u-boot-nodtb-tegra.bin? Yes that is correct, will fix. > > If this series doesn't change the set of binaries produced by the build > system (add/drop/rename), then I'm fine with it. It should not change this. > > For the record, I know of tools that use the following files, at least: > > u-boot (ELF) > u-boot.bin > u-boot.dtb > u-boot-dtb.bin > u-boot-nodtb-tegra.bin > u-boot-dtb-tegra.bin OK, then I suppose we need them all. I was hoping to drop one of the special tegra ones, but it seems like they are all used. Regards, Simon Applied to u-boot-dm thanks!
diff --git a/Makefile b/Makefile index 999d10e4403..6e32391954f 100644 --- a/Makefile +++ b/Makefile @@ -1149,6 +1149,11 @@ u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin u-boot.img u-boot.dtb FORCE endif ifneq ($(CONFIG_TEGRA),) +ifneq ($(CONFIG_BINMAN),) +u-boot-dtb-tegra.bin u-boot-tegra.bin u-boot-nodtb-tegra.bin: \ + spl/u-boot-spl u-boot.bin FORCE + $(call if_changed,binman) +else OBJCOPYFLAGS_u-boot-nodtb-tegra.bin = -O binary --pad-to=$(CONFIG_SYS_TEXT_BASE) u-boot-nodtb-tegra.bin: spl/u-boot-spl u-boot-nodtb.bin FORCE $(call if_changed,pad_cat) @@ -1159,6 +1164,7 @@ u-boot-tegra.bin: spl/u-boot-spl u-boot.bin FORCE u-boot-dtb-tegra.bin: u-boot-tegra.bin FORCE $(call if_changed,copy) +endif # binman endif OBJCOPYFLAGS_u-boot-app.efi := $(OBJCOPYFLAGS_EFI) diff --git a/arch/arm/dts/tegra-u-boot.dtsi b/arch/arm/dts/tegra-u-boot.dtsi new file mode 100644 index 00000000000..cde591c5fca --- /dev/null +++ b/arch/arm/dts/tegra-u-boot.dtsi @@ -0,0 +1,40 @@ +#include <config.h> + +/ { + binman { + multiple-images; + image1 { + filename = "u-boot-tegra.bin"; + pad-byte = <0xff>; + u-boot-spl { + }; + u-boot { + pos = <(CONFIG_SYS_TEXT_BASE - + CONFIG_SPL_TEXT_BASE)>; + }; + }; + + /* Same as image1 - some tools still expect the -dtb suffix */ + image2 { + filename = "u-boot-dtb-tegra.bin"; + pad-byte = <0xff>; + u-boot-spl { + }; + u-boot { + pos = <(CONFIG_SYS_TEXT_BASE - + CONFIG_SPL_TEXT_BASE)>; + }; + }; + + image3 { + filename = "u-boot-nodtb-tegra.bin"; + pad-byte = <0xff>; + u-boot-spl { + }; + u-boot-nodtb { + pos = <(CONFIG_SYS_TEXT_BASE - + CONFIG_SPL_TEXT_BASE)>; + }; + }; + }; +}; diff --git a/arch/arm/dts/tegra114-u-boot.dtsi b/arch/arm/dts/tegra114-u-boot.dtsi new file mode 100644 index 00000000000..7c119725528 --- /dev/null +++ b/arch/arm/dts/tegra114-u-boot.dtsi @@ -0,0 +1,3 @@ +#include <config.h> + +#include "tegra-u-boot.dtsi" diff --git a/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi b/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi index 65c3851affa..44e64998c5f 100644 --- a/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi +++ b/arch/arm/dts/tegra124-nyan-big-u-boot.dtsi @@ -5,6 +5,8 @@ * SPDX-License-Identifier: GPL-2.0+ */ +#include "tegra-u-boot.dtsi" + / { host1x@50000000 { u-boot,dm-pre-reloc; diff --git a/arch/arm/dts/tegra124-u-boot.dtsi b/arch/arm/dts/tegra124-u-boot.dtsi new file mode 100644 index 00000000000..7c119725528 --- /dev/null +++ b/arch/arm/dts/tegra124-u-boot.dtsi @@ -0,0 +1,3 @@ +#include <config.h> + +#include "tegra-u-boot.dtsi" diff --git a/arch/arm/dts/tegra20-u-boot.dtsi b/arch/arm/dts/tegra20-u-boot.dtsi index 9b9835da7e9..7c119725528 100644 --- a/arch/arm/dts/tegra20-u-boot.dtsi +++ b/arch/arm/dts/tegra20-u-boot.dtsi @@ -1,8 +1,3 @@ -/ { - host1x@50000000 { - u-boot,dm-pre-reloc; - dc@54200000 { - u-boot,dm-pre-reloc; - }; - }; -}; +#include <config.h> + +#include "tegra-u-boot.dtsi" diff --git a/arch/arm/dts/tegra210-u-boot.dtsi b/arch/arm/dts/tegra210-u-boot.dtsi new file mode 100644 index 00000000000..7c119725528 --- /dev/null +++ b/arch/arm/dts/tegra210-u-boot.dtsi @@ -0,0 +1,3 @@ +#include <config.h> + +#include "tegra-u-boot.dtsi" diff --git a/arch/arm/dts/tegra30-u-boot.dtsi b/arch/arm/dts/tegra30-u-boot.dtsi new file mode 100644 index 00000000000..7c119725528 --- /dev/null +++ b/arch/arm/dts/tegra30-u-boot.dtsi @@ -0,0 +1,3 @@ +#include <config.h> + +#include "tegra-u-boot.dtsi" diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 51e50907d27..51d143687b0 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -38,6 +38,7 @@ config TEGRA_COMMON select OF_CONTROL select VIDCONSOLE_AS_LCD if DM_VIDEO select BOARD_EARLY_INIT_F + select BINMAN imply CRC32_VERIFY config TEGRA_NO_BPMP
Update tegra to use binman for image creation. This still includes the current Makefile logic, but a later patch will remove this. Three output files are created, all of which combine SPL and U-Boot: u-boot-tegra.bin - standard image u-boot-dtb-tegra.bin - same as u-boot-tegra.bin u-boot-nodtb - includes U-Boot without the appended device tree The latter is useful for build systems where the device is appended later, perhaps after being modified. Signed-off-by: Simon Glass <sjg@chromium.org> --- Makefile | 6 +++++ arch/arm/dts/tegra-u-boot.dtsi | 40 ++++++++++++++++++++++++++++++ arch/arm/dts/tegra114-u-boot.dtsi | 3 +++ arch/arm/dts/tegra124-nyan-big-u-boot.dtsi | 2 ++ arch/arm/dts/tegra124-u-boot.dtsi | 3 +++ arch/arm/dts/tegra20-u-boot.dtsi | 11 +++----- arch/arm/dts/tegra210-u-boot.dtsi | 3 +++ arch/arm/dts/tegra30-u-boot.dtsi | 3 +++ arch/arm/mach-tegra/Kconfig | 1 + 9 files changed, 64 insertions(+), 8 deletions(-) create mode 100644 arch/arm/dts/tegra-u-boot.dtsi create mode 100644 arch/arm/dts/tegra114-u-boot.dtsi create mode 100644 arch/arm/dts/tegra124-u-boot.dtsi create mode 100644 arch/arm/dts/tegra210-u-boot.dtsi create mode 100644 arch/arm/dts/tegra30-u-boot.dtsi