You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.7 KiB
36 lines
1.7 KiB
/* |
|
* Copyright 2025 NXP |
|
* SPDX-License-Identifier: Apache-2.0 |
|
*/ |
|
|
|
#ifndef __NXP_IMX_NETC_H__ |
|
#define __NXP_IMX_NETC_H__ |
|
|
|
#define NETC_BD_ALIGN 128 |
|
|
|
#define FREESCALE_OUI_B0 0x00 |
|
#define FREESCALE_OUI_B1 0x04 |
|
#define FREESCALE_OUI_B2 0x9f |
|
|
|
/* Get phy mode from dts. Default RMII for i.MXRT1180 ENETC which hasn't added the property. */ |
|
#define NETC_PHY_MODE(node_id) \ |
|
(DT_ENUM_HAS_VALUE(node_id, phy_connection_type, mii) \ |
|
? kNETC_MiiMode \ |
|
: (DT_ENUM_HAS_VALUE(node_id, phy_connection_type, rmii) \ |
|
? kNETC_RmiiMode \ |
|
: (DT_ENUM_HAS_VALUE(node_id, phy_connection_type, rgmii) \ |
|
? kNETC_RgmiiMode \ |
|
: (DT_ENUM_HAS_VALUE(node_id, phy_connection_type, gmii) \ |
|
? kNETC_GmiiMode \ |
|
: kNETC_RmiiMode)))) |
|
|
|
/* Helper macros to convert from Zephyr PHY speed to NETC speed/duplex types */ |
|
#define PHY_TO_NETC_SPEED(x) \ |
|
(PHY_LINK_IS_SPEED_1000M(x) \ |
|
? kNETC_MiiSpeed1000M \ |
|
: (PHY_LINK_IS_SPEED_100M(x) ? kNETC_MiiSpeed100M : kNETC_MiiSpeed10M)) |
|
|
|
#define PHY_TO_NETC_DUPLEX_MODE(x) \ |
|
(PHY_LINK_IS_FULL_DUPLEX(x) ? kNETC_MiiFullDuplex : kNETC_MiiHalfDuplex) |
|
|
|
#endif
|
|
|