diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/configs/imx8mp_evk.h | 2 | ||||
-rw-r--r-- | include/configs/imx8mp_rsb3720.h | 1 | ||||
-rw-r--r-- | include/configs/imx93_evk.h | 1 | ||||
-rw-r--r-- | include/net.h | 4 | ||||
-rw-r--r-- | include/netdev.h | 1 | ||||
-rw-r--r-- | include/phy.h | 189 |
6 files changed, 12 insertions, 186 deletions
diff --git a/include/configs/imx8mp_evk.h b/include/configs/imx8mp_evk.h index 5581c0fac02..388f3bc9ffe 100644 --- a/include/configs/imx8mp_evk.h +++ b/include/configs/imx8mp_evk.h @@ -24,8 +24,6 @@ #if defined(CONFIG_CMD_NET) #define CONFIG_FEC_MXC_PHYADDR 1 -#define DWC_NET_PHYADDR 1 - #define PHY_ANEG_TIMEOUT 20000 #endif diff --git a/include/configs/imx8mp_rsb3720.h b/include/configs/imx8mp_rsb3720.h index 17e00f958b6..ddc035ae228 100644 --- a/include/configs/imx8mp_rsb3720.h +++ b/include/configs/imx8mp_rsb3720.h @@ -42,7 +42,6 @@ #if defined(CONFIG_CMD_NET) #define CONFIG_FEC_MXC_PHYADDR 4 -#define DWC_NET_PHYADDR 4 #ifdef CONFIG_DWC_ETH_QOS #define CONFIG_SYS_NONCACHED_MEMORY (1 * SZ_1M) /* 1M */ #endif diff --git a/include/configs/imx93_evk.h b/include/configs/imx93_evk.h index 21f85f59b28..f9750da5805 100644 --- a/include/configs/imx93_evk.h +++ b/include/configs/imx93_evk.h @@ -138,7 +138,6 @@ #define WDOG_BASE_ADDR WDG3_BASE_ADDR #if defined(CONFIG_CMD_NET) -#define DWC_NET_PHYADDR 1 #define PHY_ANEG_TIMEOUT 20000 #endif diff --git a/include/net.h b/include/net.h index e3889a0bc85..c06b577808b 100644 --- a/include/net.h +++ b/include/net.h @@ -536,7 +536,9 @@ extern struct in_addr net_dns_server2; #endif extern char net_nis_domain[32]; /* Our IS domain */ extern char net_hostname[32]; /* Our hostname */ -extern char net_root_path[64]; /* Our root path */ +#ifdef CONFIG_NET +extern char net_root_path[CONFIG_BOOTP_MAX_ROOT_PATH_LEN]; /* Our root path */ +#endif /** END OF BOOTP EXTENTIONS **/ extern u8 net_ethaddr[ARP_HLEN]; /* Our ethernet address */ extern u8 net_server_ethaddr[ARP_HLEN]; /* Boot server enet address */ diff --git a/include/netdev.h b/include/netdev.h index fb18f09893c..b3f8584e900 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -42,7 +42,6 @@ int eepro100_initialize(struct bd_info *bis); int ep93xx_eth_initialize(u8 dev_num, int base_addr); int eth_3com_initialize (struct bd_info * bis); int ethoc_initialize(u8 dev_num, int base_addr); -int fec_initialize (struct bd_info *bis); int fecmxc_initialize(struct bd_info *bis); int fecmxc_initialize_multi(struct bd_info *bis, int dev_id, int phy_id, uint32_t addr); diff --git a/include/phy.h b/include/phy.h index b3295957106..ad2096ca84f 100644 --- a/include/phy.h +++ b/include/phy.h @@ -177,186 +177,6 @@ struct fixed_link { int asym_pause; }; -/** - * phy_read - Convenience function for reading a given PHY register - * @phydev: the phy_device struct - * @devad: The MMD to read from - * @regnum: register number to read - * @return: value for success or negative errno for failure - */ -static inline int phy_read(struct phy_device *phydev, int devad, int regnum) -{ - struct mii_dev *bus = phydev->bus; - - if (!bus || !bus->read) { - debug("%s: No bus configured\n", __func__); - return -1; - } - - return bus->read(bus, phydev->addr, devad, regnum); -} - -/** - * phy_write - Convenience function for writing a given PHY register - * @phydev: the phy_device struct - * @devad: The MMD to read from - * @regnum: register number to write - * @val: value to write to @regnum - * @return: 0 for success or negative errno for failure - */ -static inline int phy_write(struct phy_device *phydev, int devad, int regnum, - u16 val) -{ - struct mii_dev *bus = phydev->bus; - - if (!bus || !bus->write) { - debug("%s: No bus configured\n", __func__); - return -1; - } - - return bus->write(bus, phydev->addr, devad, regnum, val); -} - -/** - * phy_mmd_start_indirect - Convenience function for writing MMD registers - * @phydev: the phy_device struct - * @devad: The MMD to read from - * @regnum: register number to write - * @return: None - */ -static inline void phy_mmd_start_indirect(struct phy_device *phydev, int devad, - int regnum) -{ - /* Write the desired MMD Devad */ - phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, devad); - - /* Write the desired MMD register address */ - phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, regnum); - - /* Select the Function : DATA with no post increment */ - phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, - (devad | MII_MMD_CTRL_NOINCR)); -} - -/** - * phy_read_mmd - Convenience function for reading a register - * from an MMD on a given PHY. - * @phydev: The phy_device struct - * @devad: The MMD to read from - * @regnum: The register on the MMD to read - * @return: Value for success or negative errno for failure - */ -static inline int phy_read_mmd(struct phy_device *phydev, int devad, - int regnum) -{ - struct phy_driver *drv = phydev->drv; - - if (regnum > (u16)~0 || devad > 32) - return -EINVAL; - - /* driver-specific access */ - if (drv->read_mmd) - return drv->read_mmd(phydev, devad, regnum); - - /* direct C45 / C22 access */ - if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES || - devad == MDIO_DEVAD_NONE || !devad) - return phy_read(phydev, devad, regnum); - - /* indirect C22 access */ - phy_mmd_start_indirect(phydev, devad, regnum); - - /* Read the content of the MMD's selected register */ - return phy_read(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA); -} - -/** - * phy_write_mmd - Convenience function for writing a register - * on an MMD on a given PHY. - * @phydev: The phy_device struct - * @devad: The MMD to read from - * @regnum: The register on the MMD to read - * @val: value to write to @regnum - * @return: 0 for success or negative errno for failure - */ -static inline int phy_write_mmd(struct phy_device *phydev, int devad, - int regnum, u16 val) -{ - struct phy_driver *drv = phydev->drv; - - if (regnum > (u16)~0 || devad > 32) - return -EINVAL; - - /* driver-specific access */ - if (drv->write_mmd) - return drv->write_mmd(phydev, devad, regnum, val); - - /* direct C45 / C22 access */ - if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES || - devad == MDIO_DEVAD_NONE || !devad) - return phy_write(phydev, devad, regnum, val); - - /* indirect C22 access */ - phy_mmd_start_indirect(phydev, devad, regnum); - - /* Write the data into MMD's selected register */ - return phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, val); -} - -/** - * phy_set_bits_mmd - Convenience function for setting bits in a register - * on MMD - * @phydev: the phy_device struct - * @devad: the MMD containing register to modify - * @regnum: register number to modify - * @val: bits to set - * @return: 0 for success or negative errno for failure - */ -static inline int phy_set_bits_mmd(struct phy_device *phydev, int devad, - u32 regnum, u16 val) -{ - int value, ret; - - value = phy_read_mmd(phydev, devad, regnum); - if (value < 0) - return value; - - value |= val; - - ret = phy_write_mmd(phydev, devad, regnum, value); - if (ret < 0) - return ret; - - return 0; -} - -/** - * phy_clear_bits_mmd - Convenience function for clearing bits in a register - * on MMD - * @phydev: the phy_device struct - * @devad: the MMD containing register to modify - * @regnum: register number to modify - * @val: bits to clear - * @return: 0 for success or negative errno for failure - */ -static inline int phy_clear_bits_mmd(struct phy_device *phydev, int devad, - u32 regnum, u16 val) -{ - int value, ret; - - value = phy_read_mmd(phydev, devad, regnum); - if (value < 0) - return value; - - value &= ~val; - - ret = phy_write_mmd(phydev, devad, regnum, value); - if (ret < 0) - return ret; - - return 0; -} - #ifdef CONFIG_PHYLIB_10G extern struct phy_driver gen10g_driver; #endif @@ -508,6 +328,15 @@ static inline ofnode phy_get_ofnode(struct phy_device *phydev) return ofnode_null(); } #endif + +int phy_read(struct phy_device *phydev, int devad, int regnum); +int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val); +void phy_mmd_start_indirect(struct phy_device *phydev, int devad, int regnum); +int phy_read_mmd(struct phy_device *phydev, int devad, int regnum); +int phy_write_mmd(struct phy_device *phydev, int devad, int regnum, u16 val); +int phy_set_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val); +int phy_clear_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val); + int phy_startup(struct phy_device *phydev); int phy_config(struct phy_device *phydev); int phy_shutdown(struct phy_device *phydev); |