diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2019-04-11 13:21:18 +0200 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2020-03-05 19:22:18 +0100 |
commit | 478ad2f013c67d1c6b2e2eba3fd2347d2e7e13b1 (patch) | |
tree | 9265093088813407b40254327a90b64b1790a079 | |
parent | d90eddc716ceca0f62fcd6b50f08af0d5defc455 (diff) |
apalis-imx8: clean-up ethernet functionality
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
-rw-r--r-- | arch/arm/dts/fsl-imx8qm-apalis.dts | 5 | ||||
-rw-r--r-- | board/toradex/apalis-imx8/apalis-imx8.c | 78 | ||||
-rw-r--r-- | configs/apalis-imx8_defconfig | 5 | ||||
-rw-r--r-- | include/configs/apalis-imx8.h | 4 |
4 files changed, 8 insertions, 84 deletions
diff --git a/arch/arm/dts/fsl-imx8qm-apalis.dts b/arch/arm/dts/fsl-imx8qm-apalis.dts index a8773b2f33..c7b8dcff80 100644 --- a/arch/arm/dts/fsl-imx8qm-apalis.dts +++ b/arch/arm/dts/fsl-imx8qm-apalis.dts @@ -73,6 +73,8 @@ SC_P_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x06000020 SC_P_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2 0x06000020 SC_P_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3 0x06000020 + SC_P_ENET0_REFCLK_125M_25M_LSIO_GPIO4_IO15 0x00000021 + SC_P_LVDS1_GPIO01_LSIO_GPIO1_IO11 0x00000020 >; }; @@ -230,7 +232,8 @@ pinctrl-0 = <&pinctrl_fec1>; phy-mode = "rgmii"; phy-handle = <ðphy0>; - fsl,ar8031-phy-fixup; + phy-reset-gpios = <&gpio1 11 1>; + phy-reset-duration = <10>; fsl,magic-packet; status = "okay"; diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c index 82a8a2972f..6e534a5bd1 100644 --- a/board/toradex/apalis-imx8/apalis-imx8.c +++ b/board/toradex/apalis-imx8/apalis-imx8.c @@ -5,7 +5,6 @@ #include <common.h> #include <malloc.h> #include <errno.h> -#include <netdev.h> #include <fsl_ifc.h> #include <fdt_support.h> #include <linux/libfdt.h> @@ -38,13 +37,6 @@ DECLARE_GLOBAL_DATA_PTR; #define ESDHC_CLK_PAD_CTRL ((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) \ | (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | (SC_PAD_28FDSOI_PS_PU << PADRING_PULL_SHIFT)) - -#define ENET_INPUT_PAD_CTRL ((SC_PAD_CONFIG_OD_IN << PADRING_CONFIG_SHIFT) | (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) \ - | (SC_PAD_28FDSOI_DSE_18V_10MA << PADRING_DSE_SHIFT) | (SC_PAD_28FDSOI_PS_PU << PADRING_PULL_SHIFT)) - -#define ENET_NORMAL_PAD_CTRL ((SC_PAD_CONFIG_NORMAL << PADRING_CONFIG_SHIFT) | (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) \ - | (SC_PAD_28FDSOI_DSE_18V_10MA << PADRING_DSE_SHIFT) | (SC_PAD_28FDSOI_PS_PU << PADRING_PULL_SHIFT)) - #define GPIO_PAD_CTRL ((SC_PAD_CONFIG_NORMAL << PADRING_CONFIG_SHIFT) | (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) \ | (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | (SC_PAD_28FDSOI_PS_PU << PADRING_PULL_SHIFT)) @@ -240,76 +232,6 @@ static void board_gpio_init(void) } #endif -#ifdef CONFIG_FEC_MXC -#include <miiphy.h> - -#define ETH_RESET IMX_GPIO_NR(1, 11) - -static iomux_cfg_t pad_enet0[] = { - SC_P_ENET0_RGMII_RX_CTL | MUX_PAD_CTRL(ENET_INPUT_PAD_CTRL), - SC_P_ENET0_RGMII_RXD0 | MUX_PAD_CTRL(ENET_INPUT_PAD_CTRL), - SC_P_ENET0_RGMII_RXD1 | MUX_PAD_CTRL(ENET_INPUT_PAD_CTRL), - SC_P_ENET0_RGMII_RXD2 | MUX_PAD_CTRL(ENET_INPUT_PAD_CTRL), - SC_P_ENET0_RGMII_RXD3 | MUX_PAD_CTRL(ENET_INPUT_PAD_CTRL), - SC_P_ENET0_RGMII_RXC | MUX_PAD_CTRL(ENET_INPUT_PAD_CTRL), - SC_P_ENET0_RGMII_TX_CTL | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - SC_P_ENET0_RGMII_TXD0 | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - SC_P_ENET0_RGMII_TXD1 | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - SC_P_ENET0_RGMII_TXD2 | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - SC_P_ENET0_RGMII_TXD3 | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - SC_P_ENET0_RGMII_TXC | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - SC_P_ENET0_REFCLK_125M_25M | MUX_MODE_ALT(3) | MUX_PAD_CTRL(GPIO_PAD_CTRL), - - /* Shared MDIO */ - SC_P_ENET0_MDC | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - SC_P_ENET0_MDIO | MUX_PAD_CTRL(ENET_NORMAL_PAD_CTRL), - - /* Ethernet PHY reset */ - SC_P_LVDS1_GPIO01 | MUX_MODE_ALT(3) | MUX_PAD_CTRL(GPIO_PAD_CTRL), -}; - -static void setup_iomux_fec(void) -{ - imx8_iomux_setup_multiple_pads(pad_enet0, ARRAY_SIZE(pad_enet0)); -} - -static void enet_device_phy_reset(void) -{ - gpio_request(ETH_RESET, "ETH_RESET#"); - gpio_direction_output(ETH_RESET, 0); - mdelay(10); - gpio_set_value(ETH_RESET, 1); -} - -int board_eth_init(bd_t *bis) -{ - int ret; - struct power_domain pd; - - if (!power_domain_lookup_name("conn_enet0", &pd)) - power_domain_on(&pd); - - setup_iomux_fec(); - - enet_device_phy_reset(); - - ret = fecmxc_initialize_multi(bis, CONFIG_FEC_ENET_DEV, - CONFIG_FEC_MXC_PHYADDR, IMX_FEC_BASE); - if (ret) - printf("FEC1 MXC: %s:failed\n", __func__); - - return ret; -} - -int board_phy_config(struct phy_device *phydev) -{ - if (phydev->drv->config) - phydev->drv->config(phydev); - - return 0; -} -#endif - int checkboard(void) { puts("Board: Apalis iMX8\n"); diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig index a4fdc9b3d4..3ac459ae6a 100644 --- a/configs/apalis-imx8_defconfig +++ b/configs/apalis-imx8_defconfig @@ -32,7 +32,10 @@ CONFIG_DM_I2C=y CONFIG_SYS_I2C_IMX_LPI2C=y CONFIG_MISC=y CONFIG_DM_MMC=y -CONFIG_NETDEVICES=y +CONFIG_PHYLIB=y +CONFIG_PHY_MICREL=y +CONFIG_PHY_MICREL_KSZ90X1=y +CONFIG_DM_ETH=y CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX8=y CONFIG_POWER_DOMAIN=y diff --git a/include/configs/apalis-imx8.h b/include/configs/apalis-imx8.h index 4cdb3d2258..e33f22ea1a 100644 --- a/include/configs/apalis-imx8.h +++ b/include/configs/apalis-imx8.h @@ -61,10 +61,6 @@ #define CONFIG_FEC_XCV_TYPE RGMII #define FEC_QUIRK_ENET_MAC -#define CONFIG_PHY_GIGE /* Support for 1000BASE-X */ -#define CONFIG_PHYLIB -#define CONFIG_PHY_MICREL -#define CONFIG_PHY_MICREL_KSZ9031 #define CONFIG_IP_DEFRAG #define CONFIG_TFTP_BLOCKSIZE 4096 #define CONFIG_TFTP_TSIZE |