aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHou Zhiqiang <Zhiqiang.Hou@nxp.com>2021-12-07 18:13:12 +0800
committerPriyanka Jain <priyanka.jain@nxp.com>2022-02-01 15:08:07 +0530
commit18c62dfeb0f4e87db4bb1e1f1cb2503e30fe31d9 (patch)
treeafbc9c1a8befab58a09245b3b369786b7f3c3f1e
parentc702cfc7f224617ed4e8e97571442d08d659d637 (diff)
downloadu-boot-18c62dfeb0f4e87db4bb1e1f1cb2503e30fe31d9.zip
u-boot-18c62dfeb0f4e87db4bb1e1f1cb2503e30fe31d9.tar.gz
u-boot-18c62dfeb0f4e87db4bb1e1f1cb2503e30fe31d9.tar.bz2
pci: layerscape: update the searching compatible of LX2160A PCIe
The current fixup of LX2160A PCIe nodes is based on non-production rev1 silicon, and in Linux the nodes have been updated for rev2 silicon, so update the searching compatible string to match the kernel changes. And for compatibility with the rev1 nodes, move forward the board specific fixup. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
-rw-r--r--drivers/pci/Kconfig4
-rw-r--r--drivers/pci/pcie_layerscape_fixup.c9
2 files changed, 6 insertions, 7 deletions
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 6914134..47cd074 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -233,8 +233,7 @@ config FSL_PCIE_COMPAT
default "fsl,ls1046a-pcie" if ARCH_LS1046A
default "fsl,ls2080a-pcie" if ARCH_LS2080A
default "fsl,ls1088a-pcie" if ARCH_LS1088A
- default "fsl,lx2160a-pcie" if ARCH_LX2160A
- default "fsl,ls2088a-pcie" if ARCH_LX2162A
+ default "fsl,ls2088a-pcie" if ARCH_LX2160A || ARCH_LX2162A
default "fsl,ls1021a-pcie" if ARCH_LS1021A
help
This compatible is used to find pci controller node in Kernel DT
@@ -243,7 +242,6 @@ config FSL_PCIE_COMPAT
config FSL_PCIE_EP_COMPAT
string "PCIe EP compatible of Kernel DT"
depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
- default "fsl,lx2160a-pcie-ep" if ARCH_LX2160A
default "fsl,ls-pcie-ep"
help
This compatible is used to find pci controller ep node in Kernel DT
diff --git a/drivers/pci/pcie_layerscape_fixup.c b/drivers/pci/pcie_layerscape_fixup.c
index a47c9ef..c519835 100644
--- a/drivers/pci/pcie_layerscape_fixup.c
+++ b/drivers/pci/pcie_layerscape_fixup.c
@@ -527,7 +527,7 @@ static void fdt_fixup_pcie_ls(void *blob)
}
if (!IS_ENABLED(CONFIG_PCI_IOMMU_EXTRA_MAPPINGS))
- goto skip;
+ return;
list_for_each_entry(pcie_rc, &ls_pcie_list, list) {
nodeoffset = fdt_pcie_get_nodeoffset(blob, pcie_rc);
@@ -568,9 +568,6 @@ static void fdt_fixup_pcie_ls(void *blob)
}
free(entries);
}
-
-skip:
- pcie_board_fix_fdt(blob);
}
#endif
@@ -619,6 +616,10 @@ void ft_pci_setup_ls(void *blob, struct bd_info *bd)
{
struct ls_pcie_rc *pcie_rc;
+#if defined(CONFIG_FSL_LSCH3) || defined(CONFIG_FSL_LSCH2)
+ pcie_board_fix_fdt(blob);
+#endif
+
list_for_each_entry(pcie_rc, &ls_pcie_list, list)
ft_pcie_ls_setup(blob, pcie_rc);