diff options
author | Peng Fan | 2022-07-26 16:41:18 +0800 |
---|---|---|
committer | Stefano Babic | 2022-07-26 11:29:01 +0200 |
commit | 481f96068e4c1c1f8ef1e38cae054b8796dff721 (patch) | |
tree | 70e59d387d6903ad2f2018d98fb680af10abb3c1 /board | |
parent | a624251461bf9750d8a11545972fe575fc4cbf85 (diff) |
board: freescale: imx93_evk: support ethernet
Add ethernet support
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'board')
-rw-r--r-- | board/freescale/imx93_evk/imx93_evk.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/board/freescale/imx93_evk/imx93_evk.c b/board/freescale/imx93_evk/imx93_evk.c index f473ba30320..182ae5fd518 100644 --- a/board/freescale/imx93_evk/imx93_evk.c +++ b/board/freescale/imx93_evk/imx93_evk.c @@ -38,8 +38,40 @@ int board_early_init_f(void) return 0; } +static int setup_fec(void) +{ + return set_clk_enet(ENET_125MHZ); +} + +int board_phy_config(struct phy_device *phydev) +{ + if (phydev->drv->config) + phydev->drv->config(phydev); + + return 0; +} + +static int setup_eqos(void) +{ + struct blk_ctrl_wakeupmix_regs *bctrl = + (struct blk_ctrl_wakeupmix_regs *)BLK_CTRL_WAKEUPMIX_BASE_ADDR; + + /* set INTF as RGMII, enable RGMII TXC clock */ + clrsetbits_le32(&bctrl->eqos_gpr, + BCTRL_GPR_ENET_QOS_INTF_MODE_MASK, + BCTRL_GPR_ENET_QOS_INTF_SEL_RGMII | BCTRL_GPR_ENET_QOS_CLK_GEN_EN); + + return set_clk_eqos(ENET_125MHZ); +} + int board_init(void) { + if (CONFIG_IS_ENABLED(FEC_MXC)) + setup_fec(); + + if (CONFIG_IS_ENABLED(DWC_ETH_QOS)) + setup_eqos(); + return 0; } |