Hi,
We are using 5.4.47 kernel in customized p2041rdb board. eth0 interface connected directly to the CPU. We are using LCT_PHY device as Marvell chipset 88e1114.
when the system boots up the eth0 interface is created and configured with IP. But the IP address is not accessible. So We have performed "ethtool -s eth0 autoneg off/on" to make it work.
MII Register dump for v5.4 kernel (not working)
[root@rcpI ~]# mii-tool -vv eth0
Using SIOCGMIIPHY=0x8947
eth0: negotiated 100baseTx-FD, link ok
registers for MII PHY 4:
1140 796d 0141 0c97 0d41 41e1 0007 0000
0000 0e00 4000 0000 0000 0000 0000 f000
0000 0000 0000 1c50 0000 0000 0000 0000
0000 0000 0040 0000 0000 0000 0000 0000
product info: Yukon-2 88E1112 rev 7
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 1000baseT-FD 100baseTx-FD 10baseT-FD flow-control
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
[root@rcpI ~]#
MII Register dump for v5.4 (working – with workaround).
[root@rcpI ~]# mii-tool -vv eth0
Using SIOCGMIIPHY=0x8947
eth0: negotiated 100baseTx-FD, link ok
registers for MII PHY 4:
3100 796d 0141 0c97 0d41 41e1 0007 0000
0000 0e00 4000 0000 0000 0000 0000 f000
0000 0000 0000 1c50 0000 0000 0000 0000
0000 0000 0040 0000 0000 0000 0000 0000
product info: Yukon-2 88E1112 rev 7
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 1000baseT-FD 100baseTx-FD 10baseT-FD flow-control
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
[root@rcpI ~]#
Could you please share your input on this case. Also shared the MII register details for your reference. Let me know if you need any other additional details.
Thanks
Would you please provide your dts file and Linux Kernel configuration file?
Would you please provide u-boot and Linux Kernel booting up log?
Please run "mido list" command and provide the result.
=> mdio list
FSL_MDIO0:
0 - Vitesse VSC8641 <--> FM1@DTSEC5
1 - Vitesse VSC8641 <--> FM1@DTSEC4
2 - Vitesse VSC8221 <--> FM1@DTSEC1
3 - Vitesse VSC8221 <--> FM1@DTSEC2
FM_TGEC_MDIO:
0 - Generic 10G PHY <--> FM1@TGEC1
Hi NXP Tech Support team,
Thanks for your reply. Please find the dts, kernel config and uboot kernel logs. What I observed that this eth0 working in 4.19.68 kernel with same kernel configuration enabled and dts file used. The autoneg off/on is required only on 5.4.47 kernel.
rcpI=> mdio list
FSL_MDIO1:
4 - Marvell Alaska-88E1114 <--> FM1@DTSEC1
FSL_MDIO2:
31 - FSL TBI PHY <--> FM1@DTSEC2
FSL_MDIO3:
31 - FSL TBI PHY <--> FM1@DTSEC3
FSL_MDIO4:
31 - FSL TBI PHY <--> FM1@DTSEC4
rcpI=>
Also tried to set the MII control register value as "ethtool -s autoneg off/on" in marvel phy driver. still the same behavior observed. The MII control register value highlighted in the debug logs.
[ 75.163069] m88e1111_config_init phydev->interface:4
[ 75.237328] marvell_config_aneg 1 err: 0 changed:0
[ 75.237371] __genphy_config_aneg 1 phydev->autoneg : 1 changed:0
[ 75.237489] genphy_config_advert 1 bmsr : 7949 err:1 changed:1
[ 75.237527] genphy_config_advert 2 adv : 200 err:0 changed:1
[ 75.237531] __genphy_config_aneg 2 err : 1 changed:1
[ 75.237569] __genphy_config_aneg 3 ctl1 :0x1140 err : 1 changed:1
[ 75.237572] marvell_config_aneg 2 genphy_config_aneg_err : 1 changed:0
[ 75.316070] genphy_config_aneg_err off ctl:0x2100
[ 75.396095] genphy_config_aneg_err on ctl:0x3100
[ 75.396105] marvell_config_aneg 3 err: 0 changed:0
[ 78.472264] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Please share your input.
The latest release from NXP supports p2041rdb is as the following.
https://source.codeaurora.org/external/qoriq/qoriq-components/yocto-sdk/tree/readme?h=dunfell
The Linux Kernel version is 5.4.3.
SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1 \
file://0001-Makfefile-linux-5.4-add-warning-cflags-on-LSDK-20.04.patch \
file://0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch \
"
SRCREV = "134788b16485dd9fa81988681d2365ee38633fa2"