Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2044062pxj; Sat, 5 Jun 2021 10:43:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzX03PLDLYH0IvNmB3FPQXiLa6trxOuHWQ1sI0g3nN05Ql5hK9Buc8pwwQCWRLCuo/IV1i0 X-Received: by 2002:a05:6402:1046:: with SMTP id e6mr11436306edu.218.1622914990533; Sat, 05 Jun 2021 10:43:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622914990; cv=none; d=google.com; s=arc-20160816; b=Kz8MZED3n/R38I4tA1WNayReJe0isf8msfCmIoUc9RCTGkw5rXtdx1dar7ctiP285h L3nKvNPqdpl285QNXDmFOBBWVGAjNdzs3vnrGVF/8O0V6XhwZIW02/0NN7WfFx6DFYu1 nAJsNfd5AHVmIHGyKtISl3/e+zBWhYRAtwRFMMFzCcl3H/I+t8DaEo8pqiek2kixzx+s fmzqsloniZbLVN7RpR4UbPDfX+h8S4ZUhTBIMJtcm4zbWUYto3rCQfm3wdWf+X3oCKV2 Wdcgn1L0M8juYSOGD12HqViF/WNkKKwzgPHjbe3xSaQELO4QmG7DYuaAsnweMvyF41C3 VzGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:content-transfer-encoding:mime-version :message-id:date:subject:cc:from:dkim-signature; bh=58S1Og3Gq6yFDBmvvvA786Kv3ZHM/KHp6+Nqv3S6XUY=; b=ynb2rtrFubMmm6OGeLUUiGrTTmW9/Rtdt9Wj/gYuChW+KiMdGbbWLqj/+LhL/4Tfs7 KyzgtszXq22RdxPgn/xl5N5d3oqlCtKqhTF8rXAVhXH1xrB4kMVb4iN+xmH78xHyiX0Z Iamqe06ddCOmTkMQgDNcWRI6UiVg5RWa0gdSnNOlaJ7g+GkDO7gW9Lkbe9FIi7Br/xFC 8s2wN1Y+/w4BezgOv4mAuLCooVd9kZWR8FxbFMNbLg5q5hwPgQpUITIvG5hZA7fy/eL0 mxMLJVHS0koRHJ3VArvg4jhip5+HWIGd+OLb+FROyLuf7RVxJZiMFf6pkCmUh0shr4Yz Buvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=b5eJWGhJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d10si7720949ede.460.2021.06.05.10.42.46; Sat, 05 Jun 2021 10:43:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=b5eJWGhJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230035AbhFERnn (ORCPT + 99 others); Sat, 5 Jun 2021 13:43:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229964AbhFERnn (ORCPT ); Sat, 5 Jun 2021 13:43:43 -0400 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BDEBC061766; Sat, 5 Jun 2021 10:41:42 -0700 (PDT) Received: by mail-wm1-x332.google.com with SMTP id t16-20020a05600c1990b02901a0d45ff03aso6244604wmq.2; Sat, 05 Jun 2021 10:41:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=58S1Og3Gq6yFDBmvvvA786Kv3ZHM/KHp6+Nqv3S6XUY=; b=b5eJWGhJcXo5IFD5VMPLXDFJk6XICjvJsKi6fJPjDU0yt3+d23qtGnZtUb3UMREcHq zeLRKuHA2/4mX/1VJO+TIEfVadGQ2fEsXaEilGumOx/UGUyosGYn9evcumxaBDoJo4Su kcJCrW65I1EePaKe5uNGbDnKLCF9qyG2c3JJVUkfdGDwpZYwl1zUI0zI2YyhZFEJS8Py mP6GbeLyApeKPNr4W4DkjTshBVfP4fPMCWV4dzbMh1ib5NDd8Ol4yE8vmVgpO+aIs6m+ mBOaaSP2QV0vsolS0IBJb3TSyEu6EPYgf18kMUU7y8XK622+Y/r9gwF300uyuz4ihbAv pYiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=58S1Og3Gq6yFDBmvvvA786Kv3ZHM/KHp6+Nqv3S6XUY=; b=qr4T2fClW0ln/oD+zLhrcRnA1pnPakenSoR9alUN8/U7eSf2QAg8w+hymGnO8b57bK Ln4jkF+zCzqNUPVIP6hjuGjwk1ZIBB1lEFVxbiMnyfn9hF3FWzjWDR8H75RGNbL2UZNS U0dK+xdC2oEupueY1PQQxLn5BaUUeqZWo2HoRlS3heVUBo5DwsJADzNPH9hmRvusMFFJ 6HoHFFjFCOtqgpR8TslAYUz8r0+gZYyRfpOIEmMlOlVyWFFwj+rIA1sNT4Vu6bIves+r 5NTWpTGU976kPSkHdgOU2/MIlp9gKeGqIxnUJhKLUKJBJC1wUjHSAf49xRL0kLXeB1ma twng== X-Gm-Message-State: AOAM533js6FZV6fR39VvTKZQoRKlOXNvkmKRLfQ+e3CRfKc87JqEy8MH rghlxri1bbKR3avzBMX64kM= X-Received: by 2002:a05:600c:4ba1:: with SMTP id e33mr3183717wmp.39.1622914900861; Sat, 05 Jun 2021 10:41:40 -0700 (PDT) Received: from cluster5 ([80.76.206.81]) by smtp.gmail.com with ESMTPSA id c206sm12182512wmf.12.2021.06.05.10.41.40 (version=TLS1 cipher=ECDHE-ECDSA-AES128-SHA bits=128/128); Sat, 05 Jun 2021 10:41:40 -0700 (PDT) From: Matthew Hagan Cc: Matthew Hagan , "David S. Miller" , Jakub Kicinski , Rob Herring , Andy Gross , Bjorn Andersson , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu , Maxime Coquelin , Philipp Zabel , Voon Weifeng , Ong Boon Leong , Wong Vee Khee , Tan Tee Min , "Wong, Vee Khee" , Fugang Duan , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/3] net: stmmac: explicitly deassert GMAC_AHB_RESET Date: Sat, 5 Jun 2021 18:35:37 +0100 Message-Id: <20210605173546.4102455-1-mnhagan88@gmail.com> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We are currently assuming that GMAC_AHB_RESET will already be deasserted by the bootloader. However if this has not been done, probing of the GMAC will fail. To remedy this we must ensure GMAC_AHB_RESET has been deasserted prior to probing. Signed-off-by: Matthew Hagan --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +++++++ drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 7 +++++++ include/linux/stmmac.h | 1 + 3 files changed, 15 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 6d41dd6f9f7a..1e28058b65a8 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -6840,6 +6840,13 @@ int stmmac_dvr_probe(struct device *device, reset_control_reset(priv->plat->stmmac_rst); } + if (priv->plat->stmmac_ahb_rst) { + ret = reset_control_deassert(priv->plat->stmmac_ahb_rst); + if (ret == -ENOTSUPP) + dev_err(priv->device, + "unable to bring out of ahb reset\n"); + } + /* Init MAC and get the capabilities */ ret = stmmac_hw_init(priv); if (ret) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c index 97a1fedcc9ac..d8ae58bdbbe3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -600,6 +600,13 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) goto error_hw_init; } + plat->stmmac_ahb_rst = devm_reset_control_get_optional_shared( + &pdev->dev, "ahb"); + if (IS_ERR(plat->stmmac_ahb_rst)) { + ret = plat->stmmac_ahb_rst; + goto error_hw_init; + } + return plat; error_hw_init: diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index e55a4807e3ea..9b6a64f3e3dc 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -239,6 +239,7 @@ struct plat_stmmacenet_data { unsigned int mult_fact_100ns; s32 ptp_max_adj; struct reset_control *stmmac_rst; + struct reset_control *stmmac_ahb_rst; struct stmmac_axi *axi; int has_gmac4; bool has_sun8i; -- 2.26.3