diff mbox series

[1/1] configs/olimex_a64_olinuxino: bump to Linux kernel 5.15.4, u-boot 2021.10 and ATF v2.5

Message ID 20211124192006.646757-2-giulio.benetti@benettiengineering.com
State Superseded, archived
Headers show
Series board/olimex/a64-olinuxino: bump | expand

Commit Message

Giulio Benetti Nov. 24, 2021, 7:20 p.m. UTC
Bump to Linux kernel 5.15.4, u-boot 2021.10 and ATF v2.5
Note:
1) now u-boot needs SCP environment variable specified that can point to
the or1k coprocessor firmware while if coprocessor is not used it must
be passed /dev/null as we do in this case.
2) we now use the u-boot-sunxi-with-spl.bin instead of u-boot.itb since
it's not produced by u-boot anymore.
3) u-boot 2021.10 requires python 3 and openssl so let's enable them.
4) remove local patches for uboot and linux.
5) remove global patches path from defconfig.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 board/olimex/a64-olinuxino/genimage.cfg       | 10 +---
 ...ve-redundant-YYLOC-global-declaratio.patch | 52 -------------------
 ...e-redundant-YYLOC-global-declaration.patch | 28 ----------
 configs/olimex_a64_olinuxino_defconfig        | 25 ++++-----
 4 files changed, 13 insertions(+), 102 deletions(-)
 delete mode 100644 board/olimex/a64-olinuxino/patches/linux/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
 delete mode 100644 board/olimex/a64-olinuxino/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch

Comments

Arnout Vandecappelle Dec. 11, 2021, 8:13 p.m. UTC | #1
Hi Giulio,

  I have a few minor comments on this patch. I would normally just change them 
while committing, but since I know you're very reactive and you would test those 
changes better than I would, I'll leave it to you!

On 24/11/2021 20:20, Giulio Benetti wrote:
> Bump to Linux kernel 5.15.4, u-boot 2021.10 and ATF v2.5
> Note:

  (nitpick) these two lines are not useful, just make the points. Also we like 
to have proper sentences, starting with a capital.

> 1) now u-boot needs SCP environment variable specified that can point to
> the or1k coprocessor firmware while if coprocessor is not used it must
> be passed /dev/null as we do in this case.
> 2) we now use the u-boot-sunxi-with-spl.bin instead of u-boot.itb since
> it's not produced by u-boot anymore.
> 3) u-boot 2021.10 requires python 3 and openssl so let's enable them.
> 4) remove local patches for uboot and linux.
> 5) remove global patches path from defconfig.
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
>   board/olimex/a64-olinuxino/genimage.cfg       | 10 +---
>   ...ve-redundant-YYLOC-global-declaratio.patch | 52 -------------------
>   ...e-redundant-YYLOC-global-declaration.patch | 28 ----------
>   configs/olimex_a64_olinuxino_defconfig        | 25 ++++-----
>   4 files changed, 13 insertions(+), 102 deletions(-)
>   delete mode 100644 board/olimex/a64-olinuxino/patches/linux/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
>   delete mode 100644 board/olimex/a64-olinuxino/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch
> 
> diff --git a/board/olimex/a64-olinuxino/genimage.cfg b/board/olimex/a64-olinuxino/genimage.cfg
> index 44fcb3cb59..9606d26c02 100644
> --- a/board/olimex/a64-olinuxino/genimage.cfg
> +++ b/board/olimex/a64-olinuxino/genimage.cfg
> @@ -16,15 +16,9 @@ image sdcard.img {
>   
>   	partition spl {

  Since the partition now contains U-Boot (including SPL), I think it's better 
to call it "u-boot". (Also nitpick)

>   		in-partition-table = "no"
> -		image = "sunxi-spl.bin"
> +		image = "u-boot-sunxi-with-spl.bin"
>   		offset = 8K
> -	}
> -
> -	partition u-boot {
> -		in-partition-table = "no"
> -		image = "u-boot.itb"
> -		offset = 40K
> -		size = 1M # 1MB - 40K
> +		size = 1032K # 1MB - 8KB + 16KB(GPT)
>   	}
>   
>   	partition boot {

[snip]
>   # Bootloader
>   BR2_TARGET_UBOOT=y
>   BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>   BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01"
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
>   BR2_TARGET_UBOOT_BOARD_DEFCONFIG="a64-olinuxino"
>   BR2_TARGET_UBOOT_NEEDS_DTC=y
> +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
>   BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
> +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
>   BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
> -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
>   BR2_TARGET_UBOOT_SPL=y
> -BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin"
> +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"

  And here's the big comment: this is not actually the SPL image, it's in fact 
the full U-Boot image. I think that what you end up with with this is that in 
addition to this file, there's another file (u-boot.bin?) that gets installed 
into images but that is in fact useless.

  Therefore, I think you should instead set BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME 
to u-boot-sunxi-with-spl.bin and remove BR2_TARGET_UBOOT_SPL.

  Does that work?


  Regards,
  Arnout


> +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null"
>   BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>   BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
>   BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a64-olinuxino/boot.cmd"
> @@ -36,7 +33,7 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a64-olinuxino/boot
>   # Kernel
>   BR2_LINUX_KERNEL=y
>   BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0"
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.4"
>   BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
>   BR2_LINUX_KERNEL_DTS_SUPPORT=y
>   BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-olinuxino"
>
Giulio Benetti Dec. 11, 2021, 11:49 p.m. UTC | #2
Hi Arnout,

On 11/12/21 21:13, Arnout Vandecappelle wrote:
>    Hi Giulio,
> 
>    I have a few minor comments on this patch. I would normally just change them
> while committing, but since I know you're very reactive and you would test those
> changes better than I would, I'll leave it to you!

Sure, it's a pleasure :-)

> On 24/11/2021 20:20, Giulio Benetti wrote:
>> Bump to Linux kernel 5.15.4, u-boot 2021.10 and ATF v2.5
>> Note:
> 
>    (nitpick) these two lines are not useful, just make the points. Also we like
> to have proper sentences, starting with a capital.

+1, now I see especially here it doesn't make sense to repeat the summary.

>> 1) now u-boot needs SCP environment variable specified that can point to
>> the or1k coprocessor firmware while if coprocessor is not used it must
>> be passed /dev/null as we do in this case.
>> 2) we now use the u-boot-sunxi-with-spl.bin instead of u-boot.itb since
>> it's not produced by u-boot anymore.
>> 3) u-boot 2021.10 requires python 3 and openssl so let's enable them.
>> 4) remove local patches for uboot and linux.
>> 5) remove global patches path from defconfig.
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>> ---
>>    board/olimex/a64-olinuxino/genimage.cfg       | 10 +---
>>    ...ve-redundant-YYLOC-global-declaratio.patch | 52 -------------------
>>    ...e-redundant-YYLOC-global-declaration.patch | 28 ----------
>>    configs/olimex_a64_olinuxino_defconfig        | 25 ++++-----
>>    4 files changed, 13 insertions(+), 102 deletions(-)
>>    delete mode 100644 board/olimex/a64-olinuxino/patches/linux/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
>>    delete mode 100644 board/olimex/a64-olinuxino/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch
>>
>> diff --git a/board/olimex/a64-olinuxino/genimage.cfg b/board/olimex/a64-olinuxino/genimage.cfg
>> index 44fcb3cb59..9606d26c02 100644
>> --- a/board/olimex/a64-olinuxino/genimage.cfg
>> +++ b/board/olimex/a64-olinuxino/genimage.cfg
>> @@ -16,15 +16,9 @@ image sdcard.img {
>>    
>>    	partition spl {
> 
>    Since the partition now contains U-Boot (including SPL), I think it's better
> to call it "u-boot". (Also nitpick)

+1

>>    		in-partition-table = "no"
>> -		image = "sunxi-spl.bin"
>> +		image = "u-boot-sunxi-with-spl.bin"
>>    		offset = 8K
>> -	}
>> -
>> -	partition u-boot {
>> -		in-partition-table = "no"
>> -		image = "u-boot.itb"
>> -		offset = 40K
>> -		size = 1M # 1MB - 40K
>> +		size = 1032K # 1MB - 8KB + 16KB(GPT)
>>    	}
>>    
>>    	partition boot {
> 
> [snip]
>>    # Bootloader
>>    BR2_TARGET_UBOOT=y
>>    BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>>    BR2_TARGET_UBOOT_CUSTOM_VERSION=y
>> -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01"
>> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
>>    BR2_TARGET_UBOOT_BOARD_DEFCONFIG="a64-olinuxino"
>>    BR2_TARGET_UBOOT_NEEDS_DTC=y
>> +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
>>    BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
>> +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
>>    BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
>> -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
>> -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
>>    BR2_TARGET_UBOOT_SPL=y
>> -BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin"
>> +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
> 
>    And here's the big comment: this is not actually the SPL image, it's in fact
> the full U-Boot image. I think that what you end up with with this is that in
> addition to this file, there's another file (u-boot.bin?) that gets installed
> into images but that is in fact useless.

+1

>    Therefore, I think you should instead set BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
> to u-boot-sunxi-with-spl.bin and remove BR2_TARGET_UBOOT_SPL.
> 
>    Does that work?

Yes it works, just tested on target right now and sent the v2 patch[1] :-)

Thanks for reviewing! Ah, I've bumped Linux to 5.15.7, before it was 
5.15.6 and I've realized only now I didn't put it on V1->V2.

[1]: 
https://patchwork.ozlabs.org/project/buildroot/patch/20211211234447.538121-1-giulio.benetti@benettiengineering.com/

Kind regards
Giulio Benetti Dec. 11, 2021, 11:51 p.m. UTC | #3
On 12/12/21 00:49, Giulio Benetti wrote:
> Hi Arnout,
> 
> On 11/12/21 21:13, Arnout Vandecappelle wrote:
>>     Hi Giulio,
>>
>>     I have a few minor comments on this patch. I would normally just change them
>> while committing, but since I know you're very reactive and you would test those
>> changes better than I would, I'll leave it to you!
> 
> Sure, it's a pleasure :-)
> 
>> On 24/11/2021 20:20, Giulio Benetti wrote:
>>> Bump to Linux kernel 5.15.4, u-boot 2021.10 and ATF v2.5
>>> Note:
>>
>>     (nitpick) these two lines are not useful, just make the points. Also we like
>> to have proper sentences, starting with a capital.
> 
> +1, now I see especially here it doesn't make sense to repeat the summary.
> 
>>> 1) now u-boot needs SCP environment variable specified that can point to
>>> the or1k coprocessor firmware while if coprocessor is not used it must
>>> be passed /dev/null as we do in this case.
>>> 2) we now use the u-boot-sunxi-with-spl.bin instead of u-boot.itb since
>>> it's not produced by u-boot anymore.
>>> 3) u-boot 2021.10 requires python 3 and openssl so let's enable them.
>>> 4) remove local patches for uboot and linux.
>>> 5) remove global patches path from defconfig.
>>>
>>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>>> ---
>>>     board/olimex/a64-olinuxino/genimage.cfg       | 10 +---
>>>     ...ve-redundant-YYLOC-global-declaratio.patch | 52 -------------------
>>>     ...e-redundant-YYLOC-global-declaration.patch | 28 ----------
>>>     configs/olimex_a64_olinuxino_defconfig        | 25 ++++-----
>>>     4 files changed, 13 insertions(+), 102 deletions(-)
>>>     delete mode 100644 board/olimex/a64-olinuxino/patches/linux/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
>>>     delete mode 100644 board/olimex/a64-olinuxino/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch
>>>
>>> diff --git a/board/olimex/a64-olinuxino/genimage.cfg b/board/olimex/a64-olinuxino/genimage.cfg
>>> index 44fcb3cb59..9606d26c02 100644
>>> --- a/board/olimex/a64-olinuxino/genimage.cfg
>>> +++ b/board/olimex/a64-olinuxino/genimage.cfg
>>> @@ -16,15 +16,9 @@ image sdcard.img {
>>>     
>>>     	partition spl {
>>
>>     Since the partition now contains U-Boot (including SPL), I think it's better
>> to call it "u-boot". (Also nitpick)
> 
> +1
> 
>>>     		in-partition-table = "no"
>>> -		image = "sunxi-spl.bin"
>>> +		image = "u-boot-sunxi-with-spl.bin"
>>>     		offset = 8K
>>> -	}
>>> -
>>> -	partition u-boot {
>>> -		in-partition-table = "no"
>>> -		image = "u-boot.itb"
>>> -		offset = 40K
>>> -		size = 1M # 1MB - 40K
>>> +		size = 1032K # 1MB - 8KB + 16KB(GPT)
>>>     	}
>>>     
>>>     	partition boot {
>>
>> [snip]
>>>     # Bootloader
>>>     BR2_TARGET_UBOOT=y
>>>     BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>>>     BR2_TARGET_UBOOT_CUSTOM_VERSION=y
>>> -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01"
>>> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
>>>     BR2_TARGET_UBOOT_BOARD_DEFCONFIG="a64-olinuxino"
>>>     BR2_TARGET_UBOOT_NEEDS_DTC=y
>>> +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
>>>     BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
>>> +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
>>>     BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
>>> -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
>>> -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
>>>     BR2_TARGET_UBOOT_SPL=y
>>> -BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin"
>>> +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
>>
>>     And here's the big comment: this is not actually the SPL image, it's in fact
>> the full U-Boot image. I think that what you end up with with this is that in
>> addition to this file, there's another file (u-boot.bin?) that gets installed
>> into images but that is in fact useless.
> 
> +1
> 
>>     Therefore, I think you should instead set BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
>> to u-boot-sunxi-with-spl.bin and remove BR2_TARGET_UBOOT_SPL.
>>
>>     Does that work?
> 
> Yes it works, just tested on target right now and sent the v2 patch[1] :-)
> 
> Thanks for reviewing! Ah, I've bumped Linux to 5.15.7, before it was
> 5.15.6 and I've realized only now I didn't put it on V1->V2.

s/5.15.6/5.15.4
I run too much

> [1]:
> https://patchwork.ozlabs.org/project/buildroot/patch/20211211234447.538121-1-giulio.benetti@benettiengineering.com/
> 
> Kind regards
>
diff mbox series

Patch

diff --git a/board/olimex/a64-olinuxino/genimage.cfg b/board/olimex/a64-olinuxino/genimage.cfg
index 44fcb3cb59..9606d26c02 100644
--- a/board/olimex/a64-olinuxino/genimage.cfg
+++ b/board/olimex/a64-olinuxino/genimage.cfg
@@ -16,15 +16,9 @@  image sdcard.img {
 
 	partition spl {
 		in-partition-table = "no"
-		image = "sunxi-spl.bin"
+		image = "u-boot-sunxi-with-spl.bin"
 		offset = 8K
-	}
-
-	partition u-boot {
-		in-partition-table = "no"
-		image = "u-boot.itb"
-		offset = 40K
-		size = 1M # 1MB - 40K
+		size = 1032K # 1MB - 8KB + 16KB(GPT)
 	}
 
 	partition boot {
diff --git a/board/olimex/a64-olinuxino/patches/linux/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch b/board/olimex/a64-olinuxino/patches/linux/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
deleted file mode 100644
index 71ae991816..0000000000
--- a/board/olimex/a64-olinuxino/patches/linux/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
+++ /dev/null
@@ -1,52 +0,0 @@ 
-From f9df4186c17d686f1ca38f973d7a3a49e8e37c01 Mon Sep 17 00:00:00 2001
-From: Dirk Mueller <dmueller@suse.com>
-Date: Tue, 14 Jan 2020 18:53:41 +0100
-Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration
-
-gcc 10 will default to -fno-common, which causes this error at link
-time:
-
-  (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
-
-This is because both dtc-lexer as well as dtc-parser define the same
-global symbol yyloc. Before with -fcommon those were merged into one
-defintion. The proper solution would be to to mark this as "extern",
-however that leads to:
-
-  dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
-   26 | extern YYLTYPE yylloc;
-      |                ^~~~~~
-In file included from dtc-lexer.l:24:
-dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
-  127 | extern YYLTYPE yylloc;
-      |                ^~~~~~
-cc1: all warnings being treated as errors
-
-which means the declaration is completely redundant and can just be
-dropped.
-
-Signed-off-by: Dirk Mueller <dmueller@suse.com>
-Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-[robh: cherry-pick from upstream]
-Cc: stable@vger.kernel.org
-Signed-off-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
----
- scripts/dtc/dtc-lexer.l | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
-index 06c040902444..d1b3810156c7 100644
---- a/scripts/dtc/dtc-lexer.l
-+++ b/scripts/dtc/dtc-lexer.l
-@@ -38,7 +38,6 @@ LINECOMMENT	"//".*\n
- #include "srcpos.h"
- #include "dtc-parser.tab.h"
- 
--YYLTYPE yylloc;
- extern bool treesource_error;
- 
- /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
--- 
-2.25.1
-
diff --git a/board/olimex/a64-olinuxino/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch b/board/olimex/a64-olinuxino/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch
deleted file mode 100644
index ec60fc5825..0000000000
--- a/board/olimex/a64-olinuxino/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch
+++ /dev/null
@@ -1,28 +0,0 @@ 
-From 018921ee79d3f30893614b3b2b63b588d8544f73 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Thu, 30 Jan 2020 09:37:15 +0000
-Subject: [PATCH] Remove redundant YYLOC global declaration
-
-Same as the upstream fix for building dtc with gcc 10.
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
-Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
----
- scripts/dtc/dtc-lexer.l | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
-index fd825ebba6..24af549977 100644
---- a/scripts/dtc/dtc-lexer.l
-+++ b/scripts/dtc/dtc-lexer.l
-@@ -38,7 +38,6 @@ LINECOMMENT	"//".*\n
- #include "srcpos.h"
- #include "dtc-parser.tab.h"
- 
--YYLTYPE yylloc;
- extern bool treesource_error;
- 
- /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
--- 
-2.20.1
-
diff --git a/configs/olimex_a64_olinuxino_defconfig b/configs/olimex_a64_olinuxino_defconfig
index 7df52dfbdc..8840aaa53d 100644
--- a/configs/olimex_a64_olinuxino_defconfig
+++ b/configs/olimex_a64_olinuxino_defconfig
@@ -2,33 +2,30 @@  BR2_aarch64=y
 BR2_cortex_a53=y
 BR2_ARM_FPU_VFPV4=y
 
-# System
-BR2_GLOBAL_PATCH_DIR="board/olimex/a64-olinuxino/patches"
-
-# Linux headers same as kernel, a 5.0 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y
+# Linux headers same as kernel, a 5.15 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
 
 # Firmware
 BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git"
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1"
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64"
 BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
 
 # Bootloader
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="a64-olinuxino"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
 BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
-BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
-BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
 BR2_TARGET_UBOOT_SPL=y
-BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin"
+BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
+BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null"
 BR2_PACKAGE_HOST_UBOOT_TOOLS=y
 BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
 BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a64-olinuxino/boot.cmd"
@@ -36,7 +33,7 @@  BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a64-olinuxino/boot
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.4"
 BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-olinuxino"