In DM Ethernet, the old "egiga0" name is no longer valid,
so replace with Ethernet PHY name from device tree. Also, read
Ethernet PHY address from device tree.

Signed-off-by: Tony Dinh <mibo...@gmail.com>
---

 board/Seagate/dockstar/dockstar.c | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/board/Seagate/dockstar/dockstar.c 
b/board/Seagate/dockstar/dockstar.c
index fb69193158..e853f942cf 100644
--- a/board/Seagate/dockstar/dockstar.c
+++ b/board/Seagate/dockstar/dockstar.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
+ * Copyright (C) 2021  Tony Dinh <mibo...@gmail.com>
  * Copyright (C) 2010  Eric C. Cooper <e...@cmu.edu>
  *
  * Based on sheevaplug.c originally written by
@@ -19,6 +20,7 @@
 #include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
+#include <fdt_support_net.h>
 #include "dockstar.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -110,31 +112,30 @@ int board_init(void)
 void reset_phy(void)
 {
        u16 reg;
-       u16 devadr;
-       char *name = "egiga0";
+       int phyaddr;
+       char *name = "ethernet-controller@72000";
+       char *eth0_path = 
"/ocp@f1000000/ethernet-controller@72000/ethernet0-port@0";
 
        if (miiphy_set_current_dev(name))
                return;
 
-       /* command to read PHY dev address */
-       if (miiphy_read(name, 0xEE, 0xEE, (u16 *) &devadr)) {
-               printf("Err..%s could not read PHY dev address\n",
-                       __FUNCTION__);
+       /* Look up PHY addr */
+       phyaddr = fdt_get_phy_addr(eth0_path);
+       if (phyaddr < 0)
                return;
-       }
 
        /*
         * Enable RGMII delay on Tx and Rx for CPU port
         * Ref: sec 4.7.2 of chip datasheet
         */
-       miiphy_write(name, devadr, MV88E1116_PGADR_REG, 2);
-       miiphy_read(name, devadr, MV88E1116_MAC_CTRL_REG, &reg);
+       miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 2);
+       miiphy_read(name, phyaddr, MV88E1116_MAC_CTRL_REG, &reg);
        reg |= (MV88E1116_RGMII_RXTM_CTRL | MV88E1116_RGMII_TXTM_CTRL);
-       miiphy_write(name, devadr, MV88E1116_MAC_CTRL_REG, reg);
-       miiphy_write(name, devadr, MV88E1116_PGADR_REG, 0);
+       miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL_REG, reg);
+       miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0);
 
        /* reset the phy */
-       miiphy_reset(name, devadr);
+       miiphy_reset(name, phyaddr);
 
        printf("88E1116 Initialized on %s\n", name);
 }
-- 
2.20.1

Reply via email to