When ls1021atwr connect to 100baseT wire, 803x_aneg_done: SGMII link is not ok

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

When ls1021atwr connect to 100baseT wire, 803x_aneg_done: SGMII link is not ok

1,871 Views
fu_cheng
Contributor I

Our projects have the requirement of eth0/1 use 100BaseT. eth0 or eth1 connect to 100baseT wire, ar8033 auto-negotiation to 100base,  after execute  command the operation of eth down and up, link is not ok, kernel print:   803x_aneg_done: SGMII link is not ok.  I also try to configure the phy work on 100baseT full duplex  force mode, though it looks fine, actually sgmii is still not ok. 

can anyone give me some suggestions? Thanks.

[ 1255.289989] 803x_aneg_done: SGMII link is not ok
[ 1256.329979] 803x_aneg_done: SGMII link is not ok
[ 1257.369977] 803x_aneg_done: SGMII link is not ok
[ 1258.410022] 803x_aneg_done: SGMII link is not ok
[ 1259.450006] 803x_aneg_done: SGMII link is not ok

Labels (1)
0 Kudos
8 Replies

1,366 Views
fever123123
Contributor I

Hello fu cheng,

   I got the same problem as yours. 

   I'm working on it to slove the problem,and I find the sgmii port of ls1021a can not finish autoneg. 

   did you firgued it out? I hope we can slove the problem together.

0 Kudos

1,366 Views
vladimir_oltean
NXP Employee
NXP Employee

What kernel version are you using and from what source is it?

Do the interfaces work in U-Boot?

0 Kudos

1,366 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello fu cheng,

Please check whether RCW configuration is correct.

Please refer to the attachment.

Thanks,

Yiping

0 Kudos

1,366 Views
fu_cheng
Contributor I

I try to fix the following patch and the fsl_pq_mdio driver, but In 100baseT mode, SGMII is no ok.

Fixes: 055223d4d22d ("ARM: dts: ls1021a: Enable the eTSEC ports on QDS and TWR")

qoriq-components/linux - Linux Tree for QorIQ support 

0 Kudos

1,366 Views
vladimir_oltean
NXP Employee
NXP Employee

Hi there,

I am the author of the patch you have linked to (and which does not fix your issue).

In the gfar_configure_serdes function, where ADVERTISE_1000XFULL | ADVERTISE_1000XPAUSE | ADVERTISE_1000XPSE_ASYM is written to the MII_ADVERTISE register of the TBI PHY, can you replace that with 0x4001?

So it becomes:

phy_write(priv->tbi_phy, MII_ADVERTISE, 0x4001);

gianfar.c\freescale\ethernet\net\drivers - qoriq-components/linux - Linux Tree for QorIQ support 

Regards,

-Vladimir

0 Kudos

1,366 Views
fever123123
Contributor I

Hi,

   I modifyed the code as your provide int both uboot and kernel, but it did not works.

0 Kudos

1,366 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello fu cheng,

We also reproduced this problem on LS1021TSN, however it has not been resolved.
Please try the following commands
# ethtool -s eth0 autoneg off

# ethtool -s eth0 speed 100

I will report this problem to the Linux SDK team.

Thanks,
Yiping

0 Kudos

1,366 Views
fu_cheng
Contributor I

Thank you for your reply.  RCW is ok.  When board reset, link is ok. Only after eth0 down/up in 100baseT mode several times ,  SGMII maybe can't work.

0 Kudos