[PATCH] Makefile: sunxi: Don't use binman to build ATF image

At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31.
For now, work around this with a hack.
Signed-off-by: Simon Glass sjg@chromium.org Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman") ---
Makefile | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/Makefile b/Makefile index 2629a741f1e..4483a9bc8a3 100644 --- a/Makefile +++ b/Makefile @@ -1024,9 +1024,13 @@ PHONY += inputs inputs: $(INPUTS-y)
all: .binman_stamp inputs + # Hack for sunxi which doesn't have a proper binman definition for + # 64-bit boards +ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy) ifeq ($(CONFIG_BINMAN),y) $(call if_changed,binman) endif +endif
# Timestamp file to make sure that binman always runs .binman_stamp: FORCE

On 07/08/2020 16:44, Simon Glass wrote:
At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31.
For now, work around this with a hack.
Many thanks for providing this! Indeed it fixes the immediate problem for me. Tested on BananaPi-M64. Also compared the binaries for a 32-bit BPi-M1 build with and w/o the fix, and found them identical (with reproducible build magic).
Signed-off-by: Simon Glass sjg@chromium.org
Tested-by: Andre Przywara andre.przywara@arm.com
Cheers, Andre
Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
Makefile | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/Makefile b/Makefile index 2629a741f1e..4483a9bc8a3 100644 --- a/Makefile +++ b/Makefile @@ -1024,9 +1024,13 @@ PHONY += inputs inputs: $(INPUTS-y)
all: .binman_stamp inputs
- # Hack for sunxi which doesn't have a proper binman definition for
- # 64-bit boards
+ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy) ifeq ($(CONFIG_BINMAN),y) $(call if_changed,binman) endif +endif
# Timestamp file to make sure that binman always runs .binman_stamp: FORCE

On 8/7/20 5:44 PM, Simon Glass wrote:
At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31.
For now, work around this with a hack.
Signed-off-by: Simon Glass sjg@chromium.org Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
Makefile | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/Makefile b/Makefile index 2629a741f1e..4483a9bc8a3 100644 --- a/Makefile +++ b/Makefile @@ -1024,9 +1024,13 @@ PHONY += inputs inputs: $(INPUTS-y)
all: .binman_stamp inputs
- # Hack for sunxi which doesn't have a proper binman definition for
- # 64-bit boards
+ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy) ifeq ($(CONFIG_BINMAN),y) $(call if_changed,binman) endif +endif
# Timestamp file to make sure that binman always runs .binman_stamp: FORCE
Tested on
- OrangePi PC (a 32bit SUNXI system) - Pine64-LTS (a 64bit SUNXI system)
Solves the problem I experienced on the Pine64-LTS.
Tested-by: Heinrich Schuchardt xypron.glpk@gmx.de

+Tom Rini
On Fri, 7 Aug 2020 at 11:48, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 8/7/20 5:44 PM, Simon Glass wrote:
At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31.
For now, work around this with a hack.
Signed-off-by: Simon Glass sjg@chromium.org Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
Makefile | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/Makefile b/Makefile index 2629a741f1e..4483a9bc8a3 100644 --- a/Makefile +++ b/Makefile @@ -1024,9 +1024,13 @@ PHONY += inputs inputs: $(INPUTS-y)
all: .binman_stamp inputs
# Hack for sunxi which doesn't have a proper binman definition for
# 64-bit boards
+ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy) ifeq ($(CONFIG_BINMAN),y) $(call if_changed,binman) endif +endif
# Timestamp file to make sure that binman always runs .binman_stamp: FORCE
Tested on
- OrangePi PC (a 32bit SUNXI system)
- Pine64-LTS (a 64bit SUNXI system)
Solves the problem I experienced on the Pine64-LTS.
Tested-by: Heinrich Schuchardt xypron.glpk@gmx.de

On Fri, Aug 07, 2020 at 09:44:11AM -0600, Simon Glass wrote:
At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31.
For now, work around this with a hack.
Signed-off-by: Simon Glass sjg@chromium.org Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
Applied to u-boot/master, thanks!
participants (4)
-
André Przywara
-
Heinrich Schuchardt
-
Simon Glass
-
Tom Rini