uboot-mvebu: update to v2020.10

Remove merged patches and update the emmc set.

Signed-off-by: Andre Heider <a.heider@gmail.com>
This commit is contained in:
Andre Heider 2020-09-26 08:05:00 +02:00 committed by Hauke Mehrtens
parent 4d6ade2a22
commit ed20d4cc41
8 changed files with 40 additions and 186 deletions

View File

@ -8,10 +8,10 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_VERSION:=2020.10-rc4
PKG_VERSION:=2020.10
PKG_RELEASE:=1
PKG_HASH:=0a7bdd2c7df2c14daf2730fcf3277fd917aadfaae935529e29c7412314bbf260
PKG_HASH:=0d481bbdc05c0ee74908ec2f56a6daa53166cc6a78a0e4fac2ac5d025770a622
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk

View File

@ -1,10 +0,0 @@
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -151,6 +151,7 @@ const struct flash_info spi_nor_ids[] =
{ INFO("mx25u3235f", 0xc22536, 0, 4 * 1024, 1024, SECT_4K) },
{ INFO("mx25u6435f", 0xc22537, 0, 64 * 1024, 128, SECT_4K) },
{ INFO("mx25l12805d", 0xc22018, 0, 64 * 1024, 256, 0) },
+ { INFO("mx25u12835f", 0xc22538, 0, 64 * 1024, 256, SECT_4K) },
{ INFO("mx25l12855e", 0xc22618, 0, 64 * 1024, 256, 0) },
{ INFO("mx25l25635e", 0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ INFO("mx25u25635f", 0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },

View File

@ -1,13 +0,0 @@
Increase max gunzip size in mvebu_armada-37xx.h.
This is required in order to boot itb images.
--- a/include/configs/mvebu_armada-37xx.h
+++ b/include/configs/mvebu_armada-37xx.h
@@ -12,6 +12,7 @@
/* additions for new ARM relocation support */
#define CONFIG_SYS_SDRAM_BASE 0x00000000
+#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */
/* auto boot */

View File

@ -1,43 +0,0 @@
From 264c45575ec6a3d507dc4e43954b8a78283aca6c Mon Sep 17 00:00:00 2001
From: Andre Heider <a.heider@gmail.com>
Date: Thu, 10 Sep 2020 17:58:43 +0200
Subject: [PATCH] mmc: xenon_sdhci: Add missing common host capabilities
Use mmc_of_parse() to set the common host properties. That includes
"bus-width", so parsing it can be removed from the driver.
But more importantly, "non-removable" is now respected, which fixes
the usage of eMMC.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
drivers/mmc/xenon_sdhci.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
--- a/drivers/mmc/xenon_sdhci.c
+++ b/drivers/mmc/xenon_sdhci.c
@@ -485,20 +485,10 @@ static int xenon_sdhci_probe(struct udev
armada_3700_soc_pad_voltage_set(host);
host->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_DDR_52MHz;
- switch (fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "bus-width",
- 1)) {
- case 8:
- host->host_caps |= MMC_MODE_8BIT;
- break;
- case 4:
- host->host_caps |= MMC_MODE_4BIT;
- break;
- case 1:
- break;
- default:
- printf("Invalid \"bus-width\" value\n");
- return -EINVAL;
- }
+
+ ret = mmc_of_parse(dev, &plat->cfg);
+ if (ret)
+ return ret;
host->ops = &xenon_sdhci_ops;

View File

@ -1,14 +1,16 @@
From 753947e2c374820dcbc9c86626812aeb7d460653 Mon Sep 17 00:00:00 2001
From cdcfd9211c805624a702b6ff81b9bd9515344749 Mon Sep 17 00:00:00 2001
From: Andre Heider <a.heider@gmail.com>
Date: Fri, 4 Sep 2020 16:34:22 +0200
Subject: [PATCH] arm64: dts: armada-3720-espressobin: use Linux
model/compatible strings
Fix the actual board vendor and ease synching dts files from Linux.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
arch/arm/dts/armada-3720-espressobin.dts | 4 ++--
board/Marvell/mvebu_armada-37xx/board.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
board/Marvell/mvebu_armada-37xx/board.c | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
--- a/arch/arm/dts/armada-3720-espressobin.dts
+++ b/arch/arm/dts/armada-3720-espressobin.dts
@ -25,7 +27,24 @@ Fix the actual board vendor and ease synching dts files from Linux.
stdout-path = "serial0:115200n8";
--- a/board/Marvell/mvebu_armada-37xx/board.c
+++ b/board/Marvell/mvebu_armada-37xx/board.c
@@ -201,7 +201,7 @@ static int mii_multi_chip_mode_write(str
@@ -88,14 +88,14 @@ int board_late_init(void)
if (env_get("fdtfile"))
return 0;
- if (!of_machine_is_compatible("marvell,armada-3720-espressobin"))
+ 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("marvell,armada-3720-espressobin-emmc");
+ emmc = of_machine_is_compatible("globalscale,espressobin-emmc");
if (ddr4 && emmc)
env_set("fdtfile", "marvell/armada-3720-espressobin-v7-emmc.dtb");
@@ -248,7 +248,7 @@ static int mii_multi_chip_mode_write(str
/* Bring-up board-specific network stuff */
int board_network_enable(struct mii_dev *bus)
{
@ -34,7 +53,7 @@ Fix the actual board vendor and ease synching dts files from Linux.
return 0;
/*
@@ -253,7 +253,7 @@ int ft_board_setup(void *blob, struct bd
@@ -300,7 +300,7 @@ int ft_board_setup(void *blob, struct bd
int part_off;
/* Fill SPI MTD partitions for Linux kernel on Espressobin */

View File

@ -1,21 +1,20 @@
From ee59573dd531df96de0d9dc8e79b34ed3716c864 Mon Sep 17 00:00:00 2001
From a9ac1dd46a4fd11880be80227e1eb102e3c61dd8 Mon Sep 17 00:00:00 2001
From: Andre Heider <a.heider@gmail.com>
Date: Fri, 4 Sep 2020 15:38:58 +0200
Subject: [PATCH] arm64: dts: armada-3720-espressobin: split common parts to
.dtsi
Subject: [PATCH] arm64: dts: armada-3720-espressobin: split common parts
to .dtsi
Move most of the dts to the new common
arch/arm/dts/armada-3720-espressobin.dtsi file, just like Linux has.
Move most of the dts to the new common armada-3720-espressobin.dtsi
file, just like Linux, but keep the current, downstream based, version.
The dts itself is imported from Linux.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---
arch/arm/dts/armada-3720-espressobin.dts | 190 ++----------------
...sobin.dts => armada-3720-espressobin.dtsi} | 3 -
2 files changed, 20 insertions(+), 173 deletions(-)
rewrite arch/arm/dts/armada-3720-espressobin.dts (95%)
copy arch/arm/dts/{armada-3720-espressobin.dts => armada-3720-espressobin.dtsi} (96%)
arch/arm/dts/armada-3720-espressobin.dts | 164 +--------------------
arch/arm/dts/armada-3720-espressobin.dtsi | 167 ++++++++++++++++++++++
2 files changed, 174 insertions(+), 157 deletions(-)
create mode 100644 arch/arm/dts/armada-3720-espressobin.dtsi
--- a/arch/arm/dts/armada-3720-espressobin.dts
+++ b/arch/arm/dts/armada-3720-espressobin.dts

View File

@ -1,10 +1,12 @@
From 83908b6e2e5a7d7b0f4d040ffb4bf3ce6807b8fe Mon Sep 17 00:00:00 2001
From 408bba2fb84ad0b02c3f9529065126b40899e256 Mon Sep 17 00:00:00 2001
From: Andre Heider <a.heider@gmail.com>
Date: Fri, 4 Sep 2020 15:44:41 +0200
Subject: [PATCH] arm64: dts: a3720: add support for boards with populated emmc
Subject: [PATCH] arm64: dts: a3720: add support for espressobin with
populated emmc
Import armada-3720-espressobin-emmc.dts from Linux, but use sdhc1 for
emmc, since sdhc0 is used for the sd card.
emmc, since our dtsi is still based on downstream and sdhc0 is used for
the sd card.
Signed-off-by: Andre Heider <a.heider@gmail.com>
---

View File

@ -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