ofw.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. rt_err_t rt_ofw_get_mac_addr(struct rt_ofw_node *np, rt_uint8_t *addr);
  54. rt_err_t rt_ofw_get_mac_addr_by_name(struct rt_ofw_node *np, const char *name, rt_uint8_t *addr);
  55. rt_err_t rt_ofw_get_interface(struct rt_ofw_node *np, rt_phy_interface *interface);
  56. #endif