1 /* 2 * Copyright 2025 NXP 3 * SPDX-License-Identifier: Apache-2.0 4 */ 5 6 #ifndef __NXP_IMX_NETC_H__ 7 #define __NXP_IMX_NETC_H__ 8 9 #define NETC_BD_ALIGN 128 10 11 /* Get phy mode from dts. Default RMII for i.MXRT1180 ENETC which hasn't added the property. */ 12 #define NETC_PHY_MODE(node_id) \ 13 (DT_ENUM_HAS_VALUE(node_id, phy_connection_type, mii) \ 14 ? kNETC_MiiMode \ 15 : (DT_ENUM_HAS_VALUE(node_id, phy_connection_type, rmii) \ 16 ? kNETC_RmiiMode \ 17 : (DT_ENUM_HAS_VALUE(node_id, phy_connection_type, rgmii) \ 18 ? kNETC_RgmiiMode \ 19 : (DT_ENUM_HAS_VALUE(node_id, phy_connection_type, gmii) \ 20 ? kNETC_GmiiMode \ 21 : kNETC_RmiiMode)))) 22 23 /* Helper macros to convert from Zephyr PHY speed to NETC speed/duplex types */ 24 #define PHY_TO_NETC_SPEED(x) \ 25 (PHY_LINK_IS_SPEED_1000M(x) \ 26 ? kNETC_MiiSpeed1000M \ 27 : (PHY_LINK_IS_SPEED_100M(x) ? kNETC_MiiSpeed100M : kNETC_MiiSpeed10M)) 28 29 #define PHY_TO_NETC_DUPLEX_MODE(x) \ 30 (PHY_LINK_IS_FULL_DUPLEX(x) ? kNETC_MiiFullDuplex : kNETC_MiiHalfDuplex) 31 32 #endif 33