Accepting request 767934 from hardware👢staging

- Fix firefly-rk3288 and tinker-rk3288 by using TPL instead of SPL
  (SPL too big)

- Fix mx6qsabrelite build

- Update to v2020.01:
  * Now requires python 3.5+ (2.x support dropped)
  * Add Orange Pi Zero Plus 2 support
  * Platfrom fixes: atmel, fsl, imx, Marvell, RPi, rockchip, sunxi, TI
  * EFI fixes
  * I2C fixes
  * MMC fixes
  * SPI fixes
  * USB fixes
- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2020.01
  * Patches dropped:
    0009-libfdt-fdt_address_cells-and-fdt_si.patch
    0010-libfdt-return-correct-value-if-size.patch
    0011-libfdt-Allow-size-cells-of-0.patch
    0012-dm-Fix-default-address-cells-return.patch
    0013-arm-arm11-allow-unaligned-memory-ac.patch
    0014-fdt-fix-bcm283x-dm-pre-reloc-defini.patch
    0015-arm-dts-bcm283x-Rename-U-Boot-file.patch
    0016-drivers-bcm283x-Set-pre-location-fl.patch
    0017-pinctrl-bcm283x-Add-compatible-for-.patch
    0018-rpi-push-fw_dtb_pointer-in-the-.dat.patch
    0019-ARM-bcm283x-Move-BCM283x_BASE-to-a-.patch
    0020-ARM-bcm283x-Set-rpi_bcm283x_base-at.patch
    0021-ARM-bcm283x-Set-memory-map-at-run-t.patch
    0022-ARM-defconfig-add-unified-config-fo.patch
    0023-boo-1144161-Remove-nand-mtd-spi-dfu.patch
    0024-rpi-fix-dram-bank-initialization.patch
    0025-rpi-Enable-DRAM-bank-initialization.patch
    0026-ARM-defconfig-Fix-32bit-config-for-.patch
  * Patches added:
    0009-boo-1144161-Remove-nand-mtd-spi-dfu.patch

OBS-URL: https://build.opensuse.org/request/show/767934
OBS-URL: https://build.opensuse.org/package/show/hardware:boot/u-boot?expand=0&rev=76
This commit is contained in:
Matthias Brugger 2020-01-28 09:38:57 +00:00 committed by Git OBS Bridge
parent f0a4df33bb
commit 6a7ce76d4e
33 changed files with 113 additions and 1297 deletions

View File

@ -1,4 +1,4 @@
From 5c52feb96a63368a7b8d7fa09e03e72dd9518474 Mon Sep 17 00:00:00 2001
From b7b82306b7a5bd33c353c53341b143966b41d2bc Mon Sep 17 00:00:00 2001
From: Guillaume GARDET <guillaume.gardet@free.fr>
Date: Wed, 13 Apr 2016 13:44:29 +0200
Subject: [PATCH] XXX openSUSE XXX: Prepend partition 2 (and 3 fo chromebook
@ -10,7 +10,7 @@ Subject: [PATCH] XXX openSUSE XXX: Prepend partition 2 (and 3 fo chromebook
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index 3570a32dff..a8b93ca50b 100644
index fc0935fa21..54fe9391fd 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -141,7 +141,7 @@
@ -22,7 +22,7 @@ index 3570a32dff..a8b93ca50b 100644
"scan_dev_for_efi=" \
"setenv efi_fdtfile ${fdtfile}; " \
BOOTENV_EFI_SET_FDTFILE_FALLBACK \
@@ -465,7 +465,7 @@
@@ -466,7 +466,7 @@
"scan_dev_for_boot_part=" \
"part list ${devtype} ${devnum} -bootable devplist; " \
"env exists devplist || setenv devplist 1; " \

View File

@ -1,4 +1,4 @@
From cd627d9bf2149929301bafdcea8deb097f09986a Mon Sep 17 00:00:00 2001
From 1798872d0b37adcdd850c46d949338ef3b428e0d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Mon, 2 May 2016 23:25:07 +0200
Subject: [PATCH] Revert "Revert "omap3: Use raw SPL by default for mmc1""

View File

@ -1,4 +1,4 @@
From 79010f19df5787e201b2c9e7c6f54d70ac5c2ef6 Mon Sep 17 00:00:00 2001
From 741743044fdc2008ea45ac7f271daa567c4dd9f0 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Wed, 21 Feb 2018 17:41:13 +0100
Subject: [PATCH] rpi: Use firmware provided device tree
@ -28,7 +28,7 @@ Signed-off-by: Guillaume Gardet <guillaume.gardet@free.fr>
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
index fe5a7763a6..ed7f9381e9 100644
index 75c6c9c447..6e7fe71bbf 100644
--- a/configs/rpi_0_w_defconfig
+++ b/configs/rpi_0_w_defconfig
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
@ -41,7 +41,7 @@ index fe5a7763a6..ed7f9381e9 100644
CONFIG_ENV_FAT_INTERFACE="mmc"
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
index bf331c0ad0..52e3c3b234 100644
index 4e8204ef88..b5b7a08698 100644
--- a/configs/rpi_2_defconfig
+++ b/configs/rpi_2_defconfig
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
@ -54,7 +54,7 @@ index bf331c0ad0..52e3c3b234 100644
CONFIG_ENV_FAT_INTERFACE="mmc"
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
index c2417a0ec9..191962f0f7 100644
index d50953287c..4b9f61b2b2 100644
--- a/configs/rpi_3_32b_defconfig
+++ b/configs/rpi_3_32b_defconfig
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
@ -67,7 +67,7 @@ index c2417a0ec9..191962f0f7 100644
CONFIG_ENV_FAT_INTERFACE="mmc"
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
index 4fa682539c..03a2356d3d 100644
index c0c0955131..ce7813fb1f 100644
--- a/configs/rpi_3_defconfig
+++ b/configs/rpi_3_defconfig
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
@ -80,7 +80,7 @@ index 4fa682539c..03a2356d3d 100644
CONFIG_ENV_FAT_INTERFACE="mmc"
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
index 2c04b3334e..bf00d8b669 100644
index 2f4c7da6dc..063ec9f196 100644
--- a/configs/rpi_defconfig
+++ b/configs/rpi_defconfig
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y

View File

@ -1,4 +1,4 @@
From 9fb72dbb5f4bb92e9ce294f91aaf1f48af92e6c0 Mon Sep 17 00:00:00 2001
From f0bc44197a99ff78759064332e88bc6656ae3c38 Mon Sep 17 00:00:00 2001
From: Guillaume GARDET <guillaume.gardet@free.fr>
Date: Mon, 9 Apr 2018 10:28:26 +0200
Subject: [PATCH] Temp workaround for Chromebook snow to avoid the 'unable to
@ -9,10 +9,10 @@ Subject: [PATCH] Temp workaround for Chromebook snow to avoid the 'unable to
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
index ebe7bcdd90..de0c11852a 100644
index 1224540811..5c1cac97e4 100644
--- a/drivers/mmc/dw_mmc.c
+++ b/drivers/mmc/dw_mmc.c
@@ -599,7 +599,8 @@ void dwmci_setup_cfg(struct mmc_config *cfg, struct dwmci_host *host,
@@ -600,7 +600,8 @@ void dwmci_setup_cfg(struct mmc_config *cfg, struct dwmci_host *host,
cfg->host_caps |= MMC_MODE_4BIT;
cfg->host_caps &= ~MMC_MODE_8BIT;
}

View File

@ -1,4 +1,4 @@
From 5cca414fc09b0819289d32d2994eb21daa82c068 Mon Sep 17 00:00:00 2001
From 2e8cd6c9e8d9cc22a40cd98d45a0f2797587c280 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Tue, 24 Apr 2018 21:25:23 +0200
Subject: [PATCH] zynqmp: Add generic target

View File

@ -1,4 +1,4 @@
From dc7797478604d41d2f002f885cd2a8cd3d22fd19 Mon Sep 17 00:00:00 2001
From 8ee3e6d2312ebdd3868520fb528249816c3cb975 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf@suse.de>
Date: Thu, 26 Apr 2018 13:30:32 +0200
Subject: [PATCH] tools: zynqmpbif: Add support for load=after
@ -34,7 +34,7 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
1 file changed, 15 insertions(+)
diff --git a/tools/zynqmpbif.c b/tools/zynqmpbif.c
index 8c47107c7b..591bec8e59 100644
index 82ce0ac1a5..b4302fa67e 100644
--- a/tools/zynqmpbif.c
+++ b/tools/zynqmpbif.c
@@ -42,6 +42,7 @@ enum bif_flag {

View File

@ -1,4 +1,4 @@
From e9bcf78e73609a32d15699f0a6bc2e0cd9e08b0d Mon Sep 17 00:00:00 2001
From 98e9215b94ac8e2e5a8d545ad05b2ff0f9429bcc Mon Sep 17 00:00:00 2001
From: Guillaume GARDET <guillaume.gardet@free.fr>
Date: Tue, 29 Jan 2019 11:38:12 +0100
Subject: [PATCH] boo#1123170: Remove ubifs support from omap3_beagle to keep a
@ -10,7 +10,7 @@ Subject: [PATCH] boo#1123170: Remove ubifs support from omap3_beagle to keep a
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
index bf49de4704..90ae0c3b90 100644
index ed7cb8f2ff..03dc3b27d4 100644
--- a/configs/omap3_beagle_defconfig
+++ b/configs/omap3_beagle_defconfig
@@ -38,7 +38,6 @@ CONFIG_CMD_FS_UUID=y
@ -21,7 +21,7 @@ index bf49de4704..90ae0c3b90 100644
# CONFIG_ISO_PARTITION is not set
# CONFIG_SPL_EFI_PARTITION is not set
CONFIG_SPL_PARTITION_UUIDS=y
@@ -72,6 +71,7 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
@@ -73,6 +72,7 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
CONFIG_SYS_NAND_U_BOOT_OFFS=0x80000
CONFIG_SPL_NAND_SIMPLE=y
@ -30,14 +30,14 @@ index bf49de4704..90ae0c3b90 100644
CONFIG_DM_SPI=y
CONFIG_OMAP3_SPI=y
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index e8c60838b7..99cd59d40e 100644
index bc8aa7adf5..ee1d36003e 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -83,7 +83,6 @@
@@ -82,7 +82,6 @@
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(LEGACY_MMC, legacy_mmc, 0) \
- func(UBIFS, ubifs, 0) \
func(NAND, nand, 0)
#else /* !CONFIG_NAND */
#else /* !CONFIG_MTD_RAW_NAND */

View File

@ -1,4 +1,4 @@
From c34095d98fe8d6422ea8a71e8f1df9e5a7caf2c0 Mon Sep 17 00:00:00 2001
From 115e64c42f32f158728ef1747b707adbb61d8bd2 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Tue, 5 Mar 2019 18:09:04 +0100
Subject: [PATCH] zynqmp: generic: fix compilation

View File

@ -1,18 +1,18 @@
From f0deddd8100d62928b9d6a69a89557565314f7bd Mon Sep 17 00:00:00 2001
From: Guillaume GARDET <guillaume.gardet@free.fr>
Date: Thu, 5 Dec 2019 15:17:52 +0100
From 06001132d3503a4e2db4d71fe380bb75115930f7 Mon Sep 17 00:00:00 2001
From: Guillaume Gardet <guillaume.gardet@arm.com>
Date: Mon, 16 Dec 2019 17:51:17 +0100
Subject: [PATCH] boo#1144161: Remove nand/mtd/spi/dfu/fastboot support from
am335x_evm to keep a small u-boot.img
---
configs/am335x_evm_defconfig | 23 +++--------------------
1 file changed, 3 insertions(+), 20 deletions(-)
configs/am335x_evm_defconfig | 23 ++---------------------
1 file changed, 2 insertions(+), 21 deletions(-)
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index 2aa9b65caf..1bdb2bf091 100644
index 335aa8cfa1..ccb11c9b2a 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -15,21 +15,17 @@ CONFIG_ARCH_MISC_INIT=y
@@ -15,21 +15,16 @@ CONFIG_ARCH_MISC_INIT=y
CONFIG_SPL_FIT_IMAGE_TINY=y
CONFIG_SPL_ETH_SUPPORT=y
# CONFIG_SPL_FS_EXT4 is not set
@ -26,9 +26,9 @@ index 2aa9b65caf..1bdb2bf091 100644
CONFIG_SPL_USB_ETHER=y
CONFIG_CMD_SPL=y
-CONFIG_CMD_SPL_NAND_OFS=0x00080000
+# CONFIG_CMD_DM is not set
# CONFIG_CMD_FLASH is not set
-# CONFIG_CMD_FLASH is not set
-CONFIG_CMD_NAND=y
+# CONFIG_CMD_DM is not set
# CONFIG_CMD_SETEXPR is not set
-CONFIG_CMD_MTDPARTS=y
-CONFIG_MTDIDS_DEFAULT="nand0=nand.0"
@ -36,10 +36,10 @@ index 2aa9b65caf..1bdb2bf091 100644
# CONFIG_SPL_EFI_PARTITION is not set
CONFIG_OF_CONTROL=y
CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"
@@ -37,32 +33,20 @@ CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bone
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_SPL_ENV_IS_NOWHERE=y
@@ -40,32 +35,19 @@ CONFIG_SPL_ENV_IS_NOWHERE=y
CONFIG_BOOTCOUNT_LIMIT=y
CONFIG_CLK=y
CONFIG_CLK_CDCE9XX=y
-CONFIG_DFU_MMC=y
-CONFIG_DFU_NAND=y
-CONFIG_DFU_RAM=y
@ -49,12 +49,11 @@ index 2aa9b65caf..1bdb2bf091 100644
CONFIG_DM_MMC=y
# CONFIG_MMC_HW_PARTITIONING is not set
CONFIG_MMC_OMAP_HS=y
-CONFIG_NAND=y
-CONFIG_MTD=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH=y
-CONFIG_SF_DEFAULT_SPEED=24000000
-CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_MTD_DEVICE=y
CONFIG_DM_ETH=y
CONFIG_MII=y
CONFIG_DRIVER_TI_CPSW=y
@ -70,7 +69,7 @@ index 2aa9b65caf..1bdb2bf091 100644
CONFIG_USB_MUSB_HOST=y
CONFIG_USB_MUSB_GADGET=y
CONFIG_USB_MUSB_TI=y
@@ -70,7 +54,6 @@ CONFIG_USB_GADGET=y
@@ -73,7 +55,6 @@ CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
CONFIG_USB_GADGET_VENDOR_NUM=0x0451
CONFIG_USB_GADGET_PRODUCT_NUM=0xd022

View File

@ -1,100 +0,0 @@
From 082fa10793d12601ba9480c5d57a06c531505a82 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Thu, 5 Sep 2019 10:48:46 +0200
Subject: [PATCH] libfdt: fdt_address_cells() and fdt_size_cells()
Add internal fdt_cells() to avoid copy and paste. Fix typo in
fdt_size_cells() documentation comment.
This is based in upstream commit:
c12b2b0 ("libfdt: fdt_address_cells() and fdt_size_cells()")
but misses the test cases, as we don't implement them in U-Boot.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit b3bec26ecd6ef446a9c11504d414a50453eefe62)
---
scripts/dtc/libfdt/fdt_addresses.c | 35 +++++++++++-------------------
scripts/dtc/libfdt/libfdt.h | 2 +-
2 files changed, 14 insertions(+), 23 deletions(-)
diff --git a/scripts/dtc/libfdt/fdt_addresses.c b/scripts/dtc/libfdt/fdt_addresses.c
index eff4dbcc72..49537b578d 100644
--- a/scripts/dtc/libfdt/fdt_addresses.c
+++ b/scripts/dtc/libfdt/fdt_addresses.c
@@ -1,6 +1,7 @@
/*
* libfdt - Flat Device Tree manipulation
* Copyright (C) 2014 David Gibson <david@gibson.dropbear.id.au>
+ * Copyright (C) 2018 embedded brains GmbH
*
* libfdt is dual licensed: you can use it either under the terms of
* the GPL, or the BSD license, at your option.
@@ -55,42 +56,32 @@
#include "libfdt_internal.h"
-int fdt_address_cells(const void *fdt, int nodeoffset)
+static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
{
- const fdt32_t *ac;
+ const fdt32_t *c;
int val;
int len;
- ac = fdt_getprop(fdt, nodeoffset, "#address-cells", &len);
- if (!ac)
+ c = fdt_getprop(fdt, nodeoffset, name, &len);
+ if (!c)
return 2;
- if (len != sizeof(*ac))
+ if (len != sizeof(*c))
return -FDT_ERR_BADNCELLS;
- val = fdt32_to_cpu(*ac);
+ val = fdt32_to_cpu(*c);
if ((val <= 0) || (val > FDT_MAX_NCELLS))
return -FDT_ERR_BADNCELLS;
return val;
}
-int fdt_size_cells(const void *fdt, int nodeoffset)
+int fdt_address_cells(const void *fdt, int nodeoffset)
{
- const fdt32_t *sc;
- int val;
- int len;
-
- sc = fdt_getprop(fdt, nodeoffset, "#size-cells", &len);
- if (!sc)
- return 2;
-
- if (len != sizeof(*sc))
- return -FDT_ERR_BADNCELLS;
-
- val = fdt32_to_cpu(*sc);
- if ((val < 0) || (val > FDT_MAX_NCELLS))
- return -FDT_ERR_BADNCELLS;
+ return fdt_cells(fdt, nodeoffset, "#address-cells");
+}
- return val;
+int fdt_size_cells(const void *fdt, int nodeoffset)
+{
+ return fdt_cells(fdt, nodeoffset, "#size-cells");
}
diff --git a/scripts/dtc/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h
index cf86ddba88..66f01fec53 100644
--- a/scripts/dtc/libfdt/libfdt.h
+++ b/scripts/dtc/libfdt/libfdt.h
@@ -1109,7 +1109,7 @@ int fdt_address_cells(const void *fdt, int nodeoffset);
*
* returns:
* 0 <= n < FDT_MAX_NCELLS, on success
- * 2, if the node has no #address-cells property
+ * 2, if the node has no #size-cells property
* -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid
* #size-cells property
* -FDT_ERR_BADMAGIC,

View File

@ -1,74 +0,0 @@
From 364d2cbad906064fa386f6170f9f1d927eb69ae8 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Thu, 5 Sep 2019 10:48:47 +0200
Subject: [PATCH] libfdt: return correct value if #size-cells property is not
present
According to the device tree specification, the default value for
was not present.
This patch also makes fdt_address_cells() and fdt_size_cells() conform
to the behaviour documented in libfdt.h. The defaults are only returned
if fdt_getprop() returns -FDT_ERR_NOTFOUND, otherwise the actual error
is returned.
This is based on upstream commit:
aa7254d ("libfdt: return correct value if #size-cells property is not present")
but misses the test case part, as we don't implement them in U-Boot.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
(cherry picked from commit 9328f2adca50bd0b90f291230894fc46bc564665)
---
scripts/dtc/libfdt/fdt_addresses.c | 16 +++++++++++++---
scripts/dtc/libfdt/libfdt.h | 2 +-
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/scripts/dtc/libfdt/fdt_addresses.c b/scripts/dtc/libfdt/fdt_addresses.c
index 49537b578d..f13a87dfa0 100644
--- a/scripts/dtc/libfdt/fdt_addresses.c
+++ b/scripts/dtc/libfdt/fdt_addresses.c
@@ -64,7 +64,7 @@ static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
c = fdt_getprop(fdt, nodeoffset, name, &len);
if (!c)
- return 2;
+ return len;
if (len != sizeof(*c))
return -FDT_ERR_BADNCELLS;
@@ -78,10 +78,20 @@ static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
int fdt_address_cells(const void *fdt, int nodeoffset)
{
- return fdt_cells(fdt, nodeoffset, "#address-cells");
+ int val;
+
+ val = fdt_cells(fdt, nodeoffset, "#address-cells");
+ if (val == -FDT_ERR_NOTFOUND)
+ return 2;
+ return val;
}
int fdt_size_cells(const void *fdt, int nodeoffset)
{
- return fdt_cells(fdt, nodeoffset, "#size-cells");
+ int val;
+
+ val = fdt_cells(fdt, nodeoffset, "#size-cells");
+ if (val == -FDT_ERR_NOTFOUND)
+ return 1;
+ return val;
}
diff --git a/scripts/dtc/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h
index 66f01fec53..5c778b115b 100644
--- a/scripts/dtc/libfdt/libfdt.h
+++ b/scripts/dtc/libfdt/libfdt.h
@@ -1109,7 +1109,7 @@ int fdt_address_cells(const void *fdt, int nodeoffset);
*
* returns:
* 0 <= n < FDT_MAX_NCELLS, on success
- * 2, if the node has no #size-cells property
+ * 1, if the node has no #size-cells property
* -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid
* #size-cells property
* -FDT_ERR_BADMAGIC,

View File

@ -1,62 +0,0 @@
From 4ec9166e183805f15df73ec48b5750f386828f51 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Thu, 5 Sep 2019 10:48:48 +0200
Subject: [PATCH] libfdt: Allow #size-cells of 0
The commit "libfdt: fdt_address_cells() and fdt_size_cells()" introduced
a bug as it consolidated code between the helpers for getting
be 0, and is frequently found so in practice for /cpus. IEEE1275 only
requires implementations to handle 1..4 for #address-cells, although one
could make a case for #address-cells == #size-cells == 0 being used to
represent a bridge with a single port.
While we're there, it's not totally obvious that the existing implicit
cast of a u32 to int will give the correct results according to strict C,
although it does work in practice. Straighten that up to cast only after
we've made our range checks.
This is based on upstream commit:
b8d6eca ("libfdt: Allow #size-cells of 0")
but misses the test cases,as we don't implement them in U-Boot.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
(cherry picked from commit 28e8a01e3e92755cb9e4d57f8fa25146c5aa698c)
---
scripts/dtc/libfdt/fdt_addresses.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/scripts/dtc/libfdt/fdt_addresses.c b/scripts/dtc/libfdt/fdt_addresses.c
index f13a87dfa0..788c143113 100644
--- a/scripts/dtc/libfdt/fdt_addresses.c
+++ b/scripts/dtc/libfdt/fdt_addresses.c
@@ -59,7 +59,7 @@
static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
{
const fdt32_t *c;
- int val;
+ uint32_t val;
int len;
c = fdt_getprop(fdt, nodeoffset, name, &len);
@@ -70,10 +70,10 @@ static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
return -FDT_ERR_BADNCELLS;
val = fdt32_to_cpu(*c);
- if ((val <= 0) || (val > FDT_MAX_NCELLS))
+ if (val > FDT_MAX_NCELLS)
return -FDT_ERR_BADNCELLS;
- return val;
+ return (int)val;
}
int fdt_address_cells(const void *fdt, int nodeoffset)
@@ -81,6 +81,8 @@ int fdt_address_cells(const void *fdt, int nodeoffset)
int val;
val = fdt_cells(fdt, nodeoffset, "#address-cells");
+ if (val == 0)
+ return -FDT_ERR_BADNCELLS;
if (val == -FDT_ERR_NOTFOUND)
return 2;
return val;

View File

@ -1,28 +0,0 @@
From 5e1c2ca428cb26dfcea48c759ae63d281ade8d49 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Thu, 5 Sep 2019 10:48:49 +0200
Subject: [PATCH] dm: Fix default address cells return value
Default address cells value on the livetree access function
returns the wrong value. Fix this so that the value returned
corresponds to the device tree specification.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
(cherry picked from commit 477b4084f76f7fa16e4d8483525c6d0070b47364)
---
include/dm/of.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/dm/of.h b/include/dm/of.h
index 461e25aa19..6bef73b441 100644
--- a/include/dm/of.h
+++ b/include/dm/of.h
@@ -111,7 +111,7 @@ static inline const char *of_node_full_name(const struct device_node *np)
/* Default #address and #size cells */
#if !defined(OF_ROOT_NODE_ADDR_CELLS_DEFAULT)
-#define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1
+#define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 2
#define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1
#endif

View File

@ -1,64 +0,0 @@
From 50ae76602cfb1079a3062a18c1767dce525985f0 Mon Sep 17 00:00:00 2001
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Tue, 19 Nov 2019 04:02:10 +0100
Subject: [PATCH] arm: arm11: allow unaligned memory access
The UEFI spec mandates that unaligned memory access should be enabled if
supported by the CPU architecture.
This patch implements the function unaligned_access() to set the enable
unaligned data support flag and to clear the aligned flag in the system
control register (SCTLR). It is called when UEFI related commands like
bootefi are invoked.
Reported-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
arch/arm/cpu/arm11/Makefile | 4 ++++
arch/arm/cpu/arm11/sctlr.S | 25 +++++++++++++++++++++++++
2 files changed, 29 insertions(+)
create mode 100644 arch/arm/cpu/arm11/sctlr.S
diff --git a/arch/arm/cpu/arm11/Makefile b/arch/arm/cpu/arm11/Makefile
index 5d721fce12..5dfa01ae8d 100644
--- a/arch/arm/cpu/arm11/Makefile
+++ b/arch/arm/cpu/arm11/Makefile
@@ -4,3 +4,7 @@
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
obj-y = cpu.o
+
+ifneq ($(CONFIG_SPL_BUILD),y)
+obj-$(CONFIG_EFI_LOADER) += sctlr.o
+endif
diff --git a/arch/arm/cpu/arm11/sctlr.S b/arch/arm/cpu/arm11/sctlr.S
new file mode 100644
index 0000000000..74a7fc4a25
--- /dev/null
+++ b/arch/arm/cpu/arm11/sctlr.S
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Routines to access the system control register
+ *
+ * Copyright (c) 2019 Heinrich Schuchardt
+ */
+
+#include <linux/linkage.h>
+
+/*
+ * void allow_unaligned(void) - allow unaligned access
+ *
+ * This routine sets the enable unaligned data support flag and clears the
+ * aligned flag in the system control register.
+ * After calling this routine unaligned access does no longer leads to a
+ * data abort or undefined behavior but is handled by the CPU.
+ * For details see the "ARM Architecture Reference Manual" for ARMv6.
+ */
+ENTRY(allow_unaligned)
+ mrc p15, 0, r0, c1, c0, 0 @ load system control register
+ orr r0, r0, #1 << 22 @ set unaligned data support flag
+ bic r0, r0, #2 @ clear aligned flag
+ mcr p15, 0, r0, c1, c0, 0 @ write system control register
+ bx lr @ return
+ENDPROC(allow_unaligned)

View File

@ -1,33 +0,0 @@
From 9526bad11cfe6be9e542360ae2db0f51e82d66e7 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Fri, 8 Nov 2019 14:49:46 +0100
Subject: [PATCH] fdt: fix bcm283x dm-pre-reloc definitions
In commmit
143256b353 ("fdt: update bcm283x device tree sources to Linux 5.1-rc6 state")
we deleted the label for the node soc from bcm283x.dtsi
As we don't need to add the property dm-pre-reloc to the soc node,
we can delete it from bcm283x-uboot.dtsi
Tested-by: Tom Rini <trini@konsulko.com> [RPi 3, 32b and 64b modes]
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
arch/arm/dts/bcm283x-uboot.dtsi | 4 ----
1 file changed, 4 deletions(-)
diff --git a/arch/arm/dts/bcm283x-uboot.dtsi b/arch/arm/dts/bcm283x-uboot.dtsi
index 6cc1aa3f93..36548dad62 100644
--- a/arch/arm/dts/bcm283x-uboot.dtsi
+++ b/arch/arm/dts/bcm283x-uboot.dtsi
@@ -6,10 +6,6 @@
* (C) Copyright 2016 Fabian Vogt <fvogt@suse.com>
*/
-&soc {
- u-boot,dm-pre-reloc;
-};
-
&uart0 {
skip-init;
u-boot,dm-pre-reloc;

View File

@ -1,33 +0,0 @@
From f23fa9de638a899bd26b4a7d95fd0cc4fb63ec2c Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Fri, 8 Nov 2019 14:49:47 +0100
Subject: [PATCH] arm: dts: bcm283x: Rename U-Boot file
Rename the file bcm283x-uboot.dtsi so that it get
automatically include through the scripts/Makefile.lib
using $(CONFIG_SYS_SOC))-u-boot.dtsi
Without this uarts and pincontroller miss the property dm-pre-reloc
and the first call to bcm283x_mu_serial_ofdata_to_platdata() fails
as the pins are not set correctly.
As a result the U-Boot banner isn't shown on boot.
Before commmit
143256b353 ("fdt: update bcm283x device tree sources to Linux 5.1-rc6 state")
we included bcm283x-uboot.dtsi directly in the device-tree file.
Which got deleted by the metioned commit.
This is a much robuster solution.
Reported-by: Tom Rini <trini@konsulko.com>
Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tested-by: Tom Rini <trini@konsulko.com> [RPi 3, 32b and 64b modes]
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
arch/arm/dts/{bcm283x-uboot.dtsi => bcm283x-u-boot.dtsi} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename arch/arm/dts/{bcm283x-uboot.dtsi => bcm283x-u-boot.dtsi} (100%)
diff --git a/arch/arm/dts/bcm283x-uboot.dtsi b/arch/arm/dts/bcm283x-u-boot.dtsi
similarity index 100%
rename from arch/arm/dts/bcm283x-uboot.dtsi
rename to arch/arm/dts/bcm283x-u-boot.dtsi

View File

@ -1,60 +0,0 @@
From 0b0820f5ed04171d9b73a149ea0d3470fcea71d1 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Fri, 8 Nov 2019 14:49:48 +0100
Subject: [PATCH] drivers: bcm283x: Set pre-location flag for OF_BOARD
U-Boot support on Raspberry Pi 4 relies on the device-tree
provided by the firmware. The blob does not contain the
U-Boot specific pre-loc-rel properties. The result is, that
the U-Boot banner is not printed.
We fix this by setting the DM_FLAG_PRE_RELOC flag in the driver,
if we rely on a device-tree provided by the firmware.
Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 2 +-
drivers/serial/serial_bcm283x_mu.c | 2 +-
drivers/serial/serial_bcm283x_pl011.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
index 3be080d29e..1bb91d6eed 100644
--- a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
+++ b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
@@ -148,7 +148,7 @@ U_BOOT_DRIVER(pinctrl_bcm283x) = {
.priv_auto_alloc_size = sizeof(struct bcm283x_pinctrl_priv),
.ops = &bcm283x_pinctrl_ops,
.probe = bcm283x_pinctl_probe,
-#if !CONFIG_IS_ENABLED(OF_CONTROL)
+#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_BOARD)
.flags = DM_FLAG_PRE_RELOC,
#endif
};
diff --git a/drivers/serial/serial_bcm283x_mu.c b/drivers/serial/serial_bcm283x_mu.c
index bd1d89ec83..a6ffc84b96 100644
--- a/drivers/serial/serial_bcm283x_mu.c
+++ b/drivers/serial/serial_bcm283x_mu.c
@@ -199,7 +199,7 @@ U_BOOT_DRIVER(serial_bcm283x_mu) = {
.platdata_auto_alloc_size = sizeof(struct bcm283x_mu_serial_platdata),
.probe = bcm283x_mu_serial_probe,
.ops = &bcm283x_mu_serial_ops,
-#if !CONFIG_IS_ENABLED(OF_CONTROL)
+#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_BOARD)
.flags = DM_FLAG_PRE_RELOC,
#endif
.priv_auto_alloc_size = sizeof(struct bcm283x_mu_priv),
diff --git a/drivers/serial/serial_bcm283x_pl011.c b/drivers/serial/serial_bcm283x_pl011.c
index 2527bb8b1c..7d8ab7b716 100644
--- a/drivers/serial/serial_bcm283x_pl011.c
+++ b/drivers/serial/serial_bcm283x_pl011.c
@@ -90,7 +90,7 @@ U_BOOT_DRIVER(bcm283x_pl011_uart) = {
.platdata_auto_alloc_size = sizeof(struct pl01x_serial_platdata),
.probe = pl01x_serial_probe,
.ops = &bcm283x_pl011_serial_ops,
-#if !CONFIG_IS_ENABLED(OF_CONTROL)
+#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_BOARD)
.flags = DM_FLAG_PRE_RELOC,
#endif
.priv_auto_alloc_size = sizeof(struct pl01x_priv),

View File

@ -1,26 +0,0 @@
From 54f64870ec3aa2ed8d0b5694f1f3f8df5853ee95 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Wed, 6 Nov 2019 15:28:25 +0100
Subject: [PATCH] pinctrl: bcm283x: Add compatible for RPi4
The Raspberry Pi 4 upstream kernel device tree instroduces
a new compatible for the pinctroller. Add this to the driver
so that we can boot with the upstream kernel DT.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
index 1bb91d6eed..eb720f09f8 100644
--- a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
+++ b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
@@ -99,6 +99,7 @@ static int bcm283x_pinctrl_get_gpio_mux(struct udevice *dev, int banknum,
static const struct udevice_id bcm2835_pinctrl_id[] = {
{.compatible = "brcm,bcm2835-gpio"},
+ {.compatible = "brcm,bcm2711-gpio"},
{}
};

View File

@ -1,68 +0,0 @@
From 9dfd6a0669ac5e299229b90baaa27efe8cc8e927 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Tue, 19 Nov 2019 16:01:02 +0100
Subject: [PATCH] rpi: push fw_dtb_pointer in the .data section
The fw_dtb_pointer was defined in the assembly code, which makes him
live in section .text_rest
Put that's not necessary, we can push the variable in the .data section.
This will prevent relocation errors like:
board/raspberrypi/rpi/rpi.c:317:(.text.board_get_usable_ram_top+0x8):
relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol
`fw_dtb_pointer' defined in .text section in board/raspberrypi/rpi/built-in.o
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
board/raspberrypi/rpi/lowlevel_init.S | 12 ++----------
board/raspberrypi/rpi/rpi.c | 7 +++++--
2 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/board/raspberrypi/rpi/lowlevel_init.S b/board/raspberrypi/rpi/lowlevel_init.S
index 435eed521f..8c39b3e12e 100644
--- a/board/raspberrypi/rpi/lowlevel_init.S
+++ b/board/raspberrypi/rpi/lowlevel_init.S
@@ -6,15 +6,6 @@
#include <config.h>
-.align 8
-.global fw_dtb_pointer
-fw_dtb_pointer:
-#ifdef CONFIG_ARM64
- .dword 0x0
-#else
- .word 0x0
-#endif
-
/*
* Routine: save_boot_params (called after reset from start.S)
* Description: save ATAG/FDT address provided by the firmware at boot time
@@ -28,7 +19,8 @@ save_boot_params:
adr x8, fw_dtb_pointer
str x0, [x8]
#else
- str r2, fw_dtb_pointer
+ ldr r8, =fw_dtb_pointer
+ str r2, [r8]
#endif
/* Returns */
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 9e0abdda31..e84a1db14a 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -27,8 +27,11 @@
DECLARE_GLOBAL_DATA_PTR;
-/* From lowlevel_init.S */
-extern unsigned long fw_dtb_pointer;
+/* Assigned in lowlevel_init.S
+ * Push the variable into the .data section so that it
+ * does not get cleared later.
+ */
+unsigned long __section(".data") fw_dtb_pointer;
/* TODO(sjg@chromium.org): Move these to the msg.c file */
struct msg_get_arm_mem {

View File

@ -1,232 +0,0 @@
From 3f5c91a5809b13ee0f2f75bda107398fede7536a Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Tue, 19 Nov 2019 16:01:03 +0100
Subject: [PATCH] ARM: bcm283x: Move BCM283x_BASE to a global variable
We move the per SOC define BCM283x_BASE to a global variable.
This is a first step to provide a single binary for several bcm283x
SoCs.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
arch/arm/mach-bcm283x/include/mach/base.h | 11 +++++++++++
arch/arm/mach-bcm283x/include/mach/mbox.h | 4 +++-
arch/arm/mach-bcm283x/include/mach/sdhci.h | 5 ++++-
arch/arm/mach-bcm283x/include/mach/timer.h | 7 ++++++-
arch/arm/mach-bcm283x/include/mach/wdog.h | 5 ++++-
arch/arm/mach-bcm283x/init.c | 8 ++++++++
arch/arm/mach-bcm283x/mbox.c | 1 +
arch/arm/mach-bcm283x/reset.c | 20 +++++++++++++++-----
include/configs/rpi.h | 4 ++++
9 files changed, 56 insertions(+), 9 deletions(-)
create mode 100644 arch/arm/mach-bcm283x/include/mach/base.h
diff --git a/arch/arm/mach-bcm283x/include/mach/base.h b/arch/arm/mach-bcm283x/include/mach/base.h
new file mode 100644
index 0000000000..c4ae39852f
--- /dev/null
+++ b/arch/arm/mach-bcm283x/include/mach/base.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * (C) Copyright 2019 Matthias Brugger
+ */
+
+#ifndef _BCM283x_BASE_H_
+#define _BCM283x_BASE_H_
+
+extern unsigned long rpi_bcm283x_base;
+
+#endif
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
index 0b6c2543d5..60e226ce1d 100644
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
@@ -7,6 +7,7 @@
#define _BCM2835_MBOX_H
#include <linux/compiler.h>
+#include <asm/arch/base.h>
/*
* The BCM2835 SoC contains (at least) two CPUs; the VideoCore (a/k/a "GPU")
@@ -37,7 +38,8 @@
/* Raw mailbox HW */
-#define BCM2835_MBOX_PHYSADDR (CONFIG_BCM283x_BASE + 0x0000b880)
+#define BCM2835_MBOX_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
+ rpi_bcm283x_base + 0x0000b880; })
struct bcm2835_mbox_regs {
u32 read;
diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h
index b443c379d8..7323690687 100644
--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h
+++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h
@@ -6,7 +6,10 @@
#ifndef _BCM2835_SDHCI_H_
#define _BCM2835_SDHCI_H_
-#define BCM2835_SDHCI_BASE (CONFIG_BCM283x_BASE + 0x00300000)
+#include <asm/arch/base.h>
+
+#define BCM2835_SDHCI_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
+ rpi_bcm283x_base + 0x00300000; })
int bcm2835_sdhci_init(u32 regbase, u32 emmc_freq);
diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h
index 014355e759..54f733a956 100644
--- a/arch/arm/mach-bcm283x/include/mach/timer.h
+++ b/arch/arm/mach-bcm283x/include/mach/timer.h
@@ -6,7 +6,12 @@
#ifndef _BCM2835_TIMER_H
#define _BCM2835_TIMER_H
-#define BCM2835_TIMER_PHYSADDR (CONFIG_BCM283x_BASE + 0x00003000)
+#ifndef __ASSEMBLY__
+#include <asm/arch/base.h>
+#endif
+
+#define BCM2835_TIMER_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
+ rpi_bcm283x_base + 0x00003000; })
#define BCM2835_TIMER_CS_M3 (1 << 3)
#define BCM2835_TIMER_CS_M2 (1 << 2)
diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h
index 8292b3cf1f..9942666720 100644
--- a/arch/arm/mach-bcm283x/include/mach/wdog.h
+++ b/arch/arm/mach-bcm283x/include/mach/wdog.h
@@ -6,7 +6,10 @@
#ifndef _BCM2835_WDOG_H
#define _BCM2835_WDOG_H
-#define BCM2835_WDOG_PHYSADDR (CONFIG_BCM283x_BASE + 0x00100000)
+#include <asm/arch/base.h>
+
+#define BCM2835_WDOG_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
+ rpi_bcm283x_base + 0x00100000; })
struct bcm2835_wdog_regs {
u32 unknown0[7];
diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c
index 97414415a6..d36017e823 100644
--- a/arch/arm/mach-bcm283x/init.c
+++ b/arch/arm/mach-bcm283x/init.c
@@ -8,6 +8,8 @@
#include <common.h>
+unsigned long rpi_bcm283x_base;
+
int arch_cpu_init(void)
{
icache_enable();
@@ -15,6 +17,12 @@ int arch_cpu_init(void)
return 0;
}
+int mach_cpu_init(void)
+{
+ rpi_bcm283x_base = CONFIG_BCM283x_BASE;
+
+ return 0;
+}
#ifdef CONFIG_ARMV7_LPAE
void enable_caches(void)
{
diff --git a/arch/arm/mach-bcm283x/mbox.c b/arch/arm/mach-bcm283x/mbox.c
index 3c67f68c17..467d0d5fba 100644
--- a/arch/arm/mach-bcm283x/mbox.c
+++ b/arch/arm/mach-bcm283x/mbox.c
@@ -5,6 +5,7 @@
#include <common.h>
#include <asm/io.h>
+#include <asm/arch/base.h>
#include <asm/arch/mbox.h>
#include <phys2bus.h>
diff --git a/arch/arm/mach-bcm283x/reset.c b/arch/arm/mach-bcm283x/reset.c
index b3da0c7cd6..cd8138d702 100644
--- a/arch/arm/mach-bcm283x/reset.c
+++ b/arch/arm/mach-bcm283x/reset.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <asm/io.h>
+#include <asm/arch/base.h>
#include <asm/arch/wdog.h>
#include <efi_loader.h>
@@ -25,10 +26,10 @@
void hw_watchdog_disable(void) {}
-__efi_runtime_data struct bcm2835_wdog_regs *wdog_regs =
- (struct bcm2835_wdog_regs *)BCM2835_WDOG_PHYSADDR;
+__efi_runtime_data struct bcm2835_wdog_regs *wdog_regs;
-void __efi_runtime reset_cpu(ulong ticks)
+static void __efi_runtime
+__reset_cpu(struct bcm2835_wdog_regs *wdog_regs, ulong ticks)
{
uint32_t rstc, timeout;
@@ -46,6 +47,14 @@ void __efi_runtime reset_cpu(ulong ticks)
writel(BCM2835_WDOG_PASSWORD | rstc, &wdog_regs->rstc);
}
+void reset_cpu(ulong ticks)
+{
+ struct bcm2835_wdog_regs *regs =
+ (struct bcm2835_wdog_regs *)BCM2835_WDOG_PHYSADDR;
+
+ __reset_cpu(regs, 0);
+}
+
#ifdef CONFIG_EFI_LOADER
void __efi_runtime EFIAPI efi_reset_system(
@@ -58,7 +67,7 @@ void __efi_runtime EFIAPI efi_reset_system(
if (reset_type == EFI_RESET_COLD ||
reset_type == EFI_RESET_WARM ||
reset_type == EFI_RESET_PLATFORM_SPECIFIC) {
- reset_cpu(0);
+ __reset_cpu(wdog_regs, 0);
} else if (reset_type == EFI_RESET_SHUTDOWN) {
/*
* We set the watchdog hard reset bit here to distinguish this reset
@@ -69,7 +78,7 @@ void __efi_runtime EFIAPI efi_reset_system(
val |= BCM2835_WDOG_PASSWORD;
val |= BCM2835_WDOG_RSTS_RASPBERRYPI_HALT;
writel(val, &wdog_regs->rsts);
- reset_cpu(0);
+ __reset_cpu(wdog_regs, 0);
}
while (1) { }
@@ -77,6 +86,7 @@ void __efi_runtime EFIAPI efi_reset_system(
efi_status_t efi_reset_system_init(void)
{
+ wdog_regs = (struct bcm2835_wdog_regs *)BCM2835_WDOG_PHYSADDR;
return efi_add_runtime_mmio(&wdog_regs, sizeof(*wdog_regs));
}
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
index 77d2d5458a..69b09f3f72 100644
--- a/include/configs/rpi.h
+++ b/include/configs/rpi.h
@@ -9,6 +9,10 @@
#include <linux/sizes.h>
#include <asm/arch/timer.h>
+#ifndef __ASSEMBLY__
+#include <asm/arch/base.h>
+#endif
+
#if defined(CONFIG_TARGET_RPI_2) || defined(CONFIG_TARGET_RPI_3_32B)
#define CONFIG_SKIP_LOWLEVEL_INIT
#endif

View File

@ -1,71 +0,0 @@
From 068815ca7495a41e28b62e119e54e956eb7bc8d7 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Tue, 19 Nov 2019 16:01:04 +0100
Subject: [PATCH] ARM: bcm283x: Set rpi_bcm283x_base at run-time
As part of the effort to create one binary for several bcm83x SoCs
we read the IO base address from device-tree.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
arch/arm/mach-bcm283x/Kconfig | 6 ------
arch/arm/mach-bcm283x/init.c | 20 ++++++++++++++++++--
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
index b08275f598..e8e0ff0eb4 100644
--- a/arch/arm/mach-bcm283x/Kconfig
+++ b/arch/arm/mach-bcm283x/Kconfig
@@ -202,10 +202,4 @@ config SYS_SOC
config SYS_CONFIG_NAME
default "rpi"
-config BCM283x_BASE
- hex
- default "0x20000000" if BCM2835
- default "0x3f000000" if BCM2836 || BCM2837
- default "0xfe000000" if BCM2711
-
endmenu
diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c
index d36017e823..b3f3dfabea 100644
--- a/arch/arm/mach-bcm283x/init.c
+++ b/arch/arm/mach-bcm283x/init.c
@@ -7,8 +7,10 @@
*/
#include <common.h>
+#include <dm/device.h>
+#include <fdt_support.h>
-unsigned long rpi_bcm283x_base;
+unsigned long rpi_bcm283x_base = 0x3f000000;
int arch_cpu_init(void)
{
@@ -19,10 +21,24 @@ int arch_cpu_init(void)
int mach_cpu_init(void)
{
- rpi_bcm283x_base = CONFIG_BCM283x_BASE;
+ int ret, soc_offset;
+ u64 io_base, size;
+
+ /* Get IO base from device tree */
+ soc_offset = fdt_path_offset(gd->fdt_blob, "/soc");
+ if (soc_offset < 0)
+ return soc_offset;
+
+ ret = fdt_read_range((void *)gd->fdt_blob, soc_offset, 0, NULL,
+ &io_base, &size);
+ if (ret)
+ return ret;
+
+ rpi_bcm283x_base = io_base;
return 0;
}
+
#ifdef CONFIG_ARMV7_LPAE
void enable_caches(void)
{

View File

@ -1,181 +0,0 @@
From 2954695f440f60b19f379e83b950031fcbacfb2f Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Tue, 19 Nov 2019 16:01:05 +0100
Subject: [PATCH] ARM: bcm283x: Set memory map at run-time
For bcm283x based on arm64 we also have to change the mm_region.
Add assign this in mach_cpu_init() so we can create now one binary
for RPi3 and RPi4.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
arch/arm/mach-bcm283x/init.c | 92 ++++++++++++++++++++++++++++++++++++
board/raspberrypi/rpi/rpi.c | 45 ------------------
2 files changed, 92 insertions(+), 45 deletions(-)
diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c
index b3f3dfabea..6fb41a99b2 100644
--- a/arch/arm/mach-bcm283x/init.c
+++ b/arch/arm/mach-bcm283x/init.c
@@ -10,6 +10,96 @@
#include <dm/device.h>
#include <fdt_support.h>
+#ifdef CONFIG_ARM64
+#include <asm/armv8/mmu.h>
+
+static struct mm_region bcm283x_mem_map[] = {
+ {
+ .virt = 0x00000000UL,
+ .phys = 0x00000000UL,
+ .size = 0x3f000000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
+ PTE_BLOCK_INNER_SHARE
+ }, {
+ .virt = 0x3f000000UL,
+ .phys = 0x3f000000UL,
+ .size = 0x01000000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+ PTE_BLOCK_NON_SHARE |
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
+ }, {
+ /* List terminator */
+ 0,
+ }
+};
+
+static struct mm_region bcm2711_mem_map[] = {
+ {
+ .virt = 0x00000000UL,
+ .phys = 0x00000000UL,
+ .size = 0xfe000000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
+ PTE_BLOCK_INNER_SHARE
+ }, {
+ .virt = 0xfe000000UL,
+ .phys = 0xfe000000UL,
+ .size = 0x01800000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+ PTE_BLOCK_NON_SHARE |
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
+ }, {
+ /* List terminator */
+ 0,
+ }
+};
+
+struct mm_region *mem_map = bcm283x_mem_map;
+
+/*
+ * I/O address space varies on different chip versions.
+ * We set the base address by inspecting the DTB.
+ */
+static const struct udevice_id board_ids[] = {
+ { .compatible = "brcm,bcm2837", .data = (ulong)&bcm283x_mem_map},
+ { .compatible = "brcm,bcm2838", .data = (ulong)&bcm2711_mem_map},
+ { .compatible = "brcm,bcm2711", .data = (ulong)&bcm2711_mem_map},
+ { },
+};
+
+static void _rpi_update_mem_map(struct mm_region *pd)
+{
+ int i;
+
+ for (i = 0; i < 2; i++) {
+ mem_map[i].virt = pd[i].virt;
+ mem_map[i].phys = pd[i].phys;
+ mem_map[i].size = pd[i].size;
+ mem_map[i].attrs = pd[i].attrs;
+ }
+}
+
+static void rpi_update_mem_map(void)
+{
+ int ret;
+ struct mm_region *mm;
+ const struct udevice_id *of_match = board_ids;
+
+ while (of_match->compatible) {
+ ret = fdt_node_check_compatible(gd->fdt_blob, 0,
+ of_match->compatible);
+ if (!ret) {
+ mm = (struct mm_region *)of_match->data;
+ _rpi_update_mem_map(mm);
+ break;
+ }
+
+ of_match++;
+ }
+}
+#else
+static void rpi_update_mem_map(void) {}
+#endif
+
unsigned long rpi_bcm283x_base = 0x3f000000;
int arch_cpu_init(void)
@@ -24,6 +114,8 @@ int mach_cpu_init(void)
int ret, soc_offset;
u64 io_base, size;
+ rpi_update_mem_map();
+
/* Get IO base from device tree */
soc_offset = fdt_path_offset(gd->fdt_blob, "/soc");
if (soc_offset < 0)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index e84a1db14a..3d4afaf653 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -251,51 +251,6 @@ static uint32_t rev_scheme;
static uint32_t rev_type;
static const struct rpi_model *model;
-#ifdef CONFIG_ARM64
-#ifndef CONFIG_BCM2711
-static struct mm_region bcm283x_mem_map[] = {
- {
- .virt = 0x00000000UL,
- .phys = 0x00000000UL,
- .size = 0x3f000000UL,
- .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
- PTE_BLOCK_INNER_SHARE
- }, {
- .virt = 0x3f000000UL,
- .phys = 0x3f000000UL,
- .size = 0x01000000UL,
- .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
- PTE_BLOCK_NON_SHARE |
- PTE_BLOCK_PXN | PTE_BLOCK_UXN
- }, {
- /* List terminator */
- 0,
- }
-};
-#else
-static struct mm_region bcm283x_mem_map[] = {
- {
- .virt = 0x00000000UL,
- .phys = 0x00000000UL,
- .size = 0xfe000000UL,
- .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
- PTE_BLOCK_INNER_SHARE
- }, {
- .virt = 0xfe000000UL,
- .phys = 0xfe000000UL,
- .size = 0x01800000UL,
- .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
- PTE_BLOCK_NON_SHARE |
- PTE_BLOCK_PXN | PTE_BLOCK_UXN
- }, {
- /* List terminator */
- 0,
- }
-};
-#endif
-struct mm_region *mem_map = bcm283x_mem_map;
-#endif
-
int dram_init(void)
{
ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_arm_mem, msg, 1);

View File

@ -1,86 +0,0 @@
From 51b57e87c48f5a75971817ae80a2fd113f26da74 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Wed, 6 Nov 2019 15:41:03 +0100
Subject: [PATCH] ARM: defconfig: add unified config for RPi3 and RPi4
Provide a defconfig which allows us to boot Raspberrry Pi 4
and Raspberry Pi 3 Model B/B+
Instead of using the embedded DTB as done in RPi3 we use the
devicetree provided by the firmware.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
arch/arm/mach-bcm283x/Kconfig | 7 ++++++
configs/rpi_arm64_defconfig | 45 +++++++++++++++++++++++++++++++++++
2 files changed, 52 insertions(+)
create mode 100644 configs/rpi_arm64_defconfig
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
index e8e0ff0eb4..00419bf254 100644
--- a/arch/arm/mach-bcm283x/Kconfig
+++ b/arch/arm/mach-bcm283x/Kconfig
@@ -188,6 +188,13 @@ config TARGET_RPI_4
This option creates a build targeting the ARMv8/AArch64 ISA.
select BCM2711_64B
+config TARGET_RPI_ARM64
+ bool "Raspberry Pi one binary 64-bit build"
+ help
+ Support for all armv8 based Raspberry Pi variants, such as
+ the RPi 4 model B, in AArch64 (64-bit) mode.
+ select ARM64
+
endchoice
config SYS_BOARD
diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig
new file mode 100644
index 0000000000..f4e113f58c
--- /dev/null
+++ b/configs/rpi_arm64_defconfig
@@ -0,0 +1,45 @@
+CONFIG_ARM=y
+CONFIG_ARM64=y
+CONFIG_TARGET_RPI_ARM64=y
+CONFIG_ARCH_BCM283X=y
+CONFIG_SYS_TEXT_BASE=0x00080000
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_NR_DRAM_BANKS=2
+CONFIG_OF_BOARD_SETUP=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="usb start"
+CONFIG_MISC_INIT_R=y
+# CONFIG_DISPLAY_CPUINFO is not set
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SYS_PROMPT="U-Boot> "
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_FS_UUID=y
+CONFIG_OF_BOARD=y
+CONFIG_ENV_FAT_INTERFACE="mmc"
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_DM_KEYBOARD=y
+CONFIG_DM_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
+CONFIG_PHYLIB=y
+CONFIG_DM_ETH=y
+CONFIG_PINCTRL=y
+# CONFIG_PINCTRL_GENERIC is not set
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
+CONFIG_USB=y
+CONFIG_DM_USB=y
+CONFIG_USB_DWC2=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_HOST_ETHER=y
+CONFIG_USB_ETHER_LAN78XX=y
+CONFIG_USB_ETHER_SMSC95XX=y
+CONFIG_DM_VIDEO=y
+CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_CONSOLE_SCROLL_LINES=10
+CONFIG_PHYS_TO_BUS=y
+CONFIG_OF_LIBFDT_OVERLAY=y

View File

@ -1,43 +0,0 @@
From 6903bb74d467121c2d2c99b4272fe4363e8f2f64 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Thu, 5 Dec 2019 18:53:13 +0100
Subject: [PATCH] rpi: fix dram bank initialization
To update the dram bank information from device-tree we use
fdtdec_decode_ram_size() which expectes the the size-cells and
address-cells to be defined in the memory node. For normal system RAM
these values are defined in the root node. When the values differ from
the default values defined in the spec, we can end up with wrong RAM
bank information.
Switch to the "standard" way to update the RAM bank information to
avoid this.
Fixes: 9de5b89e4c ("rpi4: enable dram bank initialization")
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
(cherry picked from commit e19cfcc07ac5da8b3a04e21875ec542d994865d4)
---
board/raspberrypi/rpi/rpi.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 3d4afaf653..76f1c55b65 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -274,8 +274,13 @@ int dram_init(void)
#ifdef CONFIG_BCM2711
int dram_init_banksize(void)
{
- return fdtdec_decode_ram_size(gd->fdt_blob, NULL, 0, NULL,
- (phys_size_t *)&gd->ram_size, gd->bd);
+ int ret;
+
+ ret = fdtdec_setup_memory_banksize();
+ if (ret)
+ return ret;
+
+ return fdtdec_setup_mem_size_base();
}
#endif
#endif

View File

@ -1,39 +0,0 @@
From 8dcbd1a138d5accd339ec990750070bef537cd45 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Thu, 5 Dec 2019 18:53:14 +0100
Subject: [PATCH] rpi: Enable DRAM bank initialization on arm64
Up to now we only update the DRAM banks when we are define
CONFIG_BCM2711. But our one binary approach uses a config that supports
BCM2837 and BCM2711. As a result we only see one gibibyte of RAM on
Raspberry Pi 4, even if it has more RAM.
Fix this by calling dram_init_banksize.
Fixes: 5694090670 ("ARM: defconfig: add unified config for RPi3 and RPi4")
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
(cherry picked from commit a63f81c242090682ea4907fa6475d8057208cb05)
---
board/raspberrypi/rpi/rpi.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 76f1c55b65..17d463e16f 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -271,7 +271,6 @@ int dram_init(void)
}
#ifdef CONFIG_OF_BOARD
-#ifdef CONFIG_BCM2711
int dram_init_banksize(void)
{
int ret;
@@ -283,7 +282,6 @@ int dram_init_banksize(void)
return fdtdec_setup_mem_size_base();
}
#endif
-#endif
static void set_fdtfile(void)
{

View File

@ -1,30 +0,0 @@
From 25da6429ff2aeb00119b2ba43cc59149d7e07b5a Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Thu, 5 Dec 2019 18:53:15 +0100
Subject: [PATCH] ARM: defconfig: Fix 32bit config for RPi4
The rpi_4_32b_defconfig states that only one DRAM bank is present. This
leads to a wrong configuration of the available DRAM. Fix this by
setting the DRAM bank config accordingly.
Fixes: 193279d784 ("RPI: Add defconfigs for rpi4 (32/64)")
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
(cherry picked from commit e5167465a1740f0cac05be44f3e2a4e334eb527a)
---
configs/rpi_4_32b_defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
index dc696906fd..ec7330a98d 100644
--- a/configs/rpi_4_32b_defconfig
+++ b/configs/rpi_4_32b_defconfig
@@ -3,7 +3,7 @@ CONFIG_ARCH_BCM283X=y
CONFIG_SYS_TEXT_BASE=0x00008000
CONFIG_TARGET_RPI_4_32B=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
-CONFIG_NR_DRAM_BANKS=1
+CONFIG_NR_DRAM_BANKS=2
CONFIG_DISTRO_DEFAULTS=y
CONFIG_OF_BOARD_SETUP=y
# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d6d6070739522dd236cba7055b8736bfe92b4fac0ea18ad809829ca79667014
size 14214608

Binary file not shown.

3
u-boot-2020.01.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aa453c603208b1b27bd03525775a7f79b443adec577fdc6e8f06974025a135f1
size 14716125

BIN
u-boot-2020.01.tar.bz2.sig Normal file

Binary file not shown.

View File

@ -3,6 +3,52 @@ Wed Jan 22 08:09:47 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Package u-boot.img instead of u-boot.bin for snow and spring
-------------------------------------------------------------------
Fri Jan 10 10:45:00 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix firefly-rk3288 and tinker-rk3288 by using TPL instead of SPL
(SPL too big)
-------------------------------------------------------------------
Fri Jan 10 09:53:50 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix mx6qsabrelite build
-------------------------------------------------------------------
Tue Jan 7 08:32:01 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Update to v2020.01:
* Now requires python 3.5+ (2.x support dropped)
* Add Orange Pi Zero Plus 2 support
* Platfrom fixes: atmel, fsl, imx, Marvell, RPi, rockchip, sunxi, TI
* EFI fixes
* I2C fixes
* MMC fixes
* SPI fixes
* USB fixes
- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2020.01
* Patches dropped:
0009-libfdt-fdt_address_cells-and-fdt_si.patch
0010-libfdt-return-correct-value-if-size.patch
0011-libfdt-Allow-size-cells-of-0.patch
0012-dm-Fix-default-address-cells-return.patch
0013-arm-arm11-allow-unaligned-memory-ac.patch
0014-fdt-fix-bcm283x-dm-pre-reloc-defini.patch
0015-arm-dts-bcm283x-Rename-U-Boot-file.patch
0016-drivers-bcm283x-Set-pre-location-fl.patch
0017-pinctrl-bcm283x-Add-compatible-for-.patch
0018-rpi-push-fw_dtb_pointer-in-the-.dat.patch
0019-ARM-bcm283x-Move-BCM283x_BASE-to-a-.patch
0020-ARM-bcm283x-Set-rpi_bcm283x_base-at.patch
0021-ARM-bcm283x-Set-memory-map-at-run-t.patch
0022-ARM-defconfig-add-unified-config-fo.patch
0023-boo-1144161-Remove-nand-mtd-spi-dfu.patch
0024-rpi-fix-dram-bank-initialization.patch
0025-rpi-Enable-DRAM-bank-initialization.patch
0026-ARM-defconfig-Fix-32bit-config-for-.patch
* Patches added:
0009-boo-1144161-Remove-nand-mtd-spi-dfu.patch
-------------------------------------------------------------------
Fri Dec 20 11:08:03 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -22,6 +22,7 @@
%define mvebu_spl 0
%define x_loader 0
%define rockchip_spl 0
%define rockchip_tpl 0
%define rockchip_idb 0
%define sunxi_spl 0
%define arndale_spl 0
@ -49,7 +50,7 @@
%endif
%if "%target" == "firefly-rk3288" || "%target" == "tinker-rk3288"
%define is_armv7 1
%define rockchip_spl 1
%define rockchip_tpl 1
%define soc_name "rk3288"
%if "%target" == "firefly-rk3288"
%define rkimages rksd rkimage
@ -103,10 +104,14 @@
%define is_armv7 1
%define binext .img
%endif
%if "%target" == "mx53loco" || "%target" == "mx6qsabrelite"
%if "%target" == "mx53loco"
%define is_armv7 1
%define binext .imx
%endif
%if "%target" == "mx6qsabrelite"
%define is_armv7 1
%define binext -dtb.imx
%endif
%if "%target" == "mx6cuboxi" || "%target" == "udoo" || "%target" == "udooneo"
%define imx6_spl 1
%define is_armv7 1
@ -152,7 +157,7 @@
%define is_ppc 1
%endif
# archive_version differs from version for RC version only
%define archive_version 2019.10
%define archive_version 2020.01
%if "%{target}" == ""
ExclusiveArch: do_not_build
%else
@ -184,7 +189,7 @@ ExclusiveArch: do_not_build
%endif
%bcond_with uboot_atf
%bcond_with uboot_atf_pine64
Version: 2019.10
Version: 2020.01
Release: 0
Summary: The U-Boot firmware for the %target platform
License: GPL-2.0-only
@ -204,24 +209,7 @@ Patch0005: 0005-zynqmp-Add-generic-target.patch
Patch0006: 0006-tools-zynqmpbif-Add-support-for-loa.patch
Patch0007: 0007-boo-1123170-Remove-ubifs-support-fr.patch
Patch0008: 0008-zynqmp-generic-fix-compilation.patch
Patch0009: 0009-libfdt-fdt_address_cells-and-fdt_si.patch
Patch0010: 0010-libfdt-return-correct-value-if-size.patch
Patch0011: 0011-libfdt-Allow-size-cells-of-0.patch
Patch0012: 0012-dm-Fix-default-address-cells-return.patch
Patch0013: 0013-arm-arm11-allow-unaligned-memory-ac.patch
Patch0014: 0014-fdt-fix-bcm283x-dm-pre-reloc-defini.patch
Patch0015: 0015-arm-dts-bcm283x-Rename-U-Boot-file.patch
Patch0016: 0016-drivers-bcm283x-Set-pre-location-fl.patch
Patch0017: 0017-pinctrl-bcm283x-Add-compatible-for-.patch
Patch0018: 0018-rpi-push-fw_dtb_pointer-in-the-.dat.patch
Patch0019: 0019-ARM-bcm283x-Move-BCM283x_BASE-to-a-.patch
Patch0020: 0020-ARM-bcm283x-Set-rpi_bcm283x_base-at.patch
Patch0021: 0021-ARM-bcm283x-Set-memory-map-at-run-t.patch
Patch0022: 0022-ARM-defconfig-add-unified-config-fo.patch
Patch0023: 0023-boo-1144161-Remove-nand-mtd-spi-dfu.patch
Patch0024: 0024-rpi-fix-dram-bank-initialization.patch
Patch0025: 0025-rpi-Enable-DRAM-bank-initialization.patch
Patch0026: 0026-ARM-defconfig-Fix-32bit-config-for-.patch
Patch0009: 0009-boo-1144161-Remove-nand-mtd-spi-dfu.patch
# Patches: end
BuildRequires: bc
BuildRequires: bison
@ -231,7 +219,7 @@ BuildRequires: flex
# u-boot-clearfog (tools/kwbimage.c) needs openssl to build
BuildRequires: libopenssl-devel
BuildRequires: pkgconfig
BuildRequires: python-devel
BuildRequires: python3-devel
BuildRequires: swig
BuildRequires: pkgconfig(sdl)
Conflicts: u-boot-loader
@ -408,6 +396,13 @@ for t in %{rkimages}; do
./tools/mkimage -n %soc_name -d spl/u-boot-spl.bin -T $t u-boot-spl.$t || exit 1
done
%endif
%if %rockchip_tpl == 1
for t in %{rkimages}; do
./tools/mkimage -n %soc_name -d tpl/u-boot-tpl.bin -T $t u-boot-tpl.$t || exit 1
cat spl/u-boot-spl-dtb.bin >> u-boot-tpl.$t
done
%endif
%endif
%install
@ -466,6 +461,12 @@ for t in %{rkimages}; do
install -D -m 0644 u-boot-spl.$t %{buildroot}%{uboot_dir}/u-boot-spl.$t
done
%endif
%if %rockchip_tpl == 1
install -D -m 0644 tpl/u-boot-tpl.bin %{buildroot}%{uboot_dir}/u-boot-tpl.bin
for t in %{rkimages}; do
install -D -m 0644 u-boot-tpl.$t %{buildroot}%{uboot_dir}/u-boot-tpl.$t
done
%endif
%if %rockchip_idb == 1
install -D -m 0644 idbloader.img %{buildroot}%{uboot_dir}/idbloader.img
%endif

View File

@ -13,8 +13,8 @@ set -e
GIT_TREE=git://github.com/openSUSE/u-boot.git
GIT_LOCAL_TREE=~/git/u-boot-opensuse
GIT_BRANCH=tumbleweed-2019.10
GIT_UPSTREAM_TAG=v2019.10
GIT_BRANCH=tumbleweed-2020.01
GIT_UPSTREAM_TAG=v2020.01
GIT_DIR=/dev/shm/u-boot-factory-git-dir
CMP_DIR=/dev/shm/u-boot-factory-cmp-dir