1 /* 2 * Copyright 2023 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef _FSL_NETC_PHY_WRAPPER_H_ 8 #define _FSL_NETC_PHY_WRAPPER_H_ 9 10 #include "fsl_common.h" 11 #include "fsl_netc_mdio.h" 12 13 #define getPhyReg(reg) ((uint16_t)(((uint32_t)(reg) >> 1U) & 0xFFFFU)) 14 #define getPhyDev(reg) ((uint8_t)(((uint32_t)(reg) >> 17U) & 0x1FU)) 15 16 /*! 17 * @brief ENET_PHY modes supported 18 */ 19 typedef enum _phy_mode 20 { 21 kNETC_SGMII1G = 0U, 22 kNETC_SGMII2G5, 23 #if !(defined(FSL_FEATURE_NETC_HAS_NO_XGMII) && FSL_FEATURE_NETC_HAS_NO_XGMII) 24 kNETC_XGMII10GAuto, 25 kNETC_XGMII10G, 26 #endif 27 kNETC_XFI, 28 } phy_mode_t; 29 30 /*! 31 * @brief ENET_PHY mode init 32 * 33 * @param handle mdio handle. 34 * @param mode phy mode. 35 * @return status_t 36 */ 37 status_t NETC_PHYInit(netc_mdio_handle_t *handle, phy_mode_t mode); 38 39 #endif /* _FSL_NETC_PHY_WRAPPER_H_ */ 40