Message ID | 20240701085343.3042567-1-o.rempel@pengutronix.de (mailing list archive) |
---|---|
State | Accepted |
Commit | 8d7330b3a9c6db53d4462820df566c0b1e77d831 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v2,1/3] net: dsa: microchip: lan9371/2: add 100BaseTX PHY support | expand |
On Mon, 2024-07-01 at 10:53 +0200, Oleksij Rempel wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you > know the content is safe > > From: Lucas Stach <l.stach@pengutronix.de> > > On the LAN9371 and LAN9372, the 4th internal PHY is a 100BaseTX PHY > instead of a 100BaseT1 PHY. The 100BaseTX PHYs have a different base > register offset. > > Signed-off-by: Lucas Stach <l.stach@pengutronix.de> > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Hello: This series was applied to netdev/net-next.git (main) by David S. Miller <davem@davemloft.net>: On Mon, 1 Jul 2024 10:53:41 +0200 you wrote: > From: Lucas Stach <l.stach@pengutronix.de> > > On the LAN9371 and LAN9372, the 4th internal PHY is a 100BaseTX PHY > instead of a 100BaseT1 PHY. The 100BaseTX PHYs have a different base > register offset. > > Signed-off-by: Lucas Stach <l.stach@pengutronix.de> > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > > [...] Here is the summary with links: - [net-next,v2,1/3] net: dsa: microchip: lan9371/2: add 100BaseTX PHY support https://git.kernel.org/netdev/net-next/c/8d7330b3a9c6 - [net-next,v2,2/3] net: dsa: microchip: lan937x: disable in-band status support for RGMII interfaces https://git.kernel.org/netdev/net-next/c/c3db39468a42 - [net-next,v2,3/3] net: dsa: microchip: lan937x: disable VPHY support https://git.kernel.org/netdev/net-next/c/2e3ed20c17e7 You are awesome, thank you!
diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h index ee7db46e469d5..c4a4664c03859 100644 --- a/drivers/net/dsa/microchip/ksz_common.h +++ b/drivers/net/dsa/microchip/ksz_common.h @@ -22,6 +22,7 @@ /* all KSZ switches count ports from 1 */ #define KSZ_PORT_1 0 #define KSZ_PORT_2 1 +#define KSZ_PORT_4 3 struct ksz_device; struct ksz_port; diff --git a/drivers/net/dsa/microchip/lan937x_main.c b/drivers/net/dsa/microchip/lan937x_main.c index b479a628b1ae5..eaa862eb6b265 100644 --- a/drivers/net/dsa/microchip/lan937x_main.c +++ b/drivers/net/dsa/microchip/lan937x_main.c @@ -55,6 +55,10 @@ static int lan937x_vphy_ind_addr_wr(struct ksz_device *dev, int addr, int reg) u16 addr_base = REG_PORT_T1_PHY_CTRL_BASE; u16 temp; + if ((dev->info->chip_id == LAN9371_CHIP_ID || + dev->info->chip_id == LAN9372_CHIP_ID) && addr == KSZ_PORT_4) + addr_base = REG_PORT_TX_PHY_CTRL_BASE; + /* get register address based on the logical port */ temp = PORT_CTRL_ADDR(addr, (addr_base + (reg << 2))); diff --git a/drivers/net/dsa/microchip/lan937x_reg.h b/drivers/net/dsa/microchip/lan937x_reg.h index 45b606b6429f6..7ecada9240233 100644 --- a/drivers/net/dsa/microchip/lan937x_reg.h +++ b/drivers/net/dsa/microchip/lan937x_reg.h @@ -147,6 +147,7 @@ /* 1 - Phy */ #define REG_PORT_T1_PHY_CTRL_BASE 0x0100 +#define REG_PORT_TX_PHY_CTRL_BASE 0x0280 /* 3 - xMII */ #define PORT_SGMII_SEL BIT(7)