board: mscc: serval: Update MSCC Serval boards
[oweals/u-boot.git] / board / mscc / serval / serval.c
index ade041e11832fe4424952941fa2924e260844b95..da7f55620debec24178a77bd12829cdfb9af01cc 100644 (file)
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <led.h>
+#include <miiphy.h>
 
 enum {
        BOARD_TYPE_PCB106 = 0xAABBCD00,
@@ -27,6 +28,17 @@ int board_early_init_r(void)
        return 0;
 }
 
+int board_phy_config(struct phy_device *phydev)
+{
+       phy_write(phydev, 0, 31, 0x10);
+       phy_write(phydev, 0, 18, 0x80F0);
+       while (phy_read(phydev, 0, 18) & 0x8000)
+               ;
+       phy_write(phydev, 0, 14, 0x800);
+       phy_write(phydev, 0, 31, 0);
+       return 0;
+}
+
 static void do_board_detect(void)
 {
        u16 gpio_in_reg;