1 /* 2 * Copyright (c) 2006-2024 RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2024-09-25 zhujiale the first version 9 */ 10 #ifndef __NET_OFW_H__ 11 #define __NET_OFW_H__ 12 #include <rtthread.h> 13 #include <drivers/ofw.h> 14 typedef enum 15 { 16 RT_PHY_INTERFACE_MODE_NA, 17 RT_PHY_INTERFACE_MODE_INTERNAL, 18 RT_PHY_INTERFACE_MODE_MII, 19 RT_PHY_INTERFACE_MODE_GMII, 20 RT_PHY_INTERFACE_MODE_SGMII, 21 RT_PHY_INTERFACE_MODE_TBI, 22 RT_PHY_INTERFACE_MODE_REVMII, 23 RT_PHY_INTERFACE_MODE_RMII, 24 RT_PHY_INTERFACE_MODE_REVRMII, 25 RT_PHY_INTERFACE_MODE_RGMII, 26 RT_PHY_INTERFACE_MODE_RGMII_ID, 27 RT_PHY_INTERFACE_MODE_RGMII_RXID, 28 RT_PHY_INTERFACE_MODE_RGMII_TXID, 29 RT_PHY_INTERFACE_MODE_RTBI, 30 RT_PHY_INTERFACE_MODE_SMII, 31 RT_PHY_INTERFACE_MODE_XGMII, 32 RT_PHY_INTERFACE_MODE_XLGMII, 33 RT_PHY_INTERFACE_MODE_MOCA, 34 RT_PHY_INTERFACE_MODE_PSGMII, 35 RT_PHY_INTERFACE_MODE_QSGMII, 36 RT_PHY_INTERFACE_MODE_TRGMII, 37 RT_PHY_INTERFACE_MODE_100BASEX, 38 RT_PHY_INTERFACE_MODE_1000BASEX, 39 RT_PHY_INTERFACE_MODE_2500BASEX, 40 RT_PHY_INTERFACE_MODE_5GBASER, 41 RT_PHY_INTERFACE_MODE_RXAUI, 42 RT_PHY_INTERFACE_MODE_XAUI, 43 /* 10GBASE-R, XFI, SFI - single lane 10G Serdes */ 44 RT_PHY_INTERFACE_MODE_10GBASER, 45 RT_PHY_INTERFACE_MODE_25GBASER, 46 RT_PHY_INTERFACE_MODE_USXGMII, 47 /* 10GBASE-KR - with Clause 73 AN */ 48 RT_PHY_INTERFACE_MODE_10GKR, 49 RT_PHY_INTERFACE_MODE_QUSGMII, 50 RT_PHY_INTERFACE_MODE_1000BASEKX, 51 RT_PHY_INTERFACE_MODE_MAX, 52 } rt_phy_interface; 53 54 rt_err_t rt_ofw_get_mac_addr(struct rt_ofw_node *np, rt_uint8_t *addr); 55 rt_err_t rt_ofw_get_mac_addr_by_name(struct rt_ofw_node *np, const char *name, rt_uint8_t *addr); 56 rt_err_t rt_ofw_get_interface(struct rt_ofw_node *np, rt_phy_interface *interface); 57 58 #endif 59