]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
pci: layerscape: update the searching compatible of LX2160A PCIe
authorHou Zhiqiang <Zhiqiang.Hou@nxp.com>
Tue, 7 Dec 2021 10:13:12 +0000 (18:13 +0800)
committerPriyanka Jain <priyanka.jain@nxp.com>
Tue, 1 Feb 2022 09:38:07 +0000 (15:08 +0530)
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>
drivers/pci/Kconfig
drivers/pci/pcie_layerscape_fixup.c

index 69141344c8690b3fb9b266ecd6e7b504d871c639..47cd074aa14c05e57f5228f234e449240ccea525 100644 (file)
@@ -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
index a47c9ef7c2f7d8dd3e2d5d271fe054b846431cd0..c5198353957bbba9f5d29254632df94b5c952a3e 100644 (file)
@@ -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);