From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Joey Lu <a0987203069@gmail.com>
Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org,
mcoquelin.stm32@gmail.com, richardcochran@gmail.com,
alexandre.torgue@foss.st.com, joabreu@synopsys.com,
ychuang3@nuvoton.com, schung@nuvoton.com, yclu4@nuvoton.com,
peppe.cavallaro@st.com, linux-arm-kernel@lists.infradead.org,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org,
linux-stm32@st-md-mailman.stormreply.com,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH net-next v12 3/3] net: stmmac: dwmac-nuvoton: Add dwmac glue for Nuvoton MA35 family
Date: Tue, 10 Feb 2026 13:12:12 +0000 [thread overview]
Message-ID: <aYsurPBMnzWDZCco@shell.armlinux.org.uk> (raw)
In-Reply-To: <20260210052226.3005666-4-a0987203069@gmail.com>
Please note that net-next is currently closed, so you should be sending
net-next patches with "RFC". See section 1.4 of:
https://docs.kernel.org/process/maintainer-netdev.html
On Tue, Feb 10, 2026 at 01:22:26PM +0800, Joey Lu wrote:
> +static int nvt_gmac_setup(struct platform_device *pdev)
> +{
> + struct device *dev = &pdev->dev;
> + phy_interface_t phy_mode;
> + struct regmap *regmap;
> + u32 macid, miscr, reg;
> + int ret;
> +
> + regmap = syscon_regmap_lookup_by_phandle_args(dev->of_node, "nuvoton,sys", 1, &macid);
> + if (IS_ERR(regmap))
> + ret = dev_err_probe(dev, PTR_ERR(regmap), "Failed to get sys register\n");
> +
> + if (macid > 1)
> + ret = dev_err_probe(dev, -EINVAL, "Invalid sys arguments\n");
> +
> + if (of_get_phy_mode(pdev->dev.of_node, &phy_mode))
> + ret = dev_err_probe(dev, -EINVAL, "Missing phy mode property\n");
If you pass in the plat_dat to this function, then you have access to
plat_dat->phy_interface. I went through all the dwmac glue code and
removed such PHY interface gets, so please don't introduce new
instances.
> +
> + miscr = (macid == 0) ? NVT_REG_SYS_GMAC0MISCR : NVT_REG_SYS_GMAC1MISCR;
I find the use of "miscr" to be the register offset, and "reg" to be
the register value is confusing. Normally they're the other way around.
> +
> + switch (phy_mode) {
> + case PHY_INTERFACE_MODE_RGMII:
> + case PHY_INTERFACE_MODE_RGMII_ID:
> + case PHY_INTERFACE_MODE_RGMII_RXID:
> + case PHY_INTERFACE_MODE_RGMII_TXID:
> + ret = nvt_gmac_get_delay(dev, "rx-internal-delay-ps");
> + if (ret < 0)
> + return ret;
> + reg = FIELD_PREP(NVT_RX_DELAY_MASK, ret);
> +
> + ret = nvt_gmac_get_delay(dev, "tx-internal-delay-ps");
> + if (ret < 0)
> + return ret;
> + reg |= FIELD_PREP(NVT_TX_DELAY_MASK, ret);
> + break;
> + case PHY_INTERFACE_MODE_RMII:
> + reg = NVT_MISCR_RMII;
> + break;
> + default:
> + return dev_err_probe(dev, -EINVAL, "Unsupported phy-mode (%d)\n", phy_mode);
> + }
> +
> + regmap_update_bits(regmap, miscr,
> + NVT_RX_DELAY_MASK | NVT_TX_DELAY_MASK | NVT_MISCR_RMII, reg);
Please consider programming the NVT_MISCR_RMII bit via the
plat_dat->set_phy_intf_sel() method.
Is this register preserved over suspend/resume ?
Thanks.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2026-02-10 13:12 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-10 5:22 [PATCH net-next v12 0/3] Add support for Nuvoton MA35D1 GMAC Joey Lu
2026-02-10 5:22 ` [PATCH net-next v12 1/3] dt-bindings: net: nuvoton: Add schema for Nuvoton MA35 family GMAC Joey Lu
2026-02-10 13:35 ` Rob Herring (Arm)
2026-02-10 5:22 ` [PATCH net-next v12 2/3] arm64: dts: nuvoton: Add Ethernet nodes Joey Lu
2026-02-10 5:22 ` [PATCH net-next v12 3/3] net: stmmac: dwmac-nuvoton: Add dwmac glue for Nuvoton MA35 family Joey Lu
2026-02-10 13:12 ` Russell King (Oracle) [this message]
2026-02-11 9:52 ` Joey Lu
2026-02-11 10:21 ` Russell King (Oracle)
2026-02-12 5:28 ` Joey Lu
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=aYsurPBMnzWDZCco@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=a0987203069@gmail.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=joabreu@synopsys.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.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=openbmc@lists.ozlabs.org \
--cc=pabeni@redhat.com \
--cc=peppe.cavallaro@st.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=schung@nuvoton.com \
--cc=ychuang3@nuvoton.com \
--cc=yclu4@nuvoton.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: link
Be 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.