ldpaa_wriop.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2015 Freescale Semiconductor
  4. */
  5. #ifndef __LDPAA_WRIOP_H
  6. #define __LDPAA_WRIOP_H
  7. #include <phy.h>
  8. #define DEFAULT_WRIOP_MDIO1_NAME "FSL_MDIO0"
  9. #define DEFAULT_WRIOP_MDIO2_NAME "FSL_MDIO1"
  10. #define WRIOP_MAX_PHY_NUM 2
  11. enum wriop_port {
  12. WRIOP1_DPMAC1 = 1,
  13. WRIOP1_DPMAC2,
  14. WRIOP1_DPMAC3,
  15. WRIOP1_DPMAC4,
  16. WRIOP1_DPMAC5,
  17. WRIOP1_DPMAC6,
  18. WRIOP1_DPMAC7,
  19. WRIOP1_DPMAC8,
  20. WRIOP1_DPMAC9,
  21. WRIOP1_DPMAC10,
  22. WRIOP1_DPMAC11,
  23. WRIOP1_DPMAC12,
  24. WRIOP1_DPMAC13,
  25. WRIOP1_DPMAC14,
  26. WRIOP1_DPMAC15,
  27. WRIOP1_DPMAC16,
  28. WRIOP1_DPMAC17,
  29. WRIOP1_DPMAC18,
  30. WRIOP1_DPMAC19,
  31. WRIOP1_DPMAC20,
  32. WRIOP1_DPMAC21,
  33. WRIOP1_DPMAC22,
  34. WRIOP1_DPMAC23,
  35. WRIOP1_DPMAC24,
  36. NUM_WRIOP_PORTS,
  37. };
  38. struct wriop_dpmac_info {
  39. u8 enabled;
  40. u8 id;
  41. u8 board_mux;
  42. int phy_addr[WRIOP_MAX_PHY_NUM];
  43. phy_interface_t enet_if;
  44. struct phy_device *phydev[WRIOP_MAX_PHY_NUM];
  45. struct mii_dev *bus;
  46. };
  47. extern struct wriop_dpmac_info dpmac_info[NUM_WRIOP_PORTS];
  48. void wriop_init_dpmac(int sd, int dpmac_id, int lane_prtcl);
  49. void wriop_init_dpmac_enet_if(int dpmac_id, phy_interface_t enet_if);
  50. int wriop_disable_dpmac(int dpmac_id);
  51. int wriop_enable_dpmac(int dpmac_id);
  52. int wriop_is_enabled_dpmac(int dpmac_id);
  53. int wriop_set_mdio(int dpmac_id, struct mii_dev *bus);
  54. struct mii_dev *wriop_get_mdio(int dpmac_id);
  55. int wriop_set_phy_address(int dpmac_id, int phy_num, int address);
  56. int wriop_get_phy_address(int dpmac_id, int phy_num);
  57. int wriop_set_phy_dev(int dpmac_id, int phy_num, struct phy_device *phydev);
  58. struct phy_device *wriop_get_phy_dev(int dpmac_id, int phy_num);
  59. phy_interface_t wriop_get_enet_if(int dpmac_id);
  60. void wriop_dpmac_disable(int dpmac_id);
  61. void wriop_dpmac_enable(int dpmac_id);
  62. phy_interface_t wriop_dpmac_enet_if(int dpmac_id, int lane_prtcl);
  63. void wriop_init_dpmac_qsgmii(int sd, int lane_prtcl);
  64. void wriop_init_rgmii(void);
  65. #endif /* __LDPAA_WRIOP_H */