AnsweredAssumed Answered

LS1012A SGMII MAC-to-MAC communication

Question asked by Anu Parvathy on Apr 23, 2019
Latest reply on Jul 19, 2019 by David Dailey

Hi Team

 

 

In the above block diagram, nic0 and nic1 are two SGMII interfaces where nic0 is externally connected to PHY and nic1 is a MAC to MAC interface without an external PHY.

nic0 is working fine while nic1 is not working with the below DTS configurations:

&pfe {

        status = "okay";

        #address-cells = <1>;

        #size-cells = <0>;

 

        ethernet@0 {

                compatible = "fsl,pfe-gemac-port";

                #address-cells = <1>;

                #size-cells = <0>;

                reg = <0x0>;    /* GEM_ID */

                fsl,gemac-bus-id = <0x0>;       /* BUS_ID */

                fsl,gemac-phy-id = <0x1>;       /* PHY_ID */

                fsl,mdio-mux-val = <0x0>;

                local-mac-address = [ 00 1A 2B 3C 4D 5E ];

                phy-mode = "sgmii";

                fsl,pfe-gemac-if-name = "nic1";

                fsl,pfe-phy-if-flags = <0x1>; /* GEMAC_NO_PHY */

                fsl,pfe-gemac-mode = <0x1B00>; /* GEMAC_SW_CONF | GEMAC_SW_FULL_DUPLEX | GEMAC_SW_SPEED_1G */

 

                mdio@0 {

                        reg = <0x0>; /* enabled/disabled */

                };

        }; 

        ethernet@1 {

                compatible = "fsl,pfe-gemac-port";

                #address-cells = <1>;

                #size-cells = <0>;

                reg = <0x1>;    /* GEM_ID */

                fsl,gemac-bus-id = <0x1>;       /* BUS_ID */

                fsl,gemac-phy-id = <0x2>;       /* PHY_ID */

                fsl,mdio-mux-val = <0x0>;

                local-mac-address = [ 00 AA BB CC DD EE ];

                phy-mode = "sgmii";

                fsl,pfe-gemac-if-name = "nic0";

                fsl,pfe-phy-if-flags = <0x0>;

                fsl,pfe-gemac-mode = <0x1B00>; /* GEMAC_SW_CONF | GEMAC_SW_FULL_DUPLEX | GEMAC_SW_SPEED_1G */

 

                mdio@0 {

                        reg = <0x1>; /* enabled/disabled */

                };

        };

};

 

nic0 and nic1 parameters from the target are captured as follows:

 

node-9e-b4-31-f0-73-96:~# ethtool nic0
Settings for nic0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 2
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Current message level: 0x00000036 (54)
probe link ifdown ifup
Link detected: yes
node-9e-b4-31-f0-73-96:~# ethtool nic1
Settings for nic1:
Cannot get device settings: No such device
Supports Wake-on: g
Wake-on: d
Current message level: 0x00000036 (54)
probe link ifdown ifup
Link detected: yes
node-9e-b4-31-f0-73-96:~ 

 

We need to operate nic1 at full duplex fixed speed of 1000Mbps. Can you help us suggest what configuration changes needs to be done to make it work.

 

Thanks

Anu.

Outcomes