pcm052: bk4: Add board_phy_config() for BK4 to setup ksz8081 phy
authorLukasz Majewski <lukma@denx.de>
Wed, 13 Feb 2019 21:46:59 +0000 (22:46 +0100)
committerStefano Babic <sbabic@denx.de>
Sat, 13 Apr 2019 18:30:08 +0000 (20:30 +0200)
BK4 requires setup of 50MHz reference clock for its KSZ8081 PHY devices.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
board/phytec/pcm052/pcm052.c

index 1e443a58502bfe96464a1f8adfd4eb9243070151..c30df5df9dca2b302271085b9b56081f503c5532 100644 (file)
@@ -15,6 +15,7 @@
 #include <asm/arch/clock.h>
 #include <led.h>
 #include <environment.h>
+#include <miiphy.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -382,6 +383,21 @@ int board_late_init(void)
 
        return 0;
 }
+
+/**
+ * KSZ8081
+ */
+#define MII_KSZ8081_REFERENCE_CLOCK_SELECT     0x1f
+#define RMII_50MHz_CLOCK       0x8180
+
+int board_phy_config(struct phy_device *phydev)
+{
+       /* Set 50 MHz reference clock */
+       phy_write(phydev, MDIO_DEVAD_NONE, MII_KSZ8081_REFERENCE_CLOCK_SELECT,
+                 RMII_50MHz_CLOCK);
+
+       return genphy_config(phydev);
+}
 #endif /* CONFIG_TARGET_BK4R1 */
 
 int checkboard(void)