aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMadalin Bucur <madalin.bucur@oss.nxp.com>2020-03-12 14:53:45 +0200
committerPriyanka Jain <priyanka.jain@nxp.com>2020-03-30 08:06:52 +0530
commit00160cf32e6e3796afa6f74ec2a8e607cdbb8832 (patch)
tree86dbd14ba07f72594650a6242ac05fe0af14d741 /drivers
parente219d7d0f1dbf16ec2547a9f7136cf0a9d642402 (diff)
downloadu-boot-00160cf32e6e3796afa6f74ec2a8e607cdbb8832.zip
u-boot-00160cf32e6e3796afa6f74ec2a8e607cdbb8832.tar.gz
u-boot-00160cf32e6e3796afa6f74ec2a8e607cdbb8832.tar.bz2
armv8/ls1043ardb: RGMII ports require internal delay
The correct setting for the RGMII ports on LS1043ARDB is to enable delay on both Rx and Tx so the interface mode used must be PHY_INTERFACE_MODE_RGMII_ID. There is a pull-up that turns on Rx internal delay by default and the u-boot does not override that (yet) so in u-boot the interface is functional. In Linux the PHY driver is clearing the Rx delay for the "rgmii-txid" mode and the reception does not work. Changing the RGMII mode to internal delay here ensures that device tree fix-ups for the PHY connection type turn on both Tx and Rx internal delay in Linux. Fixes: 5a78a472f666 ("armv8/ls1043a: RGMII PHY requires internal delay on Tx") Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/fm/ls1043.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/fm/ls1043.c b/drivers/net/fm/ls1043.c
index cd510f2..ba4da69 100644
--- a/drivers/net/fm/ls1043.c
+++ b/drivers/net/fm/ls1043.c
@@ -65,12 +65,12 @@ phy_interface_t fman_port_enet_if(enum fm_port port)
if (port == FM1_DTSEC3)
if ((rcwsr13 & FSL_CHASSIS2_RCWSR13_EC1) ==
FSL_CHASSIS2_RCWSR13_EC1_DTSEC3_RGMII) {
- return PHY_INTERFACE_MODE_RGMII_TXID;
+ return PHY_INTERFACE_MODE_RGMII_ID;
}
if (port == FM1_DTSEC4)
if ((rcwsr13 & FSL_CHASSIS2_RCWSR13_EC2) ==
FSL_CHASSIS2_RCWSR13_EC2_DTSEC4_RGMII) {
- return PHY_INTERFACE_MODE_RGMII_TXID;
+ return PHY_INTERFACE_MODE_RGMII_ID;
}
/* handle SGMII */