Skip to content

Commit 1ab8fe5

Browse files
iavmingzhangqun
authored andcommitted
helios4: bump u-boot to v2026.04 (armbian#9786)
Patches forked from board_helios4/v2025.10/ to board_helios4/v2026.04/; all 9 apply (5 with rebase fuzz, left as follow-up). Patch 0005 'arm-mvebu-helios4-Update-Load-address' is carried as .disabled. Its vendor 2013 layout (kernel/initrd gap=8 MiB, KERNEL_ADDR_R=0x2080000) was the source of "RD image overlaps OS image" PXE failures with modern zImage 6.12+; upstream defaults (KERNEL=0x800000, RAMDISK=0x1800000, gap=16 MiB) work fine. boot-mvebu.cmd already runtime-overrides ramdisk_addr_r to 0x03080000, so SD-flow remains unaffected. Validated by SD-boot of resolute armhf 6.18.27-edge-mvebu image on real Helios4: u-boot 2026.04, btrfs root, mvneta DHCP, SATA attached, no kernel panics, firstrun completes. Assisted-by: Claude:claude-opus-4.7
1 parent c16769d commit 1ab8fe5

12 files changed

Lines changed: 550 additions & 1 deletion

config/sources/families/include/mvebu-helios4.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ case $BRANCH in
1212

1313
BOOTSOURCE=$MAINLINE_UBOOT_SOURCE
1414
BOOTDIR=$MAINLINE_UBOOT_DIR
15-
BOOTBRANCH='tag:v2025.10'
15+
BOOTBRANCH='tag:v2026.04'
1616
BOOTPATCHDIR="${BOOTBRANCH#tag:}/board_${BOARD:?}"
1717
BOOTSCRIPT='boot-mvebu.cmd:boot.cmd'
1818

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
From befbb65412d22f698703207d8d29b7707fcb62b3 Mon Sep 17 00:00:00 2001
2+
Message-Id: <befbb65412d22f698703207d8d29b7707fcb62b3.1561459213.git.aditya@kobol.io>
3+
From: Aditya Prayoga <aditya@kobol.io>
4+
Date: Tue, 19 Mar 2019 19:28:44 +0800
5+
Subject: [PATCH] ARMADA A388 SOM U-Boot ODT Update
6+
7+
Old versions of U-Boot did not configure correctly the ODT on data
8+
signals of DDR RAM on ARMADA A388 SOMs.[1]
9+
10+
The changes on [2] adapted into current source.
11+
12+
[1]
13+
https://developer.solid-run.com/knowledge-base/armada-38x-som-u-boot-odt-update/
14+
15+
[2]https://github.com/SolidRun/u-boot/commit/ab15b2d5b6ee50c106628dc0aa5943747a5dd772
16+
17+
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
18+
---
19+
drivers/ddr/marvell/a38x/ddr3_training.c | 4 ++--
20+
drivers/ddr/marvell/a38x/mv_ddr_plat.h | 2 +-
21+
2 files changed, 3 insertions(+), 3 deletions(-)
22+
23+
diff --git a/drivers/ddr/marvell/a38x/ddr3_training.c b/drivers/ddr/marvell/a38x/ddr3_training.c
24+
index 799c5ba089..33d4255bba 100644
25+
--- a/drivers/ddr/marvell/a38x/ddr3_training.c
26+
+++ b/drivers/ddr/marvell/a38x/ddr3_training.c
27+
@@ -1606,7 +1606,7 @@ int ddr3_tip_freq_set(u32 dev_num, enum hws_access_type access_type,
28+
CHECK_STATUS(ddr3_tip_if_write(dev_num, access_type,
29+
if_id, DDR_ODT_TIMING_LOW_REG,
30+
val, 0xffff0));
31+
- val = 0x91 | ((cwl_value - 1) << 8) | ((cwl_value + 5) << 12);
32+
+ val = 0x71 | ((cwl_value - 1) << 8) | ((cwl_value + 5) << 12);
33+
CHECK_STATUS(ddr3_tip_if_write(dev_num, access_type,
34+
if_id, DDR_ODT_TIMING_HIGH_REG,
35+
val, 0xffff));
36+
@@ -1661,7 +1661,7 @@ static int ddr3_tip_write_odt(u32 dev_num, enum hws_access_type access_type,
37+
38+
CHECK_STATUS(ddr3_tip_if_write(dev_num, access_type, if_id,
39+
DDR_ODT_TIMING_LOW_REG, val, 0xffff0));
40+
- val = 0x91 | ((cwl_value - 1) << 8) | ((cwl_value + 5) << 12);
41+
+ val = 0x71 | ((cwl_value - 1) << 8) | ((cwl_value + 5) << 12);
42+
CHECK_STATUS(ddr3_tip_if_write(dev_num, access_type, if_id,
43+
DDR_ODT_TIMING_HIGH_REG, val, 0xffff));
44+
if (odt_additional == 1) {
45+
diff --git a/drivers/ddr/marvell/a38x/mv_ddr_plat.h b/drivers/ddr/marvell/a38x/mv_ddr_plat.h
46+
index 9c5fdecd93..e01e89ca05 100644
47+
--- a/drivers/ddr/marvell/a38x/mv_ddr_plat.h
48+
+++ b/drivers/ddr/marvell/a38x/mv_ddr_plat.h
49+
@@ -33,7 +33,7 @@
50+
#define TUNE_TRAINING_PARAMS_N_ODT_CTRL 45
51+
#define TUNE_TRAINING_PARAMS_DIC 0x2
52+
#define TUNE_TRAINING_PARAMS_ODT_CONFIG_2CS 0x120012
53+
-#define TUNE_TRAINING_PARAMS_ODT_CONFIG_1CS 0x10000
54+
+#define TUNE_TRAINING_PARAMS_ODT_CONFIG_1CS 0x30000
55+
#define TUNE_TRAINING_PARAMS_RTT_NOM 0x44
56+
57+
#define TUNE_TRAINING_PARAMS_RTT_WR_1CS 0x0 /*off*/
58+
--
59+
2.17.1
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
From 6eecc75c169fd9b1a3c26a3c8043f63d4a689d9e Mon Sep 17 00:00:00 2001
2+
Message-Id: <6eecc75c169fd9b1a3c26a3c8043f63d4a689d9e.1561517341.git.aditya@kobol.io>
3+
In-Reply-To: <351f4566aeaff51d999554a2be40ab6a40fb617d.1561517341.git.aditya@kobol.io>
4+
References: <351f4566aeaff51d999554a2be40ab6a40fb617d.1561517341.git.aditya@kobol.io>
5+
From: Aditya Prayoga <aditya@kobol.io>
6+
Date: Wed, 26 Jun 2019 10:48:38 +0800
7+
Subject: [PATCH 2/2] configs: Enable U-Boot RTC support on Helios4
8+
9+
2025-11-23: Tom Urlings: Reapplied build/patch/u-boot/legacy/u-boot-helios4/board_helios4/Add-RTC-to-helios4.patch
10+
11+
---
12+
configs/helios4_defconfig | 3 +++
13+
1 file changed, 3 insertions(+)
14+
15+
diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig
16+
index 3fb5f677ce8..f736c790e80 100644
17+
--- a/configs/helios4_defconfig
18+
+++ b/configs/helios4_defconfig
19+
@@ -43,10 +43,11 @@ CONFIG_CMD_GPIO=y
20+
CONFIG_CMD_I2C=y
21+
CONFIG_CMD_MMC=y
22+
CONFIG_CMD_PCI=y
23+
CONFIG_CMD_SPI=y
24+
CONFIG_CMD_USB=y
25+
+CONFIG_CMD_DATE=y
26+
CONFIG_CMD_TFTPPUT=y
27+
CONFIG_CMD_CACHE=y
28+
CONFIG_CMD_TIME=y
29+
CONFIG_ENV_OVERWRITE=y
30+
CONFIG_ENV_MIN_ENTRIES=128
31+
@@ -70,10 +71,12 @@ CONFIG_PHY_GIGE=y
32+
CONFIG_MVNETA=y
33+
CONFIG_MII=y
34+
CONFIG_MVMDIO=y
35+
CONFIG_PCI_MVEBU=y
36+
CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
37+
+CONFIG_DM_RTC=y
38+
+CONFIG_RTC_ARMADA38X=y
39+
CONFIG_DEBUG_UART_SHIFT=2
40+
CONFIG_SYS_NS16550=y
41+
CONFIG_KIRKWOOD_SPI=y
42+
CONFIG_USB=y
43+
CONFIG_USB_XHCI_HCD=y
44+
--
45+
Created with Armbian build tools https://github.com/armbian/build
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
From 68876ccdd2fdb5bf450d9d546e18286b4508cf33 Mon Sep 17 00:00:00 2001
2+
Message-Id: <68876ccdd2fdb5bf450d9d546e18286b4508cf33.1561531622.git.aditya@kobol.io>
3+
From: Aditya Prayoga <aditya@kobol.io>
4+
Date: Wed, 26 Jun 2019 14:42:30 +0800
5+
Subject: [PATCH] mvebu: configs: add boot-marvell.cmd backward compatibility
6+
7+
On system that still use boot.scr derived from boot-marvell.cmd, new
8+
u-boot 2018 will failed to load dtb and script due to missing some
9+
variables. This will render the system unbootable.
10+
11+
These changes added the missing variables.
12+
13+
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
14+
---
15+
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
16+
index 4993303f..97af842e 100644
17+
--- a/include/config_distro_bootcmd.h
18+
+++ b/include/config_distro_bootcmd.h
19+
@@ -411,6 +411,7 @@
20+
"boot_a_script=" \
21+
"load ${devtype} ${devnum}:${distro_bootpart} " \
22+
"${scriptaddr} ${prefix}${script}; " \
23+
+ "setenv boot_interface ${devtype};" \
24+
"source ${scriptaddr}\0" \
25+
\
26+
"scan_dev_for_scripts=" \
27+
diff --git a/include/configs/helios4.h b/include/configs/helios4.h
28+
index df4d8bcb..ef6c4ed6 100644
29+
--- a/include/configs/helios4.h
30+
+++ b/include/configs/helios4.h
31+
@@ -174,6 +174,8 @@
32+
LOAD_ADDRESS_ENV_SETTINGS \
33+
"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
34+
"console=ttyS0,115200\0" \
35+
+ "loadaddr=0x02000000\0" \
36+
+ "fdt_addr=" FDT_ADDR_R "\0" \
37+
BOOTENV
38+
39+
#endif /* CONFIG_SPL_BUILD */
40+
--
41+
2.17.1
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
From 5e830c7c547daf781a93b69140bdded5609b6f08 Mon Sep 17 00:00:00 2001
2+
Message-Id: <5e830c7c547daf781a93b69140bdded5609b6f08.1561706494.git.aditya@kobol.io>
3+
From: Aditya Prayoga <aditya@kobol.io>
4+
Date: Fri, 28 Jun 2019 15:21:18 +0800
5+
Subject: [PATCH] arm: dts: armada-38x: Fix broken SPI support after dts sync
6+
7+
SPI support on mainline u-boot is broken since
8+
commit 30c4383 (ARM: mvebu: sync Armada-38x dts with Linux 4.20)
9+
10+
revert the changes on SPI node only.
11+
12+
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
13+
---
14+
arch/arm/dts/armada-38x.dtsi | 48 ++++++++++++++++++------------------
15+
1 file changed, 24 insertions(+), 24 deletions(-)
16+
17+
diff --git a/arch/arm/dts/armada-38x.dtsi b/arch/arm/dts/armada-38x.dtsi
18+
index 72c49beb71..f21a817444 100644
19+
--- a/arch/arm/dts/armada-38x.dtsi
20+
+++ b/arch/arm/dts/armada-38x.dtsi
21+
@@ -133,6 +133,30 @@
22+
clocks = <&coreclk 2>;
23+
};
24+
25+
+ spi0: spi@10600 {
26+
+ compatible = "marvell,armada-380-spi",
27+
+ "marvell,orion-spi";
28+
+ reg = <0x10600 0x50>;
29+
+ #address-cells = <1>;
30+
+ #size-cells = <0>;
31+
+ cell-index = <0>;
32+
+ interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
33+
+ clocks = <&coreclk 0>;
34+
+ status = "disabled";
35+
+ };
36+
+
37+
+ spi1: spi@10680 {
38+
+ compatible = "marvell,armada-380-spi",
39+
+ "marvell,orion-spi";
40+
+ reg = <0x10680 0x50>;
41+
+ #address-cells = <1>;
42+
+ #size-cells = <0>;
43+
+ cell-index = <1>;
44+
+ interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
45+
+ clocks = <&coreclk 0>;
46+
+ status = "disabled";
47+
+ };
48+
+
49+
gic: interrupt-controller@d000 {
50+
compatible = "arm,cortex-a9-gic";
51+
#interrupt-cells = <3>;
52+
@@ -620,30 +644,6 @@
53+
no-memory-wc;
54+
status = "disabled";
55+
};
56+
-
57+
- spi0: spi@10600 {
58+
- compatible = "marvell,armada-380-spi",
59+
- "marvell,orion-spi";
60+
- reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x50>;
61+
- #address-cells = <1>;
62+
- #size-cells = <0>;
63+
- cell-index = <0>;
64+
- interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
65+
- clocks = <&coreclk 0>;
66+
- status = "disabled";
67+
- };
68+
-
69+
- spi1: spi@10680 {
70+
- compatible = "marvell,armada-380-spi",
71+
- "marvell,orion-spi";
72+
- reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x50>;
73+
- #address-cells = <1>;
74+
- #size-cells = <0>;
75+
- cell-index = <1>;
76+
- interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
77+
- clocks = <&coreclk 0>;
78+
- status = "disabled";
79+
- };
80+
};
81+
82+
clocks {
83+
--
84+
2.17.1
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
From 86c6ccfc00e36152348dc74f98915d12a4adcb47 Mon Sep 17 00:00:00 2001
2+
Message-Id: <86c6ccfc00e36152348dc74f98915d12a4adcb47.1561531622.git.aditya@kobol.io>
3+
In-Reply-To: <1e9b721fe025578f00b7150665909e74f4f9fe9d.1561531622.git.aditya@kobol.io>
4+
References: <1e9b721fe025578f00b7150665909e74f4f9fe9d.1561531622.git.aditya@kobol.io>
5+
From: Aditya Prayoga <aditya@kobol.io>
6+
Date: Wed, 26 Jun 2019 14:46:30 +0800
7+
Subject: [PATCH 2/2] arm: mvebu: helios4: Update Load address
8+
9+
Use the values from U-Boot 2013.01 Marvell version: 2015_T1.0p16
10+
11+
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
12+
---
13+
include/configs/helios4.h | 10 +++++-----
14+
1 file changed, 5 insertions(+), 5 deletions(-)
15+
16+
diff --git a/include/configs/helios4.h b/include/configs/helios4.h
17+
index ef6c4ed6..c523f6a7 100644
18+
--- a/include/configs/helios4.h
19+
+++ b/include/configs/helios4.h
20+
@@ -154,11 +154,11 @@
21+
func(PXE, pxe, na) \
22+
func(DHCP, dhcp, na)
23+
24+
-#define KERNEL_ADDR_R __stringify(0x800000)
25+
-#define FDT_ADDR_R __stringify(0x100000)
26+
-#define RAMDISK_ADDR_R __stringify(0x1800000)
27+
-#define SCRIPT_ADDR_R __stringify(0x200000)
28+
-#define PXEFILE_ADDR_R __stringify(0x300000)
29+
+#define KERNEL_ADDR_R __stringify(0x2080000)
30+
+#define FDT_ADDR_R __stringify(0x2040000)
31+
+#define RAMDISK_ADDR_R __stringify(0x2880000)
32+
+#define SCRIPT_ADDR_R __stringify(0x3000000)
33+
+#define PXEFILE_ADDR_R __stringify(0x3100000)
34+
35+
#define LOAD_ADDRESS_ENV_SETTINGS \
36+
"kernel_addr_r=" KERNEL_ADDR_R "\0" \
37+
--
38+
2.17.1
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Tom Urlings <tom.urlings@gmail.com>
3+
Date: Sun, 23 Nov 2025 07:06:18 +0000
4+
Subject: Patching u-boot mvebu files arch/arm/Kconfig
5+
6+
2025-11-23: Tom Urlings: Reapplied build/patch/u-boot/legacy/u-boot-helios4/enable-DT-overlays-support.patch
7+
8+
Signed-off-by: Tom Urlings <tom.urlings@gmail.com>
9+
---
10+
arch/arm/Kconfig | 2 ++
11+
1 file changed, 2 insertions(+)
12+
13+
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
14+
index 625d2e995d2..731002177a8 100644
15+
--- a/arch/arm/Kconfig
16+
+++ b/arch/arm/Kconfig
17+
@@ -665,10 +665,12 @@ config ARCH_MVEBU
18+
select SPL_DM_SPI if SPL
19+
select SPL_DM_SPI_FLASH if SPL
20+
select SPL_TIMER if SPL
21+
select TIMER if !ARM64
22+
select OF_CONTROL
23+
+ select OF_LIBFDT
24+
+ select OF_LIBFDT_OVERLAY
25+
select SPI
26+
imply CMD_DM
27+
28+
config ARCH_ORION5X
29+
bool "Marvell Orion"
30+
--
31+
Created with Armbian build tools https://github.com/armbian/build
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Tom Urlings <tom.urlings@gmail.com>
3+
Date: Sun, 23 Nov 2025 07:20:54 +0000
4+
Subject: Enable command `setexpr`
5+
6+
Signed-off-by: Tom Urlings <tom.urlings@gmail.com>
7+
---
8+
configs/helios4_defconfig | 1 +
9+
1 file changed, 1 insertion(+)
10+
11+
diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig
12+
index f736c790e80..2123ca638fe 100644
13+
--- a/configs/helios4_defconfig
14+
+++ b/configs/helios4_defconfig
15+
@@ -43,10 +43,11 @@ CONFIG_CMD_GPIO=y
16+
CONFIG_CMD_I2C=y
17+
CONFIG_CMD_MMC=y
18+
CONFIG_CMD_PCI=y
19+
CONFIG_CMD_SPI=y
20+
CONFIG_CMD_USB=y
21+
+CONFIG_CMD_SETEXPR=y
22+
CONFIG_CMD_DATE=y
23+
CONFIG_CMD_TFTPPUT=y
24+
CONFIG_CMD_CACHE=y
25+
CONFIG_CMD_TIME=y
26+
CONFIG_ENV_OVERWRITE=y
27+
--
28+
Created with Armbian build tools https://github.com/armbian/build

0 commit comments

Comments
 (0)