public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip
@ 2026-02-01  3:41 Daniel Golle
  2026-02-01  3:41 ` [PATCH net-next v3 1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties Daniel Golle
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Daniel Golle @ 2026-02-01  3:41 UTC (permalink / raw)
  To: Hauke Mehrtens, Andrew Lunn, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, netdev, devicetree,
	linux-kernel

Now that common PHY properties make it easy to configure the SerDes RX
and TX polarities, use that for the SGMII/1000Base-X/2500Base-X port of
the MaxLinear GSW1xx switches.

Also, validate hardware in probe() function to make sure the switch is
actually present and MDIO communication works properly.
---
Changes since v2:
 * be more clear about describing polarity at port, ie. external pin level

Changes since initial submission:
 * use allOf to include phy-common-props in dt-schema
 * use phy_get_manual_rx_polarity and phy_get_manual_tx_polarity helpers
   instead of open-coding them


Daniel Golle (3):
  dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties
  net: dsa: mxl-gsw1xx: configure SerDes port polarities
  net: dsa: mxl-gsw1xx: validate chip ID

 .../bindings/net/dsa/lantiq,gswip.yaml        |  4 ++
 drivers/net/dsa/lantiq/Kconfig                |  1 +
 drivers/net/dsa/lantiq/mxl-gsw1xx.c           | 66 +++++++++++++++----
 drivers/net/dsa/lantiq/mxl-gsw1xx.h           |  9 +++
 4 files changed, 68 insertions(+), 12 deletions(-)

-- 
2.52.0

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

* [PATCH net-next v3 1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties
  2026-02-01  3:41 [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Daniel Golle
@ 2026-02-01  3:41 ` Daniel Golle
  2026-02-09 23:54   ` Rob Herring
  2026-02-01  3:42 ` [PATCH net-next v3 2/3] net: dsa: mxl-gsw1xx: configure SerDes port polarities Daniel Golle
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Daniel Golle @ 2026-02-01  3:41 UTC (permalink / raw)
  To: Hauke Mehrtens, Andrew Lunn, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, netdev, devicetree,
	linux-kernel

Reference the common PHY properties so RX and TX SerDes lane polarity
of the SGMII/1000Base-X/2500Base-X port can be configured.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
v3: commit message: clarify that the intention is to configure polarity
    at port level, as opposed to the internal polarity of the PCS component
v2: use allOf to include PHY common properties, add example use
---
 Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
index f601e5f9fa6a..b4a31cde4322 100644
--- a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
@@ -105,6 +105,8 @@ patternProperties:
     patternProperties:
       "^(ethernet-)?port@[0-6]$":
         $ref: dsa-port.yaml#
+        allOf:
+          - $ref: /schemas/phy/phy-common-props.yaml#
         unevaluatedProperties: false
 
         properties:
@@ -288,6 +290,7 @@ examples:
 
   - |
     #include <dt-bindings/leds/common.h>
+    #include <dt-bindings/phy/phy.h>
 
     mdio {
         #address-cells = <1>;
@@ -320,6 +323,7 @@ examples:
                     label = "wan";
                     phy-mode = "1000base-x";
                     managed = "in-band-status";
+                    tx-polarity = <PHY_POL_INVERT>;
                 };
 
                 port@5 {
-- 
2.52.0

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

* [PATCH net-next v3 2/3] net: dsa: mxl-gsw1xx: configure SerDes port polarities
  2026-02-01  3:41 [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Daniel Golle
  2026-02-01  3:41 ` [PATCH net-next v3 1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties Daniel Golle
@ 2026-02-01  3:42 ` Daniel Golle
  2026-02-01  3:42 ` [PATCH net-next v3 3/3] net: dsa: mxl-gsw1xx: validate chip ID Daniel Golle
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Daniel Golle @ 2026-02-01  3:42 UTC (permalink / raw)
  To: Hauke Mehrtens, Andrew Lunn, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, netdev, devicetree,
	linux-kernel

Configure SerDes (port 4) RX and TX polarities using the newly
introduced generic properties. The polarities are described at the port
level which equals the polarities of the external pins of the chip.

Note that the RX lane is inverted internally and the vendor driver
simply always sets bit GSW1XX_SGMII_PHY_RX0_CFG2_INVERT unconditionally
to end up with the correct (ie. as documented in datasheets) polarity at
the external pins.

In this sense, PHY_POLARITY_NORMAL denotes normal polarity for pins as
documented for the MRQFN 105-pin package (GSW120, GSW125, GSW140, GSW141
and GSW145 all use the same package and have identical pin layouts
except for TP port 2 and 3 being N/C on GSW12x):
pin B18 (TX0_P) positive signal of the differential SGMII data output pair
pin B19 (TX0_M) negative signal of the differential SGMII data output pair
pin B20 (RX0_P) positive signal of the differential SGMII data input pair
pin B21 (RX0_M) negative signal of the differential SGMII data input pair

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
v3: be clear about describing polarity at external pins
v2: use phy_get_manual_rx_polarity and phy_get_manual_tx_polarity
---
 drivers/net/dsa/lantiq/Kconfig      |  1 +
 drivers/net/dsa/lantiq/mxl-gsw1xx.c | 39 +++++++++++++++++++++--------
 2 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/drivers/net/dsa/lantiq/Kconfig b/drivers/net/dsa/lantiq/Kconfig
index bad13817af25..98efeef2661b 100644
--- a/drivers/net/dsa/lantiq/Kconfig
+++ b/drivers/net/dsa/lantiq/Kconfig
@@ -15,6 +15,7 @@ config NET_DSA_MXL_GSW1XX
 	tristate "MaxLinear GSW1xx Ethernet switch support"
 	select NET_DSA_TAG_MXL_GSW1XX
 	select NET_DSA_LANTIQ_COMMON
+	select PHY_COMMON_PROPS
 	help
 	  This enables support for the Intel/MaxLinear GSW1xx family of 1GE
 	  switches.
diff --git a/drivers/net/dsa/lantiq/mxl-gsw1xx.c b/drivers/net/dsa/lantiq/mxl-gsw1xx.c
index 79cf72cc77be..61220b5fe5af 100644
--- a/drivers/net/dsa/lantiq/mxl-gsw1xx.c
+++ b/drivers/net/dsa/lantiq/mxl-gsw1xx.c
@@ -15,6 +15,8 @@
 #include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/of_mdio.h>
+#include <linux/phy/phy-common-props.h>
+#include <linux/property.h>
 #include <linux/regmap.h>
 #include <linux/workqueue.h>
 #include <net/dsa.h>
@@ -229,11 +231,17 @@ static int gsw1xx_pcs_phy_xaui_write(struct gsw1xx_priv *priv, u16 addr,
 					1000, 100000);
 }
 
-static int gsw1xx_pcs_reset(struct gsw1xx_priv *priv)
+static int gsw1xx_pcs_reset(struct gsw1xx_priv *priv, phy_interface_t interface)
 {
+	struct dsa_port *sgmii_port;
+	unsigned int pol;
 	int ret;
 	u16 val;
 
+	sgmii_port = dsa_to_port(priv->gswip.ds, GSW1XX_SGMII_PORT);
+	if (!sgmii_port)
+		return -EINVAL;
+
 	/* Assert and deassert SGMII shell reset */
 	ret = regmap_set_bits(priv->shell, GSW1XX_SHELL_RST_REQ,
 			      GSW1XX_RST_REQ_SGMII_SHELL);
@@ -260,15 +268,20 @@ static int gsw1xx_pcs_reset(struct gsw1xx_priv *priv)
 	      FIELD_PREP(GSW1XX_SGMII_PHY_RX0_CFG2_FILT_CNT,
 			 GSW1XX_SGMII_PHY_RX0_CFG2_FILT_CNT_DEF);
 
+	ret = phy_get_manual_rx_polarity(of_fwnode_handle(sgmii_port->dn),
+					 phy_modes(interface), &pol);
+	if (ret)
+		return ret;
+
 	/* RX lane seems to be inverted internally, so bit
 	 * GSW1XX_SGMII_PHY_RX0_CFG2_INVERT needs to be set for normal
-	 * (ie. non-inverted) operation.
-	 *
-	 * TODO: Take care of inverted RX pair once generic property is
-	 *       available
+	 * (ie. non-inverted) operation matching the chips external pins as
+	 * described in datasheets dated 2023-11-08, ie. pin B20 (RX0_P) being
+	 * the positive signal and pin B21 (RX0_M) being the negative signal of
+	 * the differential input pair.
 	 */
-
-	val |= GSW1XX_SGMII_PHY_RX0_CFG2_INVERT;
+	if (pol == PHY_POL_NORMAL)
+		val |= GSW1XX_SGMII_PHY_RX0_CFG2_INVERT;
 
 	ret = regmap_write(priv->sgmii, GSW1XX_SGMII_PHY_RX0_CFG2, val);
 	if (ret < 0)
@@ -277,9 +290,13 @@ static int gsw1xx_pcs_reset(struct gsw1xx_priv *priv)
 	val = FIELD_PREP(GSW1XX_SGMII_PHY_TX0_CFG3_VBOOST_LEVEL,
 			 GSW1XX_SGMII_PHY_TX0_CFG3_VBOOST_LEVEL_DEF);
 
-	/* TODO: Take care of inverted TX pair once generic property is
-	 *       available
-	 */
+	ret = phy_get_manual_tx_polarity(of_fwnode_handle(sgmii_port->dn),
+					 phy_modes(interface), &pol);
+	if (ret)
+		return ret;
+
+	if (pol == PHY_POL_INVERT)
+		val |= GSW1XX_SGMII_PHY_TX0_CFG3_INVERT;
 
 	ret = regmap_write(priv->sgmii, GSW1XX_SGMII_PHY_TX0_CFG3, val);
 	if (ret < 0)
@@ -336,7 +353,7 @@ static int gsw1xx_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
 	priv->tbi_interface = PHY_INTERFACE_MODE_NA;
 
 	if (!reconf)
-		ret = gsw1xx_pcs_reset(priv);
+		ret = gsw1xx_pcs_reset(priv, interface);
 
 	if (ret)
 		return ret;
-- 
2.52.0

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

* [PATCH net-next v3 3/3] net: dsa: mxl-gsw1xx: validate chip ID
  2026-02-01  3:41 [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Daniel Golle
  2026-02-01  3:41 ` [PATCH net-next v3 1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties Daniel Golle
  2026-02-01  3:42 ` [PATCH net-next v3 2/3] net: dsa: mxl-gsw1xx: configure SerDes port polarities Daniel Golle
@ 2026-02-01  3:42 ` Daniel Golle
  2026-02-01  8:31 ` [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Vladimir Oltean
  2026-02-10  8:20 ` patchwork-bot+netdevbpf
  4 siblings, 0 replies; 7+ messages in thread
From: Daniel Golle @ 2026-02-01  3:42 UTC (permalink / raw)
  To: Hauke Mehrtens, Andrew Lunn, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, netdev, devicetree,
	linux-kernel

No check for actually present hardware is being performed in the probe
function of the mxl-gsw1xx switch driver. So even if the switch isn't
present at the configured MDIO bus address the driver wrongly tells the
user that a "GSWIP version 0 mod 0" was found, outputting errors about
PHY capabilities not matching.

Read and validate the chip MANU_ID and PNUM_ID registers and output
information while probing, but return an error and abort probing in case
the hardware is not actually present.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
v3: no changes
v2: no changes

 drivers/net/dsa/lantiq/mxl-gsw1xx.c | 27 ++++++++++++++++++++++++++-
 drivers/net/dsa/lantiq/mxl-gsw1xx.h |  9 +++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/drivers/net/dsa/lantiq/mxl-gsw1xx.c b/drivers/net/dsa/lantiq/mxl-gsw1xx.c
index 61220b5fe5af..a1104b2f92a9 100644
--- a/drivers/net/dsa/lantiq/mxl-gsw1xx.c
+++ b/drivers/net/dsa/lantiq/mxl-gsw1xx.c
@@ -688,7 +688,9 @@ static int gsw1xx_probe(struct mdio_device *mdiodev)
 {
 	struct device *dev = &mdiodev->dev;
 	struct gsw1xx_priv *priv;
-	u32 version;
+	u32 version, val;
+	u8 shellver;
+	u16 pnum;
 	int ret;
 
 	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
@@ -736,6 +738,27 @@ static int gsw1xx_probe(struct mdio_device *mdiodev)
 	if (IS_ERR(priv->shell))
 		return PTR_ERR(priv->shell);
 
+	ret = regmap_read(priv->shell, GSW1XX_SHELL_MANU_ID, &val);
+	if (ret < 0)
+		return ret;
+
+	/* validate chip ID */
+	if (FIELD_GET(GSW1XX_SHELL_MANU_ID_FIX1, val) != 1)
+		return -ENODEV;
+
+	if (FIELD_GET(GSW1XX_SHELL_MANU_ID_MANID, val) !=
+	    GSW1XX_SHELL_MANU_ID_MANID_VAL)
+		return -ENODEV;
+
+	pnum = FIELD_GET(GSW1XX_SHELL_MANU_ID_PNUML, val);
+
+	ret = regmap_read(priv->shell, GSW1XX_SHELL_PNUM_ID, &val);
+	if (ret < 0)
+		return ret;
+
+	pnum |= FIELD_GET(GSW1XX_SHELL_PNUM_ID_PNUMM, val) << 4;
+	shellver = FIELD_GET(GSW1XX_SHELL_PNUM_ID_VER, val);
+
 	ret = gsw1xx_serdes_pcs_init(priv);
 	if (ret < 0)
 		return ret;
@@ -756,6 +779,8 @@ static int gsw1xx_probe(struct mdio_device *mdiodev)
 	if (ret)
 		return ret;
 
+	dev_info(dev, "standalone switch part number 0x%x v1.%u\n", pnum, shellver);
+
 	dev_set_drvdata(dev, &priv->gswip);
 
 	return 0;
diff --git a/drivers/net/dsa/lantiq/mxl-gsw1xx.h b/drivers/net/dsa/lantiq/mxl-gsw1xx.h
index d1fded56e967..caa8f1008587 100644
--- a/drivers/net/dsa/lantiq/mxl-gsw1xx.h
+++ b/drivers/net/dsa/lantiq/mxl-gsw1xx.h
@@ -110,6 +110,15 @@
 #define GSW1XX_SHELL_BASE			0xfa00
 #define  GSW1XX_SHELL_RST_REQ			0x01
 #define   GSW1XX_RST_REQ_SGMII_SHELL		BIT(5)
+#define  GSW1XX_SHELL_MANU_ID			0x10
+#define   GSW1XX_SHELL_MANU_ID_PNUML		GENMASK(15, 12)
+#define   GSW1XX_SHELL_MANU_ID_MANID		GENMASK(11, 1)
+#define    GSW1XX_SHELL_MANU_ID_MANID_VAL	0x389
+#define   GSW1XX_SHELL_MANU_ID_FIX1		BIT(0)
+#define  GSW1XX_SHELL_PNUM_ID			0x11
+#define   GSW1XX_SHELL_PNUM_ID_VER		GENMASK(15, 12)
+#define   GSW1XX_SHELL_PNUM_ID_PNUMM		GENMASK(11, 0)
+
 /* RGMII PAD Slew Control Register */
 #define  GSW1XX_SHELL_RGMII_SLEW_CFG		0x78
 #define   RGMII_SLEW_CFG_DRV_TXC		BIT(2)
-- 
2.52.0

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

* Re: [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip
  2026-02-01  3:41 [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Daniel Golle
                   ` (2 preceding siblings ...)
  2026-02-01  3:42 ` [PATCH net-next v3 3/3] net: dsa: mxl-gsw1xx: validate chip ID Daniel Golle
@ 2026-02-01  8:31 ` Vladimir Oltean
  2026-02-10  8:20 ` patchwork-bot+netdevbpf
  4 siblings, 0 replies; 7+ messages in thread
From: Vladimir Oltean @ 2026-02-01  8:31 UTC (permalink / raw)
  To: Daniel Golle
  Cc: Hauke Mehrtens, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, netdev, devicetree, linux-kernel

On Sun, Feb 01, 2026 at 03:41:34AM +0000, Daniel Golle wrote:
> Now that common PHY properties make it easy to configure the SerDes RX
> and TX polarities, use that for the SGMII/1000Base-X/2500Base-X port of
> the MaxLinear GSW1xx switches.
> 
> Also, validate hardware in probe() function to make sure the switch is
> actually present and MDIO communication works properly.
> ---
> Changes since v2:
>  * be more clear about describing polarity at port, ie. external pin level
> 
> Changes since initial submission:
>  * use allOf to include phy-common-props in dt-schema
>  * use phy_get_manual_rx_polarity and phy_get_manual_tx_polarity helpers
>    instead of open-coding them

For the set:

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>

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

* Re: [PATCH net-next v3 1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties
  2026-02-01  3:41 ` [PATCH net-next v3 1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties Daniel Golle
@ 2026-02-09 23:54   ` Rob Herring
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2026-02-09 23:54 UTC (permalink / raw)
  To: Daniel Golle
  Cc: Hauke Mehrtens, Andrew Lunn, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Krzysztof Kozlowski,
	Conor Dooley, netdev, devicetree, linux-kernel

On Sun, Feb 01, 2026 at 03:41:53AM +0000, Daniel Golle wrote:
> Reference the common PHY properties so RX and TX SerDes lane polarity
> of the SGMII/1000Base-X/2500Base-X port can be configured.
> 
> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> ---
> v3: commit message: clarify that the intention is to configure polarity
>     at port level, as opposed to the internal polarity of the PCS component
> v2: use allOf to include PHY common properties, add example use
> ---
>  Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
> index f601e5f9fa6a..b4a31cde4322 100644
> --- a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
> @@ -105,6 +105,8 @@ patternProperties:
>      patternProperties:
>        "^(ethernet-)?port@[0-6]$":
>          $ref: dsa-port.yaml#
> +        allOf:
> +          - $ref: /schemas/phy/phy-common-props.yaml#

If you respin, put both $ref's under the allOf.

Acked-by: Rob Herring (Arm) <robh@kernel.org>

>          unevaluatedProperties: false
>  
>          properties:
> @@ -288,6 +290,7 @@ examples:
>  
>    - |
>      #include <dt-bindings/leds/common.h>
> +    #include <dt-bindings/phy/phy.h>
>  
>      mdio {
>          #address-cells = <1>;
> @@ -320,6 +323,7 @@ examples:
>                      label = "wan";
>                      phy-mode = "1000base-x";
>                      managed = "in-band-status";
> +                    tx-polarity = <PHY_POL_INVERT>;
>                  };
>  
>                  port@5 {
> -- 
> 2.52.0

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

* Re: [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip
  2026-02-01  3:41 [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Daniel Golle
                   ` (3 preceding siblings ...)
  2026-02-01  8:31 ` [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Vladimir Oltean
@ 2026-02-10  8:20 ` patchwork-bot+netdevbpf
  4 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-02-10  8:20 UTC (permalink / raw)
  To: Daniel Golle
  Cc: hauke, andrew, olteanv, davem, edumazet, kuba, pabeni, robh,
	krzk+dt, conor+dt, netdev, devicetree, linux-kernel

Hello:

This series was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Sun, 1 Feb 2026 03:41:34 +0000 you wrote:
> Now that common PHY properties make it easy to configure the SerDes RX
> and TX polarities, use that for the SGMII/1000Base-X/2500Base-X port of
> the MaxLinear GSW1xx switches.
> 
> Also, validate hardware in probe() function to make sure the switch is
> actually present and MDIO communication works properly.
> 
> [...]

Here is the summary with links:
  - [net-next,v3,1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties
    https://git.kernel.org/netdev/net-next/c/431b777762d7
  - [net-next,v3,2/3] net: dsa: mxl-gsw1xx: configure SerDes port polarities
    https://git.kernel.org/netdev/net-next/c/ffd034ac0912
  - [net-next,v3,3/3] net: dsa: mxl-gsw1xx: validate chip ID
    https://git.kernel.org/netdev/net-next/c/a046d6fc54d4

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] 7+ messages in thread

end of thread, other threads:[~2026-02-10  8:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-01  3:41 [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Daniel Golle
2026-02-01  3:41 ` [PATCH net-next v3 1/3] dt-bindings: net: dsa: lantiq,gswip: reference common PHY properties Daniel Golle
2026-02-09 23:54   ` Rob Herring
2026-02-01  3:42 ` [PATCH net-next v3 2/3] net: dsa: mxl-gsw1xx: configure SerDes port polarities Daniel Golle
2026-02-01  3:42 ` [PATCH net-next v3 3/3] net: dsa: mxl-gsw1xx: validate chip ID Daniel Golle
2026-02-01  8:31 ` [PATCH net-next v3 0/3] net: dsa: mxl-gsw1xx: setup polarities and validate chip Vladimir Oltean
2026-02-10  8:20 ` 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