From patchwork Fri Oct 21 21:31:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ash Charles X-Patchwork-Id: 685298 X-Patchwork-Delegate: joe.hershberger@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3t0zQV3nYTz9svs for ; Sat, 22 Oct 2016 08:31:46 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=XK9CJ5u4; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A61B7A7609; Fri, 21 Oct 2016 23:31:44 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F7LZlG5rgOvF; Fri, 21 Oct 2016 23:31:44 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1DA1EA755F; Fri, 21 Oct 2016 23:31:43 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 0CFF3A755F for ; Fri, 21 Oct 2016 23:31:40 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FLy7B5WKK30t for ; Fri, 21 Oct 2016 23:31:39 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-qk0-f194.google.com (mail-qk0-f194.google.com [209.85.220.194]) by theia.denx.de (Postfix) with ESMTPS id 8AAF6A7548 for ; Fri, 21 Oct 2016 23:31:36 +0200 (CEST) Received: by mail-qk0-f194.google.com with SMTP id v138so8159751qka.2 for ; Fri, 21 Oct 2016 14:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=WdyfMkbTfm5SBla4nVUu7YFwwd6eKYxdcHLn7URxxNs=; b=XK9CJ5u4j/2bPInlMgDv8I7RkS+d1mKpOo1ncVyZwMt/xsaXCb2rLKysX+O+WZbIme IH9hMHHbWtCyZMugbAbH+MWgbiPl1uq94ibl9yz4lambp6mWkm64bPA4Mckg+rDf8sQw zJnBVTbI7VHm/SXUljHT5g27J4GolH10vXblga0K/Ee028+Y3QIwfhGOLS9MlYEBPP1N MJWglppRP+jXXwCKGhuqojN3pDF23nvAnJyoiNR79KUXO69JPbD8YLyetNWQBH4h5B33 6aBC8G98bD2u6Rd1wfmJPLacy1DM+GP5WMmyFavL80/BrzfSfG07BHKITy2q/bgoSC67 8/pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=WdyfMkbTfm5SBla4nVUu7YFwwd6eKYxdcHLn7URxxNs=; b=gRh0Pqf8IwOuI84gmDmKQ8MHtQZdt7jjrRbIUNsTfk4aiU6k/6DUkkFIEv7GjQ+fJi zN00XxF4Fbb52JhW0o09aBpY8zCHHBBpSOTJwXkQda/Ezg/e1XtqXNtzGfz7cb+ErKEu cBO8BHQ1lFDT9i/+f+RQJKJprKASb60eMFnr7DuTPjmxYe/uKCBDVIQSfan7KAJCvvuu +Ldz+dOffno01hWFqYkUktWu3SSMdW7bXqUAxYojM9dOr2ckopEyUuKjbdwCU/f6Vt14 bqIfdzX0gP3t7QBzRcXL7bSoQ1Xaqbhwr9J1zXpi6gQII4YCnDRbJxqUbDtlKxJd0IAP E0VA== X-Gm-Message-State: ABUngvcA9VOeIahumjjtLggmiGMLJ2XnbKSnha/ZBj8oxPWguaztChPrFAl7b68nb98GfA== X-Received: by 10.55.103.215 with SMTP id b206mr596080qkc.90.1477085495005; Fri, 21 Oct 2016 14:31:35 -0700 (PDT) Received: from pc-acharles.mtl.sfl ([2607:fad8:4:6:c8a6:17d:5ad6:1157]) by smtp.gmail.com with ESMTPSA id e36sm2331586qtd.42.2016.10.21.14.31.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 21 Oct 2016 14:31:34 -0700 (PDT) From: Ash Charles X-Google-Original-From: Ash Charles To: u-boot@lists.denx.de Date: Fri, 21 Oct 2016 17:31:33 -0400 Message-Id: <1477085493-30388-1-git-send-email-ash.charles@savoirfairelinux.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1477084789-29723-1-git-send-email-ash.charles@savoirfairelinux.com> References: <1477084789-29723-1-git-send-email-ash.charles@savoirfairelinux.com> Cc: joe.hershberger@ni.com Subject: [U-Boot] [PATCH v2] net: phy: micrel: center FLP burst timing at 16ms X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Like [1], reset the FLP burst timing for the KSZ9031 to the 16ms specified by the IEEE802.3 standard from the chip's default of 8ms. For more details, see the "Auto-Negotiation Timing" section of the KSZ9031RNX datasheet. [1] https://patchwork.kernel.org/patch/6558371/ Signed-off-by: Ash Charles Acked-by: Joe Hershberger --- drivers/net/phy/micrel.c | 23 +++++++++++++++++++++++ include/micrel.h | 3 +++ 2 files changed, 26 insertions(+) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 6b313a9..28a1401 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -415,11 +415,31 @@ static int ksz9031_of_config(struct phy_device *phydev) return 0; } + +static int ksz9031_center_flp_timing(struct phy_device *phydev) +{ + struct phy_driver *drv = phydev->drv; + int ret = 0; + + if (!drv || !drv->writeext) + return -EOPNOTSUPP; + + ret = drv->writeext(phydev, 0, 0, MII_KSZ9031_FLP_BURST_TX_LO, 0x1A80); + if (ret) + return ret; + + ret = drv->writeext(phydev, 0, 0, MII_KSZ9031_FLP_BURST_TX_HI, 0x6); + return ret; +} #else static int ksz9031_of_config(struct phy_device *phydev) { return 0; } +static int ksz9031_center_flp_timing(struct phy_device *phydev) +{ + return 0; +} #endif /* Accessors to extended registers*/ @@ -472,6 +492,9 @@ static int ksz9031_config(struct phy_device *phydev) ret = ksz9031_of_config(phydev); if (ret) return ret; + ret = ksz9031_center_flp_timing(phydev); + if (ret) + return ret; return genphy_config(phydev); } diff --git a/include/micrel.h b/include/micrel.h index e6d145d..3e6b531 100644 --- a/include/micrel.h +++ b/include/micrel.h @@ -20,6 +20,9 @@ #define MII_KSZ9031_EXT_RGMII_TX_DATA_SKEW 0x6 #define MII_KSZ9031_EXT_RGMII_CLOCK_SKEW 0x8 +#define MII_KSZ9031_FLP_BURST_TX_LO 0x3 +#define MII_KSZ9031_FLP_BURST_TX_HI 0x4 + /* Registers */ #define MMD_ACCESS_CONTROL 0xd #define MMD_ACCESS_REG_DATA 0xe