binman: tegra: Convert to use binman
authorSimon Glass <sjg@chromium.org>
Tue, 14 Nov 2017 01:55:06 +0000 (18:55 -0700)
committerSimon Glass <sjg@chromium.org>
Wed, 13 Dec 2017 02:53:45 +0000 (19:53 -0700)
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-target.bin - 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
arch/arm/dts/tegra-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/tegra114-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/tegra124-nyan-big-u-boot.dtsi
arch/arm/dts/tegra124-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/tegra20-u-boot.dtsi
arch/arm/dts/tegra210-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/tegra30-u-boot.dtsi [new file with mode: 0644]
arch/arm/mach-tegra/Kconfig

index e6d309afe42c5a1fbcb137055aa0a96dfa63bad1..9800d79c8598060269d6dc65fa491b3f6a2c19ec 100644 (file)
--- 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 (file)
index 0000000..cde591c
--- /dev/null
@@ -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 (file)
index 0000000..7c11972
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+
+#include "tegra-u-boot.dtsi"
index 65c3851affac2ab4fe58a739e4310cb2b0f1c59a..44e64998c5f0dfdbdbbce8b45500c2f712da2f33 100644 (file)
@@ -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 (file)
index 0000000..7c11972
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+
+#include "tegra-u-boot.dtsi"
index 9b9835da7e96976c5349b63a5c0907551570e8b1..7c1197255284d9ba8abb53fa14dff6f4f24f173b 100644 (file)
@@ -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 (file)
index 0000000..7c11972
--- /dev/null
@@ -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 (file)
index 0000000..7c11972
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+
+#include "tegra-u-boot.dtsi"
index 51e50907d27a25177ebc9e6bbbcd9306e0a346c0..51d143687b064b097a8f936b50649cd1288fed43 100644 (file)
@@ -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