Advertisement
Guest User

Untitled

a guest
Jul 12th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. diff --git a/board/freescale/mx6qsabreauto/mx6qsabreauto.c b/board/freescale/mx6qsabreauto/mx6qsabreauto.c
  2. index 51bbbc4..f66fa75 100644
  3. --- a/board/freescale/mx6qsabreauto/mx6qsabreauto.c
  4. +++ b/board/freescale/mx6qsabreauto/mx6qsabreauto.c
  5. @@ -348,6 +348,39 @@ static void setup_gpmi_nand(void)
  6. }
  7. #endif
  8.  
  9. +int mx6_rgmii_rework(struct phy_device *phydev)
  10. +{
  11. + unsigned short val;
  12. +
  13. + /* To enable AR8031 ouput a 125MHz clk from CLK_25M */
  14. + phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7);
  15. + phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016);
  16. + phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007);
  17. +
  18. + val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
  19. + val &= 0xffe3;
  20. + val |= 0x18;
  21. + phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
  22. +
  23. + /* introduce tx clock delay */
  24. + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5);
  25. + val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
  26. + val |= 0x0100;
  27. + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val);
  28. +
  29. + return 0;
  30. +}
  31. +
  32. +int board_phy_config(struct phy_device *phydev)
  33. +{
  34. + mx6_rgmii_rework(phydev);
  35. +
  36. + if (phydev->drv->config)
  37. + phydev->drv->config(phydev);
  38. +
  39. + return 0;
  40. +}
  41. +
  42. static void setup_fec(void)
  43. {
  44. if (is_mx6dqp()) {
  45. --
  46. 2.7.4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement