layerscape: add 64b/32b target for ls1012ardb device
[openwrt/staging/yousong.git] / target / linux / layerscape / patches-4.4 / 8115-PCI-layerscape-call-dw_pcie_setup_rc-in-host-initial.patch
diff --git a/target/linux/layerscape/patches-4.4/8115-PCI-layerscape-call-dw_pcie_setup_rc-in-host-initial.patch b/target/linux/layerscape/patches-4.4/8115-PCI-layerscape-call-dw_pcie_setup_rc-in-host-initial.patch
new file mode 100644 (file)
index 0000000..cf67e59
--- /dev/null
@@ -0,0 +1,30 @@
+From 5d661761fd2354e4f976c83143a1bf7c1ecad766 Mon Sep 17 00:00:00 2001
+From: Yangbo Lu <yangbo.lu@nxp.com>
+Date: Tue, 20 Sep 2016 16:07:10 +0800
+Subject: [PATCH 115/115] PCI: layerscape: call dw_pcie_setup_rc() in host
+ initialization
+
+A previous patch moved some Root Complex programming from
+dw_pcie_host_init() to dw_pcie_setup_rc() where it belongs,
+while the pci-layerscape driver didn't call dw_pcie_setup_rc()
+anywhere after that. This patch is to add dw_pcie_setup_rc()
+calling in layerscape host initialization to fix ls1012a pci
+issue caused by that patch.
+
+Fixes: c49b76f3c613("PCI: designware: Move Root Complex setup
+       code to dw_pcie_setup_rc()")
+Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
+---
+ drivers/pci/host/pci-layerscape.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/pci/host/pci-layerscape.c
++++ b/drivers/pci/host/pci-layerscape.c
+@@ -148,6 +148,7 @@ static void ls_pcie_host_init(struct pci
+ {
+       struct ls_pcie *pcie = to_ls_pcie(pp);
++      dw_pcie_setup_rc(pp);
+       iowrite32(1, pcie->dbi + PCIE_DBI_RO_WR_EN);
+       ls_pcie_fix_class(pcie);
+       ls_pcie_clear_multifunction(pcie);