forked from pool/u-boot
Accepting request 864330 from hardware👢staging
OBS-URL: https://build.opensuse.org/request/show/864330 OBS-URL: https://build.opensuse.org/package/show/hardware:boot/u-boot?expand=0&rev=125
This commit is contained in:
parent
106da426ab
commit
e20de7d49a
27
0030-usb-xhci-pci-Add-DM_FLAG_OS_PREPARE.patch
Normal file
27
0030-usb-xhci-pci-Add-DM_FLAG_OS_PREPARE.patch
Normal 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[] = {
|
55
0031-pci-brcmstb-Cleanup-controller-stat.patch
Normal file
55
0031-pci-brcmstb-Cleanup-controller-stat.patch
Normal 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,
|
||||
};
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
@ -244,6 +244,8 @@ 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
|
||||
|
Loading…
Reference in New Issue
Block a user