From: Horatiu Vultur Date: Thu, 11 Apr 2019 12:11:33 +0000 (+0200) Subject: board: mscc: serval: Update MSCC Serval boards X-Git-Tag: v2019.07-rc2~21^2~11 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d2691b4af2cd2c3cb7f385938fcd63af7de74fca;p=oweals%2Fu-boot.git board: mscc: serval: Update MSCC Serval boards In Serval SoC family there are 2 different pcb, both of them have the same phy, but with different version. Therefore implement board_phy_config and set all the phys in the same way. Signed-off-by: Horatiu Vultur --- diff --git a/board/mscc/serval/serval.c b/board/mscc/serval/serval.c index ade041e118..da7f55620d 100644 --- a/board/mscc/serval/serval.c +++ b/board/mscc/serval/serval.c @@ -6,6 +6,7 @@ #include #include #include +#include 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;