From 7e32871ce4d17aa549d44f0e50434b5c6454d184 Mon Sep 17 00:00:00 2001
From: Tim Harvey <tharvey@gateworks.com>
Date: Tue, 7 Feb 2023 15:44:21 -0800
Subject: [PATCH] board: gateworks: venice: enable XWAY PHY support

Enable XWAY PHY driver and remove board specific config from
board_phy_config weak override.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
---
 board/gateworks/venice/venice.c | 16 ----------------
 configs/imx8mm_venice_defconfig |  1 +
 configs/imx8mn_venice_defconfig |  1 +
 configs/imx8mp_venice_defconfig |  1 +
 4 files changed, 3 insertions(+), 16 deletions(-)

diff --git a/board/gateworks/venice/venice.c b/board/gateworks/venice/venice.c
index e6fa7eb3d7..58736c680e 100644
--- a/board/gateworks/venice/venice.c
+++ b/board/gateworks/venice/venice.c
@@ -74,7 +74,6 @@ static int __maybe_unused setup_eqos(void)
 int board_phy_config(struct phy_device *phydev)
 {
 	unsigned short val;
-	ofnode node;
 
 	switch (phydev->phy_id) {
 	case 0x2000a231: /* TI DP83867 GbE PHY */
@@ -85,21 +84,6 @@ int board_phy_config(struct phy_device *phydev)
 		val |= 0xb << 8; /* LED2(Green;Link/Act): blink for TX/RX act */
 		phy_write(phydev, MDIO_DEVAD_NONE, 24, val);
 		break;
-	case 0xd565a401: /* MaxLinear GPY111 */
-		puts("GPY111 ");
-		node = phy_get_ofnode(phydev);
-		if (ofnode_valid(node)) {
-			u32 rx_delay, tx_delay;
-
-			rx_delay = ofnode_read_u32_default(node, "rx-internal-delay-ps", 2000);
-			tx_delay = ofnode_read_u32_default(node, "tx-internal-delay-ps", 2000);
-			val = phy_read(phydev, MDIO_DEVAD_NONE, 0x17);
-			val &= ~((0x7 << 12) | (0x7 << 8));
-			val |= (rx_delay / 500) << 12;
-			val |= (tx_delay / 500) << 8;
-			phy_write(phydev, MDIO_DEVAD_NONE, 0x17, val);
-		}
-		break;
 	}
 
 	if (phydev->drv->config)
diff --git a/configs/imx8mm_venice_defconfig b/configs/imx8mm_venice_defconfig
index 6b673b80c1..db2da79ab1 100644
--- a/configs/imx8mm_venice_defconfig
+++ b/configs/imx8mm_venice_defconfig
@@ -104,6 +104,7 @@ CONFIG_SPL_MMC_HS400_SUPPORT=y
 CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_TI_DP83867=y
+CONFIG_PHY_XWAY=y
 CONFIG_PHY_FIXED=y
 CONFIG_DM_MDIO=y
 CONFIG_DM_DSA=y
diff --git a/configs/imx8mn_venice_defconfig b/configs/imx8mn_venice_defconfig
index 9a14f214d6..e9cb264950 100644
--- a/configs/imx8mn_venice_defconfig
+++ b/configs/imx8mn_venice_defconfig
@@ -105,6 +105,7 @@ CONFIG_SPL_MMC_HS400_SUPPORT=y
 CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_TI_DP83867=y
+CONFIG_PHY_XWAY=y
 CONFIG_PHY_FIXED=y
 CONFIG_DM_MDIO=y
 CONFIG_DM_DSA=y
diff --git a/configs/imx8mp_venice_defconfig b/configs/imx8mp_venice_defconfig
index ee488b1c56..4d0432078d 100644
--- a/configs/imx8mp_venice_defconfig
+++ b/configs/imx8mp_venice_defconfig
@@ -98,6 +98,7 @@ CONFIG_MMC_HS400_ES_SUPPORT=y
 CONFIG_MMC_HS400_SUPPORT=y
 CONFIG_FSL_USDHC=y
 CONFIG_PHY_TI_DP83867=y
+CONFIG_PHY_XWAY=y
 CONFIG_PHY_FIXED=y
 CONFIG_DM_MDIO=y
 CONFIG_DM_DSA=y
-- 
2.39.5