Patch "net: phy: marvell: configure RGMII delays for 88E1118" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: phy: marvell: configure RGMII delays for 88E1118

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-phy-marvell-configure-rgmii-delays-for-88e1118.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit e82eac890f62a7825b2c9c9331cc9514b0cd31ef
Author: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx>
Date:   Tue Jan 4 16:38:19 2022 +0000

    net: phy: marvell: configure RGMII delays for 88E1118
    
    [ Upstream commit f22725c95ececb703c3f741e8f946d23705630b7 ]
    
    Corentin Labbe reports that the SSI 1328 does not work when allowing
    the PHY to operate at gigabit speeds, but does work with the generic
    PHY driver.
    
    This appears to be because m88e1118_config_init() writes a fixed value
    to the MSCR register, claiming that this is to enable 1G speeds.
    However, this always sets bits 4 and 5, enabling RGMII transmit and
    receive delays. The suspicion is that the original board this was
    added for required the delays to make 1G speeds work.
    
    Add the necessary configuration for RGMII delays for the 88E1118 to
    bring this into line with the requirements for RGMII support, and thus
    make the SSI 1328 work.
    
    Corentin Labbe has tested this on gemini-ssi1328 and gemini-ns2502.
    
    Reported-by: Corentin Labbe <clabbe.montjoie@xxxxxxxxx>
    Tested-by: Corentin Labbe <clabbe.montjoie@xxxxxxxxx>
    Signed-off-by: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx>
    Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 4fcfca4e17021..b02491f7dd957 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -1242,6 +1242,12 @@ static int m88e1118_config_init(struct phy_device *phydev)
 	if (err < 0)
 		return err;
 
+	if (phy_interface_is_rgmii(phydev)) {
+		err = m88e1121_config_aneg_rgmii_delays(phydev);
+		if (err < 0)
+			return err;
+	}
+
 	/* Adjust LED Control */
 	if (phydev->dev_flags & MARVELL_PHY_M1118_DNS323_LEDS)
 		err = phy_write(phydev, 0x10, 0x1100);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux