mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 04:46:01 +01:00
ARM: imx: imx8mn-ddr4-evk: Add ethernet support
Add support for ethernet on the imx8mn-ddr4-evk. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
This commit is contained in:
parent
3240d011ae
commit
fea6607317
@ -53,6 +53,7 @@
|
|||||||
pinctrl-0 = <&pinctrl_fec1>;
|
pinctrl-0 = <&pinctrl_fec1>;
|
||||||
phy-mode = "rgmii-id";
|
phy-mode = "rgmii-id";
|
||||||
phy-handle = <ðphy0>;
|
phy-handle = <ðphy0>;
|
||||||
|
phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
|
||||||
fsl,magic-packet;
|
fsl,magic-packet;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
@ -7,19 +7,49 @@
|
|||||||
#include <env.h>
|
#include <env.h>
|
||||||
#include <init.h>
|
#include <init.h>
|
||||||
#include <asm/global_data.h>
|
#include <asm/global_data.h>
|
||||||
|
#include <miiphy.h>
|
||||||
|
#include <netdev.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
int board_init(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int board_mmc_get_env_dev(int devno)
|
int board_mmc_get_env_dev(int devno)
|
||||||
{
|
{
|
||||||
return devno;
|
return devno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void setup_fec(void)
|
||||||
|
{
|
||||||
|
struct iomuxc_gpr_base_regs *gpr =
|
||||||
|
(struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR;
|
||||||
|
|
||||||
|
/* Use 125M anatop REF_CLK1 for ENET1, not from external */
|
||||||
|
clrsetbits_le32(&gpr->gpr[1], 0x2000, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int board_phy_config(struct phy_device *phydev)
|
||||||
|
{
|
||||||
|
/* enable rgmii rxc skew and phy mode select to RGMII copper */
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
|
||||||
|
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00);
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee);
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);
|
||||||
|
|
||||||
|
if (phydev->drv->config)
|
||||||
|
phydev->drv->config(phydev);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int board_init(void)
|
||||||
|
{
|
||||||
|
setup_fec();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int board_late_init(void)
|
int board_late_init(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||||
|
@ -65,7 +65,12 @@ CONFIG_MMC_HS400_ES_SUPPORT=y
|
|||||||
CONFIG_MMC_HS400_SUPPORT=y
|
CONFIG_MMC_HS400_SUPPORT=y
|
||||||
CONFIG_FSL_USDHC=y
|
CONFIG_FSL_USDHC=y
|
||||||
CONFIG_PHYLIB=y
|
CONFIG_PHYLIB=y
|
||||||
|
CONFIG_PHY_ATHEROS=y
|
||||||
CONFIG_DM_ETH=y
|
CONFIG_DM_ETH=y
|
||||||
|
CONFIG_DM_ETH_PHY=y
|
||||||
|
CONFIG_PHY_GIGE=y
|
||||||
|
CONFIG_FEC_MXC=y
|
||||||
|
CONFIG_MII=y
|
||||||
CONFIG_PINCTRL=y
|
CONFIG_PINCTRL=y
|
||||||
CONFIG_SPL_PINCTRL=y
|
CONFIG_SPL_PINCTRL=y
|
||||||
CONFIG_PINCTRL_IMX8M=y
|
CONFIG_PINCTRL_IMX8M=y
|
||||||
|
Loading…
x
Reference in New Issue
Block a user