In case CONFIG_DM_ETH is enabled, no hardcoding is necessary for DPAA2
Ethernet devices. Compile out any unnecessary setup when CONFIG_DM_ETH
is activated.  Also, force the PCI devices to be enumerated at probe
time.

Signed-off-by: Ioana Ciornei <ioana.cior...@nxp.com>
---
 board/freescale/lx2160a/eth_lx2160aqds.c | 12 +++++++++++-
 board/freescale/lx2160a/lx2160a.c        |  5 +++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/board/freescale/lx2160a/eth_lx2160aqds.c 
b/board/freescale/lx2160a/eth_lx2160aqds.c
index 0e928ebd8689..3b7830343d1e 100644
--- a/board/freescale/lx2160a/eth_lx2160aqds.c
+++ b/board/freescale/lx2160a/eth_lx2160aqds.c
@@ -25,6 +25,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifndef CONFIG_DM_ETH
 #define EMI_NONE       0
 #define EMI1           1 /* Mdio Bus 1 */
 #define EMI2           2 /* Mdio Bus 2 */
@@ -439,9 +440,11 @@ static inline void do_dpmac_config(int dpmac, const char 
*arg_dpmacid,
 }
 
 #endif
+#endif /* !CONFIG_DM_ETH */
 
 int board_eth_init(bd_t *bis)
 {
+#ifndef CONFIG_DM_ETH
 #if defined(CONFIG_FSL_MC_ENET)
        struct memac_mdio_info mdio_info;
        struct memac_mdio_controller *regs;
@@ -564,6 +567,7 @@ int board_eth_init(bd_t *bis)
 
        cpu_eth_init(bis);
 #endif /* CONFIG_FMAN_ENET */
+#endif /* !CONFIG_DM_ETH */
 
 #ifdef CONFIG_PHY_AQUANTIA
        /*
@@ -577,7 +581,12 @@ int board_eth_init(bd_t *bis)
        gd->jt->mdio_phydev_for_ethname = mdio_phydev_for_ethname;
        gd->jt->miiphy_set_current_dev = miiphy_set_current_dev;
 #endif
+
+#ifdef CONFIG_DM_ETH
+       return 0;
+#else
        return pci_eth_init(bis);
+#endif
 }
 
 #if defined(CONFIG_RESET_PHY_R)
@@ -589,6 +598,7 @@ void reset_phy(void)
 }
 #endif /* CONFIG_RESET_PHY_R */
 
+#ifndef CONFIG_DM_ETH
 #if defined(CONFIG_FSL_MC_ENET)
 int fdt_fixup_dpmac_phy_handle(void *fdt, int dpmac_id, int node_phandle)
 {
@@ -837,4 +847,4 @@ int fdt_fixup_board_phy(void *fdt)
        return ret;
 }
 #endif // CONFIG_FSL_MC_ENET
-
+#endif
diff --git a/board/freescale/lx2160a/lx2160a.c 
b/board/freescale/lx2160a/lx2160a.c
index 23ea1b6f16aa..abfbc9188392 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -587,6 +587,9 @@ int board_init(void)
        sec_init();
 #endif
 
+#if !defined(CONFIG_SYS_EARLY_PCI_INIT) && defined(CONFIG_DM_ETH)
+       pci_init();
+#endif
        return 0;
 }
 
@@ -632,7 +635,9 @@ void fdt_fixup_board_enet(void *fdt)
        if (get_mc_boot_status() == 0 &&
            (is_lazy_dpl_addr_valid() || get_dpl_apply_status() == 0)) {
                fdt_status_okay(fdt, offset);
+#ifndef CONFIG_DM_ETH
                fdt_fixup_board_phy(fdt);
+#endif
        } else {
                fdt_status_fail(fdt, offset);
        }
-- 
2.17.1

Reply via email to