]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
board: nxp: lx2160a: without QIXIS, MC-ENET, PCI, LTC3882
authorVincent Jardin <vjardin@free.fr>
Mon, 11 May 2026 07:37:34 +0000 (09:37 +0200)
committerPeng Fan <peng.fan@nxp.com>
Fri, 15 May 2026 11:28:31 +0000 (19:28 +0800)
The shared LX2160A board file calls helpers that only exist when
their subsystem is enabled. Gate them on the matching CONFIG_*:
 - pci_init() under CONFIG_PCI.
 - fdt_fixup_mc_ddr() and fsl_rgmii_init() under CONFIG_FSL_MC_ENET.
 - qixis_*() and the QIXIS branch of checkboard() under
   CONFIG_FSL_QIXIS; cpu_name(buf) moves out so the non-QIXIS path
   still prints "Board: <name>".
 - EVENT_SPY_SIMPLE on init_func_vid moves inside the
   CONFIG_VOL_MONITOR_LTC3882_READ guard (was outside, dangling
   symbol when LTC3882 off).

 #if / #ifdef, not IS_ENABLED(), because the helpers are themselves
conditionally compiled.

While here, lx2160a_common.h: fix BOOT_TARGET_DEVICES_MMC
1 arg vs 2 args and gate the MMC target on CONFIG_CMD_MMC,
not CONFIG_MMC.

No functional change for NXP boards: LX2160ARDB, LX2160AQDS, or
LX2162AQDS, but mainly build clean up in order to support
other NXP lx2160a boards without those HW dependencies.

Signed-off-by: Vincent Jardin <vjardin@free.fr>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
arch/arm/cpu/armv8/fsl-layerscape/cpu.c
board/nxp/lx2160a/lx2160a.c
include/configs/lx2160a_common.h

index 7f0cb28f52d5b5c1154560675eff55d38f420877..a047494b1fd1adcc015a34520d6e2d7f8fe34334 100644 (file)
@@ -1143,7 +1143,7 @@ int arch_early_init_r(void)
 #ifdef CONFIG_SYS_HAS_SERDES
        fsl_serdes_init();
 #endif
-#ifdef CONFIG_SYS_FSL_HAS_RGMII
+#if defined(CONFIG_SYS_FSL_HAS_RGMII) && defined(CONFIG_FSL_MC_ENET)
        /* some dpmacs in armv8a based freescale layerscape SOCs can be
         * configured via both serdes(sgmii, 10gbase-r, xlaui etc) bits and via
         * EC*_PMUX(rgmii) bits in RCW.
@@ -1158,6 +1158,10 @@ int arch_early_init_r(void)
         * function of SOC, the dpmac will be enabled as RGMII even if it was
         * also enabled before as SGMII. If ECx_PMUX is not configured for
         * RGMII, DPMAC will remain configured as SGMII from fsl_serdes_init().
+        *
+        * fsl_rgmii_init() itself is only built under CONFIG_FSL_MC_ENET
+        * (drivers/net/ldpaa_eth/); gate the call the same way so builds
+        * without MC-ENET still link.
         */
        fsl_rgmii_init();
 #endif
index d34865de8c2cca911ca4e492ace984f820ae2457..b7a6ccf46aa7dd4a7dbd472d96f444b29e51ca37 100644 (file)
@@ -242,13 +242,17 @@ int init_func_vid(void)
 
        return 0;
 }
-#endif
 EVENT_SPY_SIMPLE(EVT_MISC_INIT_F, init_func_vid);
+#endif
 
 int checkboard(void)
 {
-       enum boot_src src = get_boot_src();
        char buf[64];
+
+       cpu_name(buf);
+
+#if IS_ENABLED(CONFIG_FSL_QIXIS)
+       enum boot_src src = get_boot_src();
        u8 sw;
 #if defined(CONFIG_TARGET_LX2160AQDS) || defined(CONFIG_TARGET_LX2162AQDS)
        int clock;
@@ -258,7 +262,6 @@ int checkboard(void)
                                           "100 separate SSCG"};
 #endif
 
-       cpu_name(buf);
 #if defined(CONFIG_TARGET_LX2160AQDS) || defined(CONFIG_TARGET_LX2162AQDS)
        printf("Board: %s-QDS, ", buf);
 #else
@@ -325,7 +328,10 @@ int checkboard(void)
        clock = sw >> 4;
        printf("Clock1 = %sMHz Clock2 = %sMHz\n", freq[clock], freq[clock]);
 #endif
-#endif
+#endif /* LX2160ARDB-inside-QIXIS switch */
+#else /* !CONFIG_FSL_QIXIS */
+       printf("Board: %s\n", buf);
+#endif /* CONFIG_FSL_QIXIS */
        return 0;
 }
 
@@ -554,7 +560,7 @@ int board_init(void)
        out_le32(irq_ccsr + IRQCR_OFFSET / 4, AQR107_IRQ_MASK);
 #endif
 
-#if !defined(CONFIG_SYS_EARLY_PCI_INIT)
+#if defined(CONFIG_PCI) && !defined(CONFIG_SYS_EARLY_PCI_INIT)
        pci_init();
 #endif
        return 0;
@@ -788,7 +794,9 @@ int ft_board_setup(void *blob, struct bd_info *bd)
 
        ft_cpu_setup(blob, bd);
 
+#if IS_ENABLED(CONFIG_FSL_MC_ENET)
        fdt_fixup_mc_ddr(&mc_memory_base, &mc_memory_size);
+#endif
 
        if (mc_memory_base != 0)
                mc_memory_bank++;
index 45b5cbdd85a061e32f6c01ed4b440420e98788d1..dc0d24dca0ab74e15cef0720d037374b773e6d08 100644 (file)
 #define BOOT_TARGET_DEVICES_USB(func)
 #endif
 
-#ifdef CONFIG_MMC
+#ifdef CONFIG_CMD_MMC
 #define BOOT_TARGET_DEVICES_MMC(func, instance) func(MMC, mmc, instance)
 #else
-#define BOOT_TARGET_DEVICES_MMC(func)
+#define BOOT_TARGET_DEVICES_MMC(func, instance)
 #endif
 
 #ifdef CONFIG_SCSI