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:
parent
f0a4df33bb
commit
6a7ce76d4e
@ -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; " \
|
||||
|
@ -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""
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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,
|
@ -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,
|
@ -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;
|
@ -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
|
||||
|
@ -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)
|
@ -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;
|
@ -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
|
@ -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),
|
@ -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"},
|
||||
{}
|
||||
};
|
||||
|
@ -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 {
|
@ -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
|
@ -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)
|
||||
{
|
@ -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);
|
@ -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
|
@ -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
|
@ -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)
|
||||
{
|
@ -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
|
@ -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
3
u-boot-2020.01.tar.bz2
Normal 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
BIN
u-boot-2020.01.tar.bz2.sig
Normal file
Binary file not shown.
@ -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>
|
||||
|
||||
|
47
u-boot.spec
47
u-boot.spec
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user