guix/gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch
Vagrant Cascadian 475dac08a0
gnu: arm-trusted-firmware: Add backported patches to disable .bin generation
for rockchip platforms.

* gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch: New
  patch.
* gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch: New
  patch.
* gnu/packages/firmware (make-arm-trusted-firmware): Add patches.
* gnu/local.mk (dist_patch_DATA): Add patches.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2019-10-18 12:11:38 -07:00

73 lines
2.5 KiB
Diff

From 42383dcf7db5debb9e183c7c5631974a4c2f91ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christoph=20M=C3=BCllner?= <christophm30@gmail.com>
Date: Wed, 24 Apr 2019 09:52:54 +0200
Subject: [PATCH 2/2] rockchip: Disable binary generation for all SoCs.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
All supported Rockchip SoCs (RK3288, RK3328, RK3368 and RK3399)
have non-continuous memory areas in the linker script with a huge
gap between them. This results in extremely padded binary images
with a size of about 4 GiB.
E.g. on the RK3399 we have the following memory areas (and base addresses):
RAM (0x1000), SRAM (0xFF8C0000), and PMUSRAM (0xFF3B0000).
Consumers of the TF-A project (e.g. coreboot or U-Boot) therefore
use the ELF image instead, which has a size of a few hundred kBs.
In order to prevent the generation of a huge and useless file,
this patch disables the binary generation for all affected Rockchip
SoCs.
Signed-off-by: Christoph Müllner <christophm30@gmail.com>
Change-Id: I4ac65bdf1e598c3e1a59507897d183aee9a36916
---
plat/rockchip/rk3328/platform.mk | 2 ++
plat/rockchip/rk3368/platform.mk | 2 ++
plat/rockchip/rk3399/platform.mk | 2 ++
3 files changed, 6 insertions(+)
diff --git a/plat/rockchip/rk3328/platform.mk b/plat/rockchip/rk3328/platform.mk
index 18b1b9419..01c5af6a2 100644
--- a/plat/rockchip/rk3328/platform.mk
+++ b/plat/rockchip/rk3328/platform.mk
@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip
RK_PLAT_SOC := ${RK_PLAT}/${PLAT}
RK_PLAT_COMMON := ${RK_PLAT}/common
+DISABLE_BIN_GENERATION := 1
+
include lib/libfdt/libfdt.mk
PLAT_INCLUDES := -Idrivers/arm/gic/common/ \
diff --git a/plat/rockchip/rk3368/platform.mk b/plat/rockchip/rk3368/platform.mk
index d1315fc58..4ec36ce06 100644
--- a/plat/rockchip/rk3368/platform.mk
+++ b/plat/rockchip/rk3368/platform.mk
@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip
RK_PLAT_SOC := ${RK_PLAT}/${PLAT}
RK_PLAT_COMMON := ${RK_PLAT}/common
+DISABLE_BIN_GENERATION := 1
+
include lib/libfdt/libfdt.mk
PLAT_INCLUDES := -I${RK_PLAT_COMMON}/ \
diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk
index 101359856..25c498da8 100644
--- a/plat/rockchip/rk3399/platform.mk
+++ b/plat/rockchip/rk3399/platform.mk
@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip
RK_PLAT_SOC := ${RK_PLAT}/${PLAT}
RK_PLAT_COMMON := ${RK_PLAT}/common
+DISABLE_BIN_GENERATION := 1
+
include lib/libfdt/libfdt.mk
PLAT_INCLUDES := -I${RK_PLAT_COMMON}/ \
--
2.20.1