aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-mvebu/patches/134-arm-mvebu-Espressobin-Set-environment-variable-fdtfi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/boot/uboot-mvebu/patches/134-arm-mvebu-Espressobin-Set-environment-variable-fdtfi.patch')
-rw-r--r--package/boot/uboot-mvebu/patches/134-arm-mvebu-Espressobin-Set-environment-variable-fdtfi.patch100
1 files changed, 0 insertions, 100 deletions
diff --git a/package/boot/uboot-mvebu/patches/134-arm-mvebu-Espressobin-Set-environment-variable-fdtfi.patch b/package/boot/uboot-mvebu/patches/134-arm-mvebu-Espressobin-Set-environment-variable-fdtfi.patch
deleted file mode 100644
index fd270ddae2..0000000000
--- a/package/boot/uboot-mvebu/patches/134-arm-mvebu-Espressobin-Set-environment-variable-fdtfi.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From d59406482c1847959305a986376b35e57da28e69 Mon Sep 17 00:00:00 2001
-From: Andre Heider <a.heider@gmail.com>
-Date: Sat, 5 Sep 2020 12:45:59 +0200
-Subject: [PATCH] arm: mvebu: Espressobin: Set environment variable fdtfile
-
-Required for the generic distro mechanism.
-
-Linux ships with 4 variants:
-marvell/armada-3720-espressobin-v7-emmc.dtb
-marvell/armada-3720-espressobin-v7.dtb
-marvell/armada-3720-espressobin-emmc.dtb
-marvell/armada-3720-espressobin.dtb
-
-Use available information to determine the appropriate filename.
-
-Tested on a v5 board without eMMC.
-
-Signed-off-by: Andre Heider <a.heider@gmail.com>
----
- board/Marvell/mvebu_armada-37xx/board.c | 47 +++++++++++++++++++++
- configs/mvebu_espressobin-88f3720_defconfig | 1 +
- 2 files changed, 48 insertions(+)
-
---- a/board/Marvell/mvebu_armada-37xx/board.c
-+++ b/board/Marvell/mvebu_armada-37xx/board.c
-@@ -5,6 +5,7 @@
-
- #include <common.h>
- #include <dm.h>
-+#include <env.h>
- #include <i2c.h>
- #include <init.h>
- #include <phy.h>
-@@ -50,6 +51,22 @@ DECLARE_GLOBAL_DATA_PTR;
- #define MVEBU_G2_SMI_PHY_CMD_REG (24)
- #define MVEBU_G2_SMI_PHY_DATA_REG (25)
-
-+/*
-+ * Memory Controller Registers
-+ *
-+ * Assembled based on public information:
-+ * https://gitlab.nic.cz/turris/mox-boot-builder/-/blob/master/wtmi/main.c#L332-336
-+ * https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/blob/mv_ddr-armada-18.12/drivers/mv_ddr_mc6.h#L309-L332
-+ *
-+ * And checked against the written register values for the various topologies:
-+ * https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/blob/mv_ddr-armada-atf-mainline/a3700/mv_ddr_tim.h
-+ */
-+#define A3700_CH0_MC_CTRL2_REG MVEBU_REGISTER(0x002c4)
-+#define A3700_MC_CTRL2_SDRAM_TYPE_MASK 0xf
-+#define A3700_MC_CTRL2_SDRAM_TYPE_OFFS 4
-+#define A3700_MC_CTRL2_SDRAM_TYPE_DDR3 2
-+#define A3700_MC_CTRL2_SDRAM_TYPE_DDR4 3
-+
- int board_early_init_f(void)
- {
- return 0;
-@@ -63,6 +80,36 @@ int board_init(void)
- return 0;
- }
-
-+#ifdef CONFIG_BOARD_LATE_INIT
-+int board_late_init(void)
-+{
-+ bool ddr4, emmc;
-+
-+ if (env_get("fdtfile"))
-+ return 0;
-+
-+ if (!of_machine_is_compatible("globalscale,espressobin"))
-+ return 0;
-+
-+ /* If the memory controller has been configured for DDR4, we're running on v7 */
-+ ddr4 = ((readl(A3700_CH0_MC_CTRL2_REG) >> A3700_MC_CTRL2_SDRAM_TYPE_OFFS)
-+ & A3700_MC_CTRL2_SDRAM_TYPE_MASK) == A3700_MC_CTRL2_SDRAM_TYPE_DDR4;
-+
-+ emmc = of_machine_is_compatible("globalscale,espressobin-emmc");
-+
-+ if (ddr4 && emmc)
-+ env_set("fdtfile", "marvell/armada-3720-espressobin-v7-emmc.dtb");
-+ else if (ddr4)
-+ env_set("fdtfile", "marvell/armada-3720-espressobin-v7.dtb");
-+ else if (emmc)
-+ env_set("fdtfile", "marvell/armada-3720-espressobin-emmc.dtb");
-+ else
-+ env_set("fdtfile", "marvell/armada-3720-espressobin.dtb");
-+
-+ return 0;
-+}
-+#endif
-+
- /* Board specific AHCI / SATA enable code */
- int board_ahci_enable(void)
- {
---- a/configs/mvebu_espressobin-88f3720_defconfig
-+++ b/configs/mvebu_espressobin-88f3720_defconfig
-@@ -84,3 +84,4 @@ CONFIG_USB_ETHER_RTL8152=y
- CONFIG_USB_ETHER_SMSC95XX=y
- CONFIG_SHA1=y
- CONFIG_SHA256=y
-+CONFIG_BOARD_LATE_INIT=y