diff options
author | Marc Ferland <ferlandm@amotus.ca> | 2021-01-04 10:41:57 -0500 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2021-01-23 11:30:31 +0100 |
commit | 9452d58e1064aa55d75263e7a5134043688671f2 (patch) | |
tree | b4895cd4e6b434f3923832b5fe39eb5e2df0e4ed /board | |
parent | 4736871dc29956af84532fd6c306edf7533c34a5 (diff) | |
download | u-boot-9452d58e1064aa55d75263e7a5134043688671f2.zip u-boot-9452d58e1064aa55d75263e7a5134043688671f2.tar.gz u-boot-9452d58e1064aa55d75263e7a5134043688671f2.tar.bz2 |
arm: dart6ul: enable DM_ETH for the dart6ul
This patch converts the dart6ul ethernet support to DM_ETH and cleans
up the legacy ethernet code. The clean up, more specifically:
* moves the fec2 node and pin definition to the carrier board DTS
since the phy associated with it is on the carrier board and not on
the SoM;
* add the reset pin associated to each phy;
* separate the ethernet, mdio and reset pins of each fec so that they
are easier to reference;
* add clock properties to the phy nodes since they are connected to the
50Mhz ENET[12]_TX_CLK clock of the SoC;
* remove CONFIG_BOARD_EARLY_INIT_F since the function is now empty.
Signed-off-by: Marc Ferland <ferlandm@amotus.ca>
Diffstat (limited to 'board')
-rw-r--r-- | board/variscite/dart_6ul/dart_6ul.c | 72 | ||||
-rw-r--r-- | board/variscite/dart_6ul/spl.c | 3 |
2 files changed, 1 insertions, 74 deletions
diff --git a/board/variscite/dart_6ul/dart_6ul.c b/board/variscite/dart_6ul/dart_6ul.c index 360be75..d997d81 100644 --- a/board/variscite/dart_6ul/dart_6ul.c +++ b/board/variscite/dart_6ul/dart_6ul.c @@ -2,6 +2,7 @@ /* * Copyright (C) 2015-2019 Variscite Ltd. * Copyright (C) 2019 Parthiban Nallathambi <parthitce@gmail.com> + * Copyright (C) 2021 Marc Ferland, Amotus Solutions Inc., <ferlandm@amotus.ca> */ #include <init.h> @@ -18,9 +19,6 @@ #include <linux/bitops.h> #include <malloc.h> #include <miiphy.h> -#include <netdev.h> -#include <usb.h> -#include <usb/ehci-ci.h> DECLARE_GLOBAL_DATA_PTR; @@ -97,67 +95,6 @@ static void setup_gpmi_nand(void) #endif #ifdef CONFIG_FEC_MXC -#define ENET_CLK_PAD_CTRL (PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST) -#define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_PUE | \ - PAD_CTL_SPEED_HIGH | PAD_CTL_DSE_48ohm | \ - PAD_CTL_SRE_FAST) -#define MDIO_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_PUE | \ - PAD_CTL_DSE_48ohm | PAD_CTL_SRE_FAST | \ - PAD_CTL_ODE) -/* - * pin conflicts for fec1 and fec2, GPIO1_IO06 and GPIO1_IO07 can only - * be used for ENET1 or ENET2, cannot be used for both. - */ -static iomux_v3_cfg_t const fec1_pads[] = { - MX6_PAD_GPIO1_IO06__ENET1_MDIO | MUX_PAD_CTRL(MDIO_PAD_CTRL), - MX6_PAD_GPIO1_IO07__ENET1_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET1_TX_DATA0__ENET1_TDATA00 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET1_TX_DATA1__ENET1_TDATA01 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET1_TX_EN__ENET1_TX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 | MUX_PAD_CTRL(ENET_CLK_PAD_CTRL), - MX6_PAD_ENET1_RX_DATA0__ENET1_RDATA00 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET1_RX_DATA1__ENET1_RDATA01 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET1_RX_ER__ENET1_RX_ER | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET1_RX_EN__ENET1_RX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL), -}; - -static iomux_v3_cfg_t const fec2_pads[] = { - MX6_PAD_GPIO1_IO06__ENET2_MDIO | MUX_PAD_CTRL(MDIO_PAD_CTRL), - MX6_PAD_GPIO1_IO07__ENET2_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET2_TX_DATA0__ENET2_TDATA00 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET2_TX_DATA1__ENET2_TDATA01 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET2_TX_EN__ENET2_TX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 | MUX_PAD_CTRL(ENET_CLK_PAD_CTRL), - MX6_PAD_ENET2_RX_DATA0__ENET2_RDATA00 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET2_RX_DATA1__ENET2_RDATA01 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET2_RX_ER__ENET2_RX_ER | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET2_RX_EN__ENET2_RX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL), -}; - -static void setup_iomux_fec(int fec_id) -{ - if (fec_id == 0) - imx_iomux_v3_setup_multiple_pads(fec1_pads, - ARRAY_SIZE(fec1_pads)); - else - imx_iomux_v3_setup_multiple_pads(fec2_pads, - ARRAY_SIZE(fec2_pads)); -} - -int board_eth_init(struct bd_info *bis) -{ - int ret = 0; - - ret = fecmxc_initialize_multi(bis, CONFIG_FEC_ENET_DEV, - CONFIG_FEC_MXC_PHYADDR, IMX_FEC_BASE); - -#if defined(CONFIG_CI_UDC) && defined(CONFIG_USB_ETHER) - /* USB Ethernet Gadget */ - usb_eth_initialize(bis); -#endif - return ret; -} - static int setup_fec(int fec_id) { struct iomuxc *const iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR; @@ -203,13 +140,6 @@ int board_phy_config(struct phy_device *phydev) } #endif /* CONFIG_FEC_MXC */ -int board_early_init_f(void) -{ - setup_iomux_fec(CONFIG_FEC_ENET_DEV); - - return 0; -} - int board_init(void) { /* Address of boot parameters */ diff --git a/board/variscite/dart_6ul/spl.c b/board/variscite/dart_6ul/spl.c index 071f049..91d470f 100644 --- a/board/variscite/dart_6ul/spl.c +++ b/board/variscite/dart_6ul/spl.c @@ -199,9 +199,6 @@ void board_init_f(ulong dummy) setup_iomux_uart(); - /* iomux and setup of i2c */ - board_early_init_f(); - /* UART clocks enabled and gd valid - init serial console */ preloader_console_init(); |