aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-mvebu/patches/102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch
diff options
context:
space:
mode:
authorJosef Schlehofer <pepe.schlehofer@gmail.com>2022-02-17 10:01:29 +0100
committerChristian Lamparter <chunkeey@gmail.com>2022-02-20 14:26:42 +0100
commit696f0a1cb466d580a91a62717e474bb11e3d4a53 (patch)
treedf3cc931f264f9e908abe42b73652a8dee953d41 /package/boot/uboot-mvebu/patches/102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch
parent82da1dfd69aa80d31cd152b5c7bfb76fb25bb03f (diff)
downloadupstream-696f0a1cb466d580a91a62717e474bb11e3d4a53.tar.gz
upstream-696f0a1cb466d580a91a62717e474bb11e3d4a53.tar.bz2
upstream-696f0a1cb466d580a91a62717e474bb11e3d4a53.zip
uboot-mvebu: backport pending patches for Marvell A38x
100-ddr-marvell-a38x-fix-BYTE_HOMOGENEOUS_SPLIT_OUT-deci.patch [1]: SoC Marvell A38x is used in Turris Omnia, and we thought that with recent fiddling around DDR training to fix it once for all, there were reproduced the issue in the upcoming new revision Turris Omnia boards. 101-arm-mvebu-spl-Add-option-to-reset-the-board-on-DDR-t.patch [2]: This is useful when some board may occasionally fail with DDR training, and it adds the option to reset the board on the DDR training failure 102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch [3]: This enables the option CONFIG_DDR_RESET_ON_TRAINING_FAILURE (added by 101 patch), so the Turris Omnia board is restarted immediately, and it does not require to reset the board manually or wait 120s for MCU to reset the board [1] https://patchwork.ozlabs.org/project/uboot/patch/20220217000837.13003-1-kabel@kernel.org/ [2] https://patchwork.ozlabs.org/project/uboot/patch/20220217000849.13028-1-kabel@kernel.org/ [3] https://patchwork.ozlabs.org/project/uboot/patch/20220217000849.13028-2-kabel@kernel.org/ Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Diffstat (limited to 'package/boot/uboot-mvebu/patches/102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch')
-rw-r--r--package/boot/uboot-mvebu/patches/102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/package/boot/uboot-mvebu/patches/102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch b/package/boot/uboot-mvebu/patches/102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch
new file mode 100644
index 0000000000..30215aa4e2
--- /dev/null
+++ b/package/boot/uboot-mvebu/patches/102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch
@@ -0,0 +1,38 @@
+From 930c46e86123aeea1c73ae55d70ff3dcfc077992 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <marek.behun@nic.cz>
+Date: Thu, 17 Feb 2022 13:54:43 +0100
+Subject: [PATCH 3/3] arm: mvebu: turris_omnia: Reset the board immediately on
+ DDR training failure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The state of the current DDR training code for Armada 38x is such that
+we cannot be sure it will always train successfully - although after the
+last change we were yet unable to find a board that failed DDR training,
+from experience in the last 2 years we know that it is possible.
+
+The experience also tells us that in many cases the board fails training
+only sometimes, and after a reset the training is successful.
+
+Enable the new option that makes the board reset itself on DDR training
+failure immediately. Until now we called hang() in such a case, which
+meant that the board was reset by the MCU after 120 seconds.
+
+Signed-off-by: Marek Behún <marek.behun@nic.cz>
+Reviewed-by: Stefan Roese <sr@denx.de>
+Reviewed-by: Pali Rohár <pali@kernel.org>
+---
+ configs/turris_omnia_defconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/configs/turris_omnia_defconfig
++++ b/configs/turris_omnia_defconfig
+@@ -11,6 +11,7 @@ CONFIG_NR_DRAM_BANKS=2
+ CONFIG_SYS_MEMTEST_START=0x00800000
+ CONFIG_SYS_MEMTEST_END=0x00ffffff
+ CONFIG_TARGET_TURRIS_OMNIA=y
++CONFIG_DDR_RESET_ON_TRAINING_FAILURE=y
+ CONFIG_ENV_SIZE=0x10000
+ CONFIG_ENV_OFFSET=0xF0000
+ CONFIG_ENV_SECT_SIZE=0x10000