diff mbox series

[U-Boot,v1,4/6] apalis_imx6: migrate to DM_ETH

Message ID 20191104101204.17917-5-igor.opaniuk@gmail.com
State Accepted
Commit a781ed271e6707c90180091b9d7b6d43d8ef8c40
Delegated to: Stefano Babic
Headers show
Series imx: colibri imx6/imx7: apalis imx6: migrate to DM_ETH | expand

Commit Message

Igor Opaniuk Nov. 4, 2019, 10:12 a.m. UTC
From: Igor Opaniuk <igor.opaniuk@toradex.com>

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
---

 board/toradex/apalis_imx6/apalis_imx6.c | 51 -------------------------
 configs/apalis_imx6_defconfig           |  3 ++
 include/configs/apalis_imx6.h           |  6 ---
 3 files changed, 3 insertions(+), 57 deletions(-)

Comments

Oleksandr Suvorov Dec. 3, 2019, 2:47 p.m. UTC | #1
On Mon, Nov 4, 2019 at 12:13 PM Igor Opaniuk <igor.opaniuk@gmail.com> wrote:
>
> From: Igor Opaniuk <igor.opaniuk@toradex.com>
>
> 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 | 51 -------------------------
>  configs/apalis_imx6_defconfig           |  3 ++
>  include/configs/apalis_imx6.h           |  6 ---
>  3 files changed, 3 insertions(+), 57 deletions(-)
>
> diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c
> index 51505b63e1..ec6a28104f 100644
> --- a/board/toradex/apalis_imx6/apalis_imx6.c
> +++ b/board/toradex/apalis_imx6/apalis_imx6.c
> @@ -176,22 +176,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 */
> @@ -366,41 +350,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
> diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
> index 797bbb0ed0..7c91ab9c58 100644
> --- a/configs/apalis_imx6_defconfig
> +++ b/configs/apalis_imx6_defconfig
> @@ -63,6 +63,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
> diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
> index a5f9a96732..a346b987a0 100644
> --- a/include/configs/apalis_imx6.h
> +++ b/include/configs/apalis_imx6.h
> @@ -53,13 +53,7 @@
>  #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 */
> --
> 2.17.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Stefano Babic Dec. 29, 2019, 10:26 a.m. UTC | #2
> From: Igor Opaniuk <igor.opaniuk@toradex.com>
> 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>
Applied to u-boot-imx, -next, thanks !

Best regards,
Stefano Babic
diff mbox series

Patch

diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c
index 51505b63e1..ec6a28104f 100644
--- a/board/toradex/apalis_imx6/apalis_imx6.c
+++ b/board/toradex/apalis_imx6/apalis_imx6.c
@@ -176,22 +176,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 */
@@ -366,41 +350,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
diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
index 797bbb0ed0..7c91ab9c58 100644
--- a/configs/apalis_imx6_defconfig
+++ b/configs/apalis_imx6_defconfig
@@ -63,6 +63,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
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index a5f9a96732..a346b987a0 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -53,13 +53,7 @@ 
 #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 */