66 lines
2.5 KiB
Diff
66 lines
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Stephen Chen <stephen@radxa.com>
|
|
Date: Tue, 21 Mar 2023 16:11:34 +0800
|
|
Subject: rockchip: allow passing of BL31 location via variable
|
|
|
|
Source link: https://github.com/piter75/armbian-build/blob/rock-3a-bring-up/patch/u-boot/u-boot-rk356x/general-configurable-bl31-path.patch
|
|
|
|
Signed-off-by: Stephen Chen <stephen@radxa.com>
|
|
---
|
|
arch/arm/mach-rockchip/decode_bl31.py | 12 ++++++++-
|
|
arch/arm/mach-rockchip/make_fit_atf.py | 13 +++++++++-
|
|
2 files changed, 23 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/arch/arm/mach-rockchip/decode_bl31.py b/arch/arm/mach-rockchip/decode_bl31.py
|
|
index 301bd15375..42fa32d23d 100755
|
|
--- a/arch/arm/mach-rockchip/decode_bl31.py
|
|
+++ b/arch/arm/mach-rockchip/decode_bl31.py
|
|
@@ -41,7 +41,17 @@ def generate_atf_binary(bl31_file_name):
|
|
atf.write(data)
|
|
|
|
def main():
|
|
- bl31_elf="./bl31.elf"
|
|
+ if "BL31" in os.environ:
|
|
+ bl31_elf=os.getenv("BL31");
|
|
+ elif os.path.isfile("./bl31.elf"):
|
|
+ bl31_elf = "./bl31.elf"
|
|
+ else:
|
|
+ os.system("echo 'int main(){}' > bl31.c")
|
|
+ os.system("${CROSS_COMPILE}gcc -c bl31.c -o bl31.elf")
|
|
+ bl31_elf = "./bl31.elf"
|
|
+ logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)
|
|
+ logging.warning(' BL31 file bl31.elf NOT found, resulting binary is non-functional')
|
|
+ logging.warning(' Please read Building section in doc/README.rockchip')
|
|
generate_atf_binary(bl31_elf);
|
|
|
|
if __name__ == "__main__":
|
|
diff --git a/arch/arm/mach-rockchip/make_fit_atf.py b/arch/arm/mach-rockchip/make_fit_atf.py
|
|
index 27b6ef7597..fac8d6f121 100755
|
|
--- a/arch/arm/mach-rockchip/make_fit_atf.py
|
|
+++ b/arch/arm/mach-rockchip/make_fit_atf.py
|
|
@@ -212,9 +212,20 @@ def get_bl31_segments_info(bl31_file_name):
|
|
|
|
def main():
|
|
uboot_elf="./u-boot"
|
|
- bl31_elf="./bl31.elf"
|
|
FIT_ITS=sys.stdout
|
|
|
|
+ if "BL31" in os.environ:
|
|
+ bl31_elf=os.getenv("BL31");
|
|
+ elif os.path.isfile("./bl31.elf"):
|
|
+ bl31_elf = "./bl31.elf"
|
|
+ else:
|
|
+ os.system("echo 'int main(){}' > bl31.c")
|
|
+ os.system("${CROSS_COMPILE}gcc -c bl31.c -o bl31.elf")
|
|
+ bl31_elf = "./bl31.elf"
|
|
+ logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)
|
|
+ logging.warning(' BL31 file bl31.elf NOT found, resulting binary is non-functional')
|
|
+ logging.warning(' Please read Building section in doc/README.rockchip')
|
|
+
|
|
opts, args = getopt.getopt(sys.argv[1:], "o:u:b:h")
|
|
for opt, val in opts:
|
|
if opt == "-o":
|
|
--
|
|
Armbian
|
|
|