[U-Boot] [PATCH 13/13] binman: tegra: Convert to use binman
Simon Glass
sjg at chromium.org
Tue Nov 14 01:55:06 UTC 2017
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 at 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
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 at 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 at 50000000 {
- u-boot,dm-pre-reloc;
- dc at 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
--
2.15.0.448.gf294e3d99a-goog
More information about the U-Boot
mailing list