BCM54220s in ls1046a

cancel
Showing results for 
Search instead for 
Did you mean: 

BCM54220s in ls1046a

289 Views
deepanrajanbara
Contributor IV

Hi ,

We are using LS1046a based custom board in which we have used BCM54220s PHY . But all the driver wise it is enabled . But we are not able to do ping. since host unreachable message is received. As per driver loading there is no error. Please let us know is any other configuration required.

Thank you,

Deepanraj.A

0 Kudos
7 Replies

279 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please make sure that you have modified MDIO PHY address in the dts file.

You could check whether the Ethernet port is available in u-boot.

1. Please define CONFIG_PHY_BROADCOM in include/configs/ls1046ardb.h.

2. In board/freescale/ls1046ardb/eth.c, please modify PHY address in the following lines.

/* Set the two on-board RGMII PHY address */
fm_info_set_phy_address(FM1_DTSEC3, RGMII_PHY1_ADDR);
fm_info_set_phy_address(FM1_DTSEC4, RGMII_PHY2_ADDR);

/* Set the two on-board SGMII PHY address */
fm_info_set_phy_address(FM1_DTSEC5, SGMII_PHY1_ADDR);
fm_info_set_phy_address(FM1_DTSEC6, SGMII_PHY2_ADDR);

/* Set the on-board AQ PHY address */
fm_info_set_phy_address(FM1_10GEC1, FM1_10GEC1_PHY_ADDR);

3. Under u-boot prompt, please type 

=> mdio list
FSL_MDIO0:
1 - RealTek RTL8211F <--> FM1@DTSEC3
2 - RealTek RTL8211F <--> FM1@DTSEC4
3 - RealTek RTL8211F <--> FM1@DTSEC5
4 - RealTek RTL8211F <--> FM1@DTSEC6
FM_TGEC_MDIO:
0 - Aquantia AQR107 <--> FM1@TGEC1

=> mdio read FM1@DTSEC3 1
Reading from bus FSL_MDIO0
PHY at address 1:
1 - 0x7989
=>

The link partner (“copper side”) link status bit is in Register #1 on the PHY. The 'Link Status' bit is bit #2 (from the left) of the
last nibble. In the above example the nibble of interest is "d" (d = b'1101'), and therefore the 'Link Status' = 1, which means
'link up'. If the link were down this bit would be a "0," and we would see 0x7969.

0 Kudos

275 Views
deepanrajanbara
Contributor IV

Hi,

In our case we are getting the below logs

=> mdio list
FSL_MDIO0:
0 - BCM54220s <--> FM1@DTSEC3
1 - BCM54220s <--> FM1@DTSEC5
=> mdio read FM1@DTSEC3 1
Reading from bus FSL_MDIO0
PHY at address 0:
1 - 0x7949

where link is up.

But when we try to ping we auto-negotiation timesout.

Thank you,

Deepanraj.A

0 Kudos

272 Views
yipingwang
NXP TechSupport
NXP TechSupport

The link status is down. The 'Link Status' bit is bit #2 (from the left) of the
last nibble. Please check the hardware issue.

0 Kudos

269 Views
deepanrajanbara
Contributor IV

Hi ,

Hardware wise which we can check . So that we can come to one conclusion . According to the debug log link is up since we are getting 49 in the last nibble.

Thank you,

Deepanraj.A

0 Kudos

263 Views
yipingwang
NXP TechSupport
NXP TechSupport

The last nibble is "9"(1001).

The 'Link Status' bit is bit #2 (from the left) of the last nibble, it is "0", so the link status is down.

 

0 Kudos

261 Views
deepanrajanbara
Contributor IV

Hi,

In kernel we are able to do

ifconfig fm1-mac3 192.168.2.30 up

ping 192.168.2.30 is able to ping the phy IP . So it means PHY is proper as per hardware .

Please let us know, what point we can check in software. to make sure it is not software configuration issue

Thank you,

Deepanraj.A

0 Kudos

243 Views
yipingwang
NXP TechSupport
NXP TechSupport

In the dts file, please refer to the following configuration.

&fman0 {
ethernet@e4000 {
phy-handle = <&rgmii_phy1>;
phy-connection-type = "rgmii-id";
};

ethernet@e8000 {
phy-handle = <&sgmii_phy1>;
phy-connection-type = "sgmii";
};

...

mdio@fc000 {
rgmii_phy1: ethernet-phy@1 {
reg = <0x0>;
};

sgmii_phy1: ethernet-phy@3 {
reg = <0x1>;
};

In addition, in Linux please use "ethtool" to check the Ethernet port link status.

0 Kudos