From: Matthew Hagan <mnhagan88@gmail.com> To: unlisted-recipients:; (no To-header on input) Cc: Matthew Hagan <mnhagan88@gmail.com>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Rob Herring <robh+dt@kernel.org>, Andy Gross <agross@kernel.org>, Bjorn Andersson <bjorn.andersson@linaro.org>, Giuseppe Cavallaro <peppe.cavallaro@st.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Jose Abreu <joabreu@synopsys.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Philipp Zabel <p.zabel@pengutronix.de>, Voon Weifeng <weifeng.voon@intel.com>, Ong Boon Leong <boon.leong.ong@intel.com>, Wong Vee Khee <vee.khee.wong@linux.intel.com>, Tan Tee Min <tee.min.tan@intel.com>, "Wong, Vee Khee" <vee.khee.wong@intel.com>, Fugang Duan <fugang.duan@nxp.com>, 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 [thread overview] Message-ID: <20210605173546.4102455-1-mnhagan88@gmail.com> (raw) 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 <mnhagan88@gmail.com> --- 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
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Hagan <mnhagan88@gmail.com> Cc: Matthew Hagan <mnhagan88@gmail.com>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Rob Herring <robh+dt@kernel.org>, Andy Gross <agross@kernel.org>, Bjorn Andersson <bjorn.andersson@linaro.org>, Giuseppe Cavallaro <peppe.cavallaro@st.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Jose Abreu <joabreu@synopsys.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Philipp Zabel <p.zabel@pengutronix.de>, Voon Weifeng <weifeng.voon@intel.com>, Ong Boon Leong <boon.leong.ong@intel.com>, Wong Vee Khee <vee.khee.wong@linux.intel.com>, Tan Tee Min <tee.min.tan@intel.com>, "Wong, Vee Khee" <vee.khee.wong@intel.com>, Fugang Duan <fugang.duan@nxp.com>, 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 [thread overview] Message-ID: <20210605173546.4102455-1-mnhagan88@gmail.com> (raw) 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 <mnhagan88@gmail.com> --- 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-06-05 17:41 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-05 17:35 Matthew Hagan [this message] 2021-06-05 17:35 ` [PATCH 1/3] net: stmmac: explicitly deassert GMAC_AHB_RESET Matthew Hagan 2021-06-05 17:35 ` [PATCH 2/3] ARM: dts: qcom: add ahb reset to ipq806x-gmac Matthew Hagan 2021-06-05 17:35 ` Matthew Hagan 2021-06-05 17:35 ` [PATCH 3/3] dt-bindings: net: stmmac: add ahb reset to example Matthew Hagan 2021-06-05 17:35 ` Matthew Hagan 2021-06-06 3:24 ` [PATCH 1/3] net: stmmac: explicitly deassert GMAC_AHB_RESET Bjorn Andersson 2021-06-06 3:24 ` Bjorn Andersson 2021-06-06 9:36 ` Matthew Hagan 2021-06-06 9:36 ` Matthew Hagan 2021-06-06 10:30 ` [PATCH v2] " Matthew Hagan 2021-06-06 10:30 ` Matthew Hagan 2021-06-07 9:45 ` Philipp Zabel 2021-06-07 9:45 ` Philipp Zabel 2021-06-08 18:57 ` Matthew Hagan 2021-06-08 18:57 ` Matthew Hagan 2021-06-08 18:59 ` [PATCH v3] " Matthew Hagan 2021-06-08 18:59 ` Matthew Hagan 2021-06-08 23:50 ` patchwork-bot+netdevbpf 2021-06-08 23:50 ` patchwork-bot+netdevbpf 2021-06-06 14:38 ` [PATCH 1/3] " Matthew Hagan 2021-06-06 14:38 ` Matthew Hagan
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=20210605173546.4102455-1-mnhagan88@gmail.com \ --to=mnhagan88@gmail.com \ --cc=agross@kernel.org \ --cc=alexandre.torgue@foss.st.com \ --cc=bjorn.andersson@linaro.org \ --cc=boon.leong.ong@intel.com \ --cc=davem@davemloft.net \ --cc=devicetree@vger.kernel.org \ --cc=fugang.duan@nxp.com \ --cc=joabreu@synopsys.com \ --cc=kuba@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-stm32@st-md-mailman.stormreply.com \ --cc=mcoquelin.stm32@gmail.com \ --cc=netdev@vger.kernel.org \ --cc=p.zabel@pengutronix.de \ --cc=peppe.cavallaro@st.com \ --cc=robh+dt@kernel.org \ --cc=tee.min.tan@intel.com \ --cc=vee.khee.wong@intel.com \ --cc=vee.khee.wong@linux.intel.com \ --cc=weifeng.voon@intel.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.