imply CMD_HASH
        imply FAT_WRITE
        imply HASH_VERIFY
+       imply NETDEVICES
+       imply BCM_SF2_ETH
+       imply BCM_SF2_ETH_GMAC
 
 config TARGET_BCMNSP
        bool "Support bcmnsp"
 
 /*
- * Copyright 2014 Broadcom Corporation.
+ * Copyright 2014-2017 Broadcom.
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 #define CONFIG_SYS_NS16550_COM3                0x18023000
 
 /* Ethernet */
-#define CONFIG_BCM_SF2_ETH
-#define CONFIG_BCM_SF2_ETH_GMAC
-
-#define CONFIG_PHYLIB
 #define CONFIG_PHY_BROADCOM
 #define CONFIG_PHY_RESET_DELAY 10000 /* PHY reset delay in us*/
 
 
 CONFIG_ARM=y
 CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
 CONFIG_TARGET_BCM28155_AP=y
-CONFIG_SYS_EXTRA_OPTIONS="BCM_SF2_ETH,BCM_SF2_ETH_GMAC"
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_VERSION_VARIABLE=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
-# CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation"
 CONFIG_G_DNL_VENDOR_NUM=0x18d1
 CONFIG_G_DNL_PRODUCT_NUM=0x0d02
+CONFIG_NETDEVICES=y
+CONFIG_BCM_SF2_ETH=y
+CONFIG_BCM_SF2_ETH_GMAC=y
 
          Please find details on the "Triple-Speed Ethernet MegaCore Function
          Resource Center" of Altera.
 
+config BCM_SF2_ETH
+       bool "Broadcom SF2 (Starfighter2) Ethernet support"
+       select PHYLIB
+       help
+         This is an abstract framework which provides a generic interface
+         to MAC and DMA management for multiple Broadcom SoCs such as
+         Cygnus, NSP and bcm28155_ap platforms.
+
+config BCM_SF2_ETH_DEFAULT_PORT
+       int "Broadcom SF2 (Starfighter2) Ethernet default port number"
+       depends on BCM_SF2_ETH
+       default 0
+       help
+         Default port number for the Starfighter2 ethernet driver.
+
+config BCM_SF2_ETH_GMAC
+       bool "Broadcom SF2 (Starfighter2) GMAC Ethernet support"
+       depends on BCM_SF2_ETH
+       help
+         This flag enables the ethernet support for Broadcom platforms with
+         GMAC such as Cygnus. This driver is based on the framework provided
+         by the BCM_SF2_ETH driver.
+         Say Y to any bcmcygnus based platforms.
+
 config DWC_ETH_QOS
        bool "Synopsys DWC Ethernet QOS device support"
        depends on DM_ETH
 
 /* Support 2 Ethernet ports now */
 #define BCM_ETH_MAX_PORT_NUM   2
 
-#define CONFIG_BCM_SF2_ETH_DEFAULT_PORT        0
-
 enum {
        MAC_DMA_TX = 1,
        MAC_DMA_RX = 2
 
 CONFIG_BCH_CONST_T
 CONFIG_BCM2835_GPIO
 CONFIG_BCM283X_MU_SERIAL
-CONFIG_BCM_SF2_ETH
-CONFIG_BCM_SF2_ETH_DEFAULT_PORT
-CONFIG_BCM_SF2_ETH_GMAC
 CONFIG_BIOSEMU
 CONFIG_BITBANGMII_MULTI
 CONFIG_BL1_OFFSET