apalis_imx6: migrate to DM_ETH
authorIgor Opaniuk <igor.opaniuk@toradex.com>
Mon, 4 Nov 2019 10:12:02 +0000 (11:12 +0100)
committerStefano Babic <sbabic@denx.de>
Tue, 7 Jan 2020 09:26:56 +0000 (10:26 +0100)
Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
board/toradex/apalis_imx6/apalis_imx6.c
configs/apalis_imx6_defconfig
include/configs/apalis_imx6.h

index d4d6eed11a35cf9d0166bacad6d8f58e37dbef67..d569782a192eee118b3510a2f832af030f76e1fd 100644 (file)
@@ -177,22 +177,6 @@ iomux_v3_cfg_t const enet_pads[] = {
 #      define GPIO_ENET_PHY_RESET IMX_GPIO_NR(1, 25)
 };
 
-static void setup_iomux_enet(void)
-{
-       imx_iomux_v3_setup_multiple_pads(enet_pads, ARRAY_SIZE(enet_pads));
-}
-
-static int reset_enet_phy(struct mii_dev *bus)
-{
-       /* Reset KSZ9031 PHY */
-       gpio_request(GPIO_ENET_PHY_RESET, "ETH_RESET#");
-       gpio_direction_output(GPIO_ENET_PHY_RESET, 0);
-       mdelay(10);
-       gpio_set_value(GPIO_ENET_PHY_RESET, 1);
-
-       return 0;
-}
-
 /* mux the Apalis GPIO pins, so they can be used from the U-Boot cmdline */
 iomux_v3_cfg_t const gpio_pads[] = {
        /* Apalis GPIO1 - GPIO8 */
@@ -367,41 +351,6 @@ int board_phy_config(struct phy_device *phydev)
        return 0;
 }
 
-int board_eth_init(bd_t *bis)
-{
-       uint32_t base = IMX_FEC_BASE;
-       struct mii_dev *bus = NULL;
-       struct phy_device *phydev = NULL;
-       int ret;
-
-       setup_iomux_enet();
-
-#ifdef CONFIG_FEC_MXC
-       bus = fec_get_miibus(base, -1);
-       if (!bus)
-               return 0;
-
-       bus->reset = reset_enet_phy;
-       /* scan PHY 4,5,6,7 */
-       phydev = phy_find_by_mask(bus, (0xf << 4), PHY_INTERFACE_MODE_RGMII);
-       if (!phydev) {
-               free(bus);
-               puts("no PHY found\n");
-               return 0;
-       }
-
-       printf("using PHY at %d\n", phydev->addr);
-       ret = fec_probe(bis, -1, base, bus, phydev);
-       if (ret) {
-               printf("FEC MXC: %s:failed\n", __func__);
-               free(phydev);
-               free(bus);
-       }
-#endif /* CONFIG_FEC_MXC */
-
-       return 0;
-}
-
 static iomux_v3_cfg_t const pwr_intb_pads[] = {
        /*
         * the bootrom sets the iomux to vselect, potentially connecting
index 0d11ab53d6634c2494604a8f654061d3f5144ebb..cd9090621b4e5d733a23a5190a55dd772195f3bf 100644 (file)
@@ -66,6 +66,9 @@ CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
+CONFIG_DM_MDIO=y
+CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
index 800f27ccbbba38e701549253f3f123140e203a3e..d2ff7e95345c9c17d90640709b7e5411a4d9b065 100644 (file)
 #endif
 
 /* Network */
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE                   ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE            RGMII
-#define CONFIG_ETHPRIME                        "FEC"
 #define PHY_ANEG_TIMEOUT               15000 /* PHY needs longer aneg time */
-#define CONFIG_FEC_MXC_PHYADDR         6
-#define CONFIG_TFTP_TSIZE
 
 /* USB Configs */
 /* Host */