netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net v3 0/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection
@ 2025-10-09 13:06 Kamil Horák - 2N
  2025-10-09 13:06 ` [PATCH net v3 1/1] " Kamil Horák - 2N
  2025-10-14  1:10 ` [PATCH net v3 0/1] " patchwork-bot+netdevbpf
  0 siblings, 2 replies; 5+ messages in thread
From: Kamil Horák - 2N @ 2025-10-09 13:06 UTC (permalink / raw)
  To: florian.fainelli, bcm-kernel-feedback-list, andrew, hkallweit1,
	linux, davem, edumazet, kuba, pabeni
  Cc: kamilh, netdev

Software RGMII - GMII/MII/MII-Lite selection.

The bcm54811 PHY needs this bit to be configured in addition to hardware
strapping of the PHY chip to desired mode.

This configuration step got lost during the refining of previous patch.

Changes in v2:
  - Applied reviewers' comments
  - Not setting RGMII RXD to RXC Skew in non-RGMII mode 

Changes in v3:
  - Specified target tree name
  
Kamil Horák - 2N (1):
  net: phy: bcm54811: Fix GMII/MII/MII-Lite selection

 drivers/net/phy/broadcom.c | 20 +++++++++++++++++++-
 include/linux/brcmphy.h    |  1 +
 2 files changed, 20 insertions(+), 1 deletion(-)

-- 
2.39.5


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH net v3 1/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection
  2025-10-09 13:06 [PATCH net v3 0/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection Kamil Horák - 2N
@ 2025-10-09 13:06 ` Kamil Horák - 2N
  2025-10-13 22:27   ` Florian Fainelli
  2025-10-14  0:43   ` Jakub Kicinski
  2025-10-14  1:10 ` [PATCH net v3 0/1] " patchwork-bot+netdevbpf
  1 sibling, 2 replies; 5+ messages in thread
From: Kamil Horák - 2N @ 2025-10-09 13:06 UTC (permalink / raw)
  To: florian.fainelli, bcm-kernel-feedback-list, andrew, hkallweit1,
	linux, davem, edumazet, kuba, pabeni
  Cc: kamilh, netdev

The Broadcom bcm54811 is hardware-strapped to select among RGMII and
GMII/MII/MII-Lite modes. However, the corresponding bit, RGMII Enable
in Miscellaneous Control Register must be also set to select desired
RGMII or MII(-lite)/GMII mode.

Fixes: 3117a11fff5af9e7 ("net: phy: bcm54811: PHY initialization")
Signed-off-by: Kamil Horák - 2N <kamilh@axis.com>
---
 drivers/net/phy/broadcom.c | 20 +++++++++++++++++++-
 include/linux/brcmphy.h    |  1 +
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index 3459a0e9d8b9..cb306f9e80cc 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -405,7 +405,7 @@ static int bcm5481x_set_brrmode(struct phy_device *phydev, bool on)
 static int bcm54811_config_init(struct phy_device *phydev)
 {
 	struct bcm54xx_phy_priv *priv = phydev->priv;
-	int err, reg, exp_sync_ethernet;
+	int err, reg, exp_sync_ethernet, aux_rgmii_en;
 
 	/* Enable CLK125 MUX on LED4 if ref clock is enabled. */
 	if (!(phydev->dev_flags & PHY_BRCM_RX_REFCLK_UNUSED)) {
@@ -434,6 +434,24 @@ static int bcm54811_config_init(struct phy_device *phydev)
 	if (err < 0)
 		return err;
 
+	/* Enable RGMII if configured */
+	if (phy_interface_is_rgmii(phydev))
+		aux_rgmii_en = MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_EN |
+			       MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN;
+	else
+		aux_rgmii_en = 0;
+
+	/* Also writing Reserved bits 6:5 because the documentation requires
+	 * them to be written to 0b11
+	 */
+	err = bcm54xx_auxctl_write(phydev,
+				   MII_BCM54XX_AUXCTL_SHDWSEL_MISC,
+				   MII_BCM54XX_AUXCTL_MISC_WREN |
+				   aux_rgmii_en |
+				   MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RSVD);
+	if (err < 0)
+		return err;
+
 	return bcm5481x_set_brrmode(phydev, priv->brr_mode);
 }
 
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h
index 15c35655f482..115a964f3006 100644
--- a/include/linux/brcmphy.h
+++ b/include/linux/brcmphy.h
@@ -137,6 +137,7 @@
 
 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC			0x07
 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_WIRESPEED_EN	0x0010
+#define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RSVD		0x0060
 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_EN	0x0080
 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN	0x0100
 #define MII_BCM54XX_AUXCTL_MISC_FORCE_AMDIX		0x0200
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH net v3 1/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection
  2025-10-09 13:06 ` [PATCH net v3 1/1] " Kamil Horák - 2N
@ 2025-10-13 22:27   ` Florian Fainelli
  2025-10-14  0:43   ` Jakub Kicinski
  1 sibling, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2025-10-13 22:27 UTC (permalink / raw)
  To: Kamil Horák - 2N, bcm-kernel-feedback-list, andrew,
	hkallweit1, linux, davem, edumazet, kuba, pabeni
  Cc: netdev

On 10/9/25 06:06, Kamil Horák - 2N wrote:
> The Broadcom bcm54811 is hardware-strapped to select among RGMII and
> GMII/MII/MII-Lite modes. However, the corresponding bit, RGMII Enable
> in Miscellaneous Control Register must be also set to select desired
> RGMII or MII(-lite)/GMII mode.
> 
> Fixes: 3117a11fff5af9e7 ("net: phy: bcm54811: PHY initialization")
> Signed-off-by: Kamil Horák - 2N <kamilh@axis.com>

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
-- 
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net v3 1/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection
  2025-10-09 13:06 ` [PATCH net v3 1/1] " Kamil Horák - 2N
  2025-10-13 22:27   ` Florian Fainelli
@ 2025-10-14  0:43   ` Jakub Kicinski
  1 sibling, 0 replies; 5+ messages in thread
From: Jakub Kicinski @ 2025-10-14  0:43 UTC (permalink / raw)
  To: Kamil Horák - 2N
  Cc: florian.fainelli, bcm-kernel-feedback-list, andrew, hkallweit1,
	linux, davem, edumazet, pabeni, netdev

On Thu, 9 Oct 2025 15:06:56 +0200 Kamil Horák - 2N wrote:
> Signed-off-by: Kamil Horák - 2N <kamilh@axis.com>

If "2N" is a company name - going forward please use the preferred
format which is round brackets:

Quoting documentation:

  The canonical patch format
  --------------------------

  From Line
  ^^^^^^^^^
  
  The ``from`` line must be the very first line in the message body,
  and has the form:
  
          From: Patch Author <author@example.com>
  
  The ``from`` line specifies who will be credited as the author of the
  patch in the permanent changelog.  If the ``from`` line is missing,
  then the ``From:`` line from the email header will be used to determine
  the patch author in the changelog.
  
  The author may indicate their affiliation or the sponsor of the work
  by adding the name of an organization to the ``from`` and ``SoB`` lines,
  e.g.:
  
  	From: Patch Author (Company) <author@example.com>
  
See:
https://www.kernel.org/doc/html/next/process/submitting-patches.html#the-canonical-patch-format

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net v3 0/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection
  2025-10-09 13:06 [PATCH net v3 0/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection Kamil Horák - 2N
  2025-10-09 13:06 ` [PATCH net v3 1/1] " Kamil Horák - 2N
@ 2025-10-14  1:10 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-10-14  1:10 UTC (permalink / raw)
  To: =?utf-8?q?Kamil_Hor=C3=A1k_-_2N_=3Ckamilh=40axis=2Ecom=3E?=
  Cc: florian.fainelli, bcm-kernel-feedback-list, andrew, hkallweit1,
	linux, davem, edumazet, kuba, pabeni, netdev

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 9 Oct 2025 15:06:55 +0200 you wrote:
> Software RGMII - GMII/MII/MII-Lite selection.
> 
> The bcm54811 PHY needs this bit to be configured in addition to hardware
> strapping of the PHY chip to desired mode.
> 
> This configuration step got lost during the refining of previous patch.
> 
> [...]

Here is the summary with links:
  - [net,v3,1/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection
    https://git.kernel.org/netdev/net/c/e4d0c909bf83

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-10-14  1:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-09 13:06 [PATCH net v3 0/1] net: phy: bcm54811: Fix GMII/MII/MII-Lite selection Kamil Horák - 2N
2025-10-09 13:06 ` [PATCH net v3 1/1] " Kamil Horák - 2N
2025-10-13 22:27   ` Florian Fainelli
2025-10-14  0:43   ` Jakub Kicinski
2025-10-14  1:10 ` [PATCH net v3 0/1] " patchwork-bot+netdevbpf

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).