The ep node device tree name is governed by these bindings:
https://github.com/torvalds/linux/blob/master/Documentation/
devicetree/bindings/pci/layerscape-pci.txt#L24

As per above the ep compatible node contains platform name.
Therefore, define the ep node compatible as CONFIG to find the
pcie ep node in device tree during device tree fixup.

Signed-off-by: Pankaj Bansal <[email protected]>
---

Notes:
    V2:
    - defined FSL_PCIE_EP_COMPAT in pci/Kconfig instead of
      arch/arm/cpu/armv8/fsl-layerscape/Kconfig

 drivers/pci/Kconfig                      | 9 +++++++++
 drivers/pci/pcie_layerscape_fixup.c      | 4 ++--
 drivers/pci/pcie_layerscape_gen4_fixup.c | 2 +-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 3856f7d755..437cd9a055 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -158,6 +158,15 @@ config FSL_PCIE_COMPAT
          This compatible is used to find pci controller node in Kernel DT
          to complete fixup.
 
+config FSL_PCIE_EP_COMPAT
+       string "PCIe EP compatible of Kernel DT"
+       depends on PCIE_LAYERSCAPE || 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
+         to complete fixup.
+
 config PCIE_INTEL_FPGA
        bool "Intel FPGA PCIe support"
        depends on DM_PCI
diff --git a/drivers/pci/pcie_layerscape_fixup.c 
b/drivers/pci/pcie_layerscape_fixup.c
index 089e031724..194010f310 100644
--- a/drivers/pci/pcie_layerscape_fixup.c
+++ b/drivers/pci/pcie_layerscape_fixup.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
- * Copyright 2017 NXP
+ * Copyright 2017-2019 NXP
  * Copyright 2014-2015 Freescale Semiconductor, Inc.
  * Layerscape PCIe driver
  */
@@ -253,7 +253,7 @@ static void ft_pcie_ep_fix(void *blob, struct ls_pcie *pcie)
 {
        int off;
 
-       off = fdt_node_offset_by_compat_reg(blob, "fsl,ls-pcie-ep",
+       off = fdt_node_offset_by_compat_reg(blob, CONFIG_FSL_PCIE_EP_COMPAT,
                                            pcie->dbi_res.start);
        if (off < 0)
                return;
diff --git a/drivers/pci/pcie_layerscape_gen4_fixup.c 
b/drivers/pci/pcie_layerscape_gen4_fixup.c
index 1c9e5750bd..91e68eb84c 100644
--- a/drivers/pci/pcie_layerscape_gen4_fixup.c
+++ b/drivers/pci/pcie_layerscape_gen4_fixup.c
@@ -187,7 +187,7 @@ static void ft_pcie_ep_layerscape_gen4_fix(void *blob, 
struct ls_pcie_g4 *pcie)
 {
        int off;
 
-       off = fdt_node_offset_by_compat_reg(blob, "fsl,lx2160a-pcie-ep",
+       off = fdt_node_offset_by_compat_reg(blob, CONFIG_FSL_PCIE_EP_COMPAT,
                                            pcie->ccsr_res.start);
 
        if (off < 0) {
-- 
2.17.1

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to