u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Marcel Ziswiler <marcel@ziswiler.com>
To: u-boot@lists.denx.de
Cc: Heiko Thiery <heiko.thiery@gmail.com>,
	Frieder Schrempf <frieder.schrempf@kontron.de>,
	Fabio Estevam <festevam@gmail.com>,
	Stefano Babic <sbabic@denx.de>,
	Marcel Ziswiler <marcel.ziswiler@toradex.com>,
	Igor Opaniuk <igor.opaniuk@gmail.com>,
	Max Krummenacher <max.krummenacher@toradex.com>,
	Simon Glass <sjg@chromium.org>
Subject: [PATCH v6 02/11] verdin-imx8mm: fix ethernet
Date: Sat,  9 Oct 2021 22:41:04 +0200	[thread overview]
Message-ID: <20211009204113.1208641-3-marcel@ziswiler.com> (raw)
In-Reply-To: <20211009204113.1208641-1-marcel@ziswiler.com>

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Turns out Microship (formerly Micrel) meanwhile integrated proper
support for the DLL setup on their KSZ9131. Unfortunately, this
conflicts with our previous board code doing that.
Fix this by getting rid of our board code and just relying on the
generic implementation relying on rgmii-id being used as phy-mode.

Fixes: commit c6df0e2ffdc4
       ("net: phy: micrel: add support for DLL setup on ksz9131")
Fixes: commit af2d3c91d877
       ("ARM: dts: imx8mm-verdin: Set PHY mode to RGMII-ID")
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>

---

(no changes since v5)

Changes in v5:
- Drop device tree part already done by Marek's patch.
- Add another fixes tag as his patch forgot the board code part.

 board/toradex/verdin-imx8mm/verdin-imx8mm.c | 64 ---------------------
 1 file changed, 64 deletions(-)

diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index 76f4a1e209a..1644f4b3081 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -36,70 +36,6 @@ static int setup_fec(void)
 
 	return 0;
 }
-
-int board_phy_config(struct phy_device *phydev)
-{
-	int tmp;
-
-	switch (ksz9xx1_phy_get_id(phydev) & MII_KSZ9x31_SILICON_REV_MASK) {
-	case PHY_ID_KSZ9031:
-		/*
-		 * The PHY adds 1.2ns for the RXC and 0ns for TXC clock by
-		 * default. The MAC and the layout don't add a skew between
-		 * clock and data.
-		 * Add 0.3ns for the RXC path and 0.96 + 0.42 ns (1.38 ns) for
-		 * the TXC path to get the required clock skews.
-		 */
-		/* control data pad skew - devaddr = 0x02, register = 0x04 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_CTRL_SIG_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x0070);
-		/* rx data pad skew - devaddr = 0x02, register = 0x05 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_RX_DATA_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x7777);
-		/* tx data pad skew - devaddr = 0x02, register = 0x06 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_TX_DATA_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x0000);
-		/* gtx and rx clock pad skew - devaddr = 0x02,register = 0x08 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_CLOCK_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x03f4);
-		break;
-	case PHY_ID_KSZ9131:
-	default:
-		/* read rxc dll control - devaddr = 0x2, register = 0x4c */
-		tmp = ksz9031_phy_extended_read(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_RXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC);
-		/* disable rxdll bypass (enable 2ns skew delay on RXC) */
-		tmp &= ~MII_KSZ9131_RXTXDLL_BYPASS;
-		/* rxc data pad skew 2ns - devaddr = 0x02, register = 0x4c */
-		tmp = ksz9031_phy_extended_write(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_RXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC, tmp);
-		/* read txc dll control - devaddr = 0x02, register = 0x4d */
-		tmp = ksz9031_phy_extended_read(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_TXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC);
-		/* disable txdll bypass (enable 2ns skew delay on TXC) */
-		tmp &= ~MII_KSZ9131_RXTXDLL_BYPASS;
-		/* rxc data pad skew 2ns - devaddr = 0x02, register = 0x4d */
-		tmp = ksz9031_phy_extended_write(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_TXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC, tmp);
-		break;
-	}
-
-	if (phydev->drv->config)
-		phydev->drv->config(phydev);
-	return 0;
-}
 #endif
 
 int board_init(void)
-- 
2.26.2


  parent reply	other threads:[~2021-10-09 20:41 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-09 20:41 [PATCH v6 00/11] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
2021-10-09 20:41 ` [PATCH v6 01/11] imx8m: clean-up kconfig indentation Marcel Ziswiler
2021-10-20 14:43   ` sbabic
2021-10-09 20:41 ` Marcel Ziswiler [this message]
2021-10-20 14:44   ` [PATCH v6 02/11] verdin-imx8mm: fix ethernet sbabic
2021-10-09 20:41 ` [PATCH v6 03/11] ARM: dts: imx8mm-verdin: prepare for dek blob encapsulation Marcel Ziswiler
2021-10-20 14:43   ` sbabic
2021-10-09 20:41 ` [PATCH v6 04/11] arm64: dts: imx8mm-verdin-u-boot.dtsi: alphabetically re-order Marcel Ziswiler
2021-10-20 14:43   ` sbabic
2021-10-09 20:41 ` [PATCH v6 05/11] verdin-imx8mm: switch to use binman to pack images Marcel Ziswiler
2021-10-20 14:43   ` sbabic
2021-10-09 20:41 ` [PATCH v6 06/11] verdin-imx8mm: enable sleep_moci output Marcel Ziswiler
2021-10-20 14:44   ` sbabic
2021-10-09 20:41 ` [PATCH v6 07/11] verdin-imx8mm: clean-up include order Marcel Ziswiler
2021-10-20 14:43   ` sbabic
2021-10-09 20:41 ` [PATCH v6 08/11] verdin-imx8mm: drop support for v1.0 hardware Marcel Ziswiler
2021-10-20 14:44   ` sbabic
2021-10-09 20:41 ` [PATCH v6 09/11] include/configs: apalis-imx8/verdin-imx8mm: rename kernel image variable Marcel Ziswiler
2021-10-20 14:44   ` sbabic
2021-10-09 20:41 ` [PATCH v6 10/11] verdin-imx8mm: use preboot for fdtfile evaluation Marcel Ziswiler
2021-10-20 14:44   ` sbabic
2021-10-09 20:41 ` [PATCH v6 11/11] verdin-imx8mm: fix watchdog pinctrl issue Marcel Ziswiler
2021-10-20 14:43   ` sbabic
2021-10-12 19:46 ` [PATCH v6 00/11] board: toradex: verdin-imx8mm: target refresh Tim Harvey
2021-10-12 21:16   ` Marcel Ziswiler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211009204113.1208641-3-marcel@ziswiler.com \
    --to=marcel@ziswiler.com \
    --cc=festevam@gmail.com \
    --cc=frieder.schrempf@kontron.de \
    --cc=heiko.thiery@gmail.com \
    --cc=igor.opaniuk@gmail.com \
    --cc=marcel.ziswiler@toradex.com \
    --cc=max.krummenacher@toradex.com \
    --cc=sbabic@denx.de \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).