// SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2018, 2020 NXP * */ #include #include #include #include DECLARE_GLOBAL_DATA_PTR; int board_eth_init(struct bd_info *bis) { #ifdef CONFIG_PHY_AQUANTIA /* * Export functions to be used by AQ firmware * upload application */ gd->jt->strcpy = strcpy; gd->jt->mdelay = mdelay; gd->jt->mdio_get_current_dev = mdio_get_current_dev; gd->jt->phy_find_by_mask = phy_find_by_mask; gd->jt->mdio_phydev_for_ethname = mdio_phydev_for_ethname; gd->jt->miiphy_set_current_dev = miiphy_set_current_dev; #endif return pci_eth_init(bis); } #if defined(CONFIG_RESET_PHY_R) void reset_phy(void) { #if defined(CONFIG_FSL_MC_ENET) mc_env_boot(); #endif } #endif /* CONFIG_RESET_PHY_R */ int fdt_fixup_board_phy(void *fdt) { int mdio_offset; int ret; struct mii_dev *dev; ret = 0; dev = miiphy_get_dev_by_name(DEFAULT_WRIOP_MDIO2_NAME); if (!get_inphi_phy_id(dev, INPHI_PHY_ADDR1, MDIO_MMD_VEND1)) { mdio_offset = fdt_path_offset(fdt, "/soc/mdio@0x8B97000"); if (mdio_offset < 0) mdio_offset = fdt_path_offset(fdt, "/mdio@0x8B97000"); if (mdio_offset < 0) { printf("mdio@0x8B9700 node not found in dts\n"); return mdio_offset; } ret = fdt_setprop_string(fdt, mdio_offset, "status", "disabled"); if (ret) { printf("Could not set disable mdio@0x8B97000 %s\n", fdt_strerror(ret)); return ret; } } return ret; }