Accepting request 864331 from hardware:boot

OBS-URL: https://build.opensuse.org/request/show/864331
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/u-boot?expand=0&rev=142
This commit is contained in:
Dominique Leuenberger 2021-01-19 15:01:20 +00:00 committed by Git OBS Bridge
commit 6e8eb1f449
5 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,37 @@
From 2b3131bde95b261cd67f99a520b16936a5f50ea2 Mon Sep 17 00:00:00 2001
From: Marek Vasut <marex@denx.de>
Date: Mon, 19 Oct 2020 23:40:26 +0200
Subject: [PATCH] Revert "Fix data abort caused by mis-aligning FIT data"
This reverts commit eb39d8ba5f0d1468b01b89a2a464d18612d3ea76.
The commit breaks booting of fitImage by SPL, the system simply hangs.
This is because on arm32, the fitImage and all of its content can be
aligned to 4 bytes and U-Boot expects just that.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Reuben Dowle <reuben.dowle@4rf.com>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Marek Vasut <marex@denx.de>
---
common/spl/spl_fit.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index a8bfd388b1..365104fe02 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -349,12 +349,9 @@ static int spl_fit_append_fdt(struct spl_image_info *spl_image,
/*
* Use the address following the image as target address for the
- * device tree. Load address is aligned to 8 bytes to match the required
- * alignment specified for linux arm [1] and arm 64 [2] booting
- * [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst#n126
- * [2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst#n45
+ * device tree.
*/
- image_info.load_addr = ALIGN(spl_image->load_addr + spl_image->size, 8);
+ image_info.load_addr = spl_image->load_addr + spl_image->size;
/* Figure out which device tree the board wants to use */
node = spl_fit_get_image_node(fit, images, FIT_FDT_PROP, index++);

View File

@ -0,0 +1,27 @@
From 3b24be6bc5ac356b99a4c0441c64b599acb35c13 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 14 Jan 2021 16:49:00 +0100
Subject: [PATCH] usb: xhci-pci: Add DM_FLAG_OS_PREPARE flag
The PCIe bus the controller is connected to might need to be removed
prior the handover. Make sure xhci-pci is also removed so as to avoid
unexpected timeouts or hangs.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
drivers/usb/host/xhci-pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 9fb6d2f763..19f8fb4458 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -61,7 +61,7 @@ U_BOOT_DRIVER(xhci_pci) = {
.ops = &xhci_usb_ops,
.platdata_auto_alloc_size = sizeof(struct usb_platdata),
.priv_auto_alloc_size = sizeof(struct xhci_ctrl),
- .flags = DM_FLAG_ALLOC_PRIV_DMA,
+ .flags = DM_FLAG_OS_PREPARE | DM_FLAG_ALLOC_PRIV_DMA,
};
static struct pci_device_id xhci_pci_supported[] = {

View File

@ -0,0 +1,55 @@
From 8566f4fb6d707b40121a02b081dadb558ae9ce66 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 14 Jan 2021 16:49:01 +0100
Subject: [PATCH] pci: brcmstb: Cleanup controller state before handover
Make sure we handover the PCIe controller in a clean state. Some of the
devices hanging from the PCIe bus might need to be properly reset
through #PERST in order for Linux to be able to initialize them.
This is specially important in order to properly initialize Raspberry Pi
4 B and 400's USB chip.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
drivers/pci/pcie_brcmstb.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/pci/pcie_brcmstb.c b/drivers/pci/pcie_brcmstb.c
index f6e8ad0d0a..c87a5dce4d 100644
--- a/drivers/pci/pcie_brcmstb.c
+++ b/drivers/pci/pcie_brcmstb.c
@@ -577,6 +577,24 @@ static int brcm_pcie_probe(struct udevice *dev)
return 0;
}
+static int brcm_pcie_remove(struct udevice *dev)
+{
+ struct brcm_pcie *pcie = dev_get_priv(dev);
+ void __iomem *base = pcie->base;
+
+ /* Assert fundamental reset */
+ setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_PERST_MASK);
+
+ /* Turn off SerDes */
+ setbits_le32(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG,
+ PCIE_HARD_DEBUG_SERDES_IDDQ_MASK);
+
+ /* Shutdown bridge */
+ setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK);
+
+ return 0;
+}
+
static int brcm_pcie_ofdata_to_platdata(struct udevice *dev)
{
struct brcm_pcie *pcie = dev_get_priv(dev);
@@ -616,6 +634,8 @@ U_BOOT_DRIVER(pcie_brcm_base) = {
.ops = &brcm_pcie_ops,
.of_match = brcm_pcie_ids,
.probe = brcm_pcie_probe,
+ .remove = brcm_pcie_remove,
.ofdata_to_platdata = brcm_pcie_ofdata_to_platdata,
.priv_auto_alloc_size = sizeof(struct brcm_pcie),
+ .flags = DM_FLAG_OS_PREPARE,
};

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Tue Jan 19 12:50:57 UTC 2021 - Matthias Brugger <mbrugger@suse.com>
Fix USB in RPi4 and RPi400 (jsc@OPENSUSE-13 bsc#1180336)
Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2020.10
* Patches added:
0030-usb-xhci-pci-Add-DM_FLAG_OS_PREPARE.patch
0031-pci-brcmstb-Cleanup-controller-stat.patch
-------------------------------------------------------------------
Mon Jan 18 10:43:24 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2020.10
* Patches added:
0029-Revert-Fix-data-abort-caused-by-mis.patch - boo#1180728
-------------------------------------------------------------------
Thu Jan 7 19:53:08 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -243,6 +243,9 @@ Patch0025: 0025-mmc-Introduce-mmc_phys_to_bus-mmc_b.patch
Patch0026: 0026-configs-rpi4-Enable-DM_DMA-across-a.patch
Patch0027: 0027-video-arm-rpi-Add-brcm-bcm2711-hdmi.patch
Patch0028: 0028-usb-xhci-xhci_bulk_tx-Don-t-BUG-whe.patch
Patch0029: 0029-Revert-Fix-data-abort-caused-by-mis.patch
Patch0030: 0030-usb-xhci-pci-Add-DM_FLAG_OS_PREPARE.patch
Patch0031: 0031-pci-brcmstb-Cleanup-controller-stat.patch
# Patches: end
BuildRequires: bc
BuildRequires: bison