Commit b719a08863dc865fbdd049f50eefeca52fc2cdcc

Authored by Andreas Bießmann
1 parent 476095772f

sama5d3xek: run PHY's config

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Bo Shen <voice.shen@atmel.com>

Showing 1 changed file with 20 additions and 9 deletions Side-by-side Diff

board/atmel/sama5d3xek/sama5d3xek.c
... ... @@ -17,6 +17,7 @@
17 17 #include <lcd.h>
18 18 #include <atmel_lcdc.h>
19 19 #include <atmel_mci.h>
  20 +#include <phy.h>
20 21 #include <micrel.h>
21 22 #include <net.h>
22 23 #include <netdev.h>
... ... @@ -273,15 +274,25 @@
273 274  
274 275 int board_phy_config(struct phy_device *phydev)
275 276 {
276   - /* rx data delay */
277   - ksz9021_phy_extended_write(phydev,
278   - MII_KSZ9021_EXT_RGMII_RX_DATA_SKEW, 0x2222);
279   - /* tx data delay */
280   - ksz9021_phy_extended_write(phydev,
281   - MII_KSZ9021_EXT_RGMII_TX_DATA_SKEW, 0x2222);
282   - /* rx/tx clock delay */
283   - ksz9021_phy_extended_write(phydev,
284   - MII_KSZ9021_EXT_RGMII_CLOCK_SKEW, 0xf2f4);
  277 + /* board specific timings for GMAC */
  278 + if (has_gmac()) {
  279 + /* rx data delay */
  280 + ksz9021_phy_extended_write(phydev,
  281 + MII_KSZ9021_EXT_RGMII_RX_DATA_SKEW,
  282 + 0x2222);
  283 + /* tx data delay */
  284 + ksz9021_phy_extended_write(phydev,
  285 + MII_KSZ9021_EXT_RGMII_TX_DATA_SKEW,
  286 + 0x2222);
  287 + /* rx/tx clock delay */
  288 + ksz9021_phy_extended_write(phydev,
  289 + MII_KSZ9021_EXT_RGMII_CLOCK_SKEW,
  290 + 0xf2f4);
  291 + }
  292 +
  293 + /* always run the PHY's config routine */
  294 + if (phydev->drv->config)
  295 + return phydev->drv->config(phydev);
285 296  
286 297 return 0;
287 298 }