UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Reply

Complications with multiple phys

Highlighted
Newbie
Posts: 2
Registered: ‎11-30-2017

Complications with multiple phys

I have encountered an issue while trying to configure my ethernet ports for MpSoC ultrascale+.

 

In the previous configuration the phys were all connected to an individual gem, described by the following section of the .dts file.

 

&gem1 {
    status = "okay";
    phy-handle = <&phy1>;
    phy-mode = "sgmii";
    pinctrl-names = "default";
    phy1: phy@0 {
        reg = <0>;
    };    
};


&gem2 {
    status = "okay";
    phy-handle = <&phy2>;
    phy-mode = "sgmii";
    pinctrl-names = "default";
    phy2: phy@0 {
        reg = <0>;
    };    
};

&gem3 {
    status = "okay";
    phy-handle = <&phy3>;
    phy-mode = "sgmii";
    pinctrl-names = "default";
    phy3: phy@0 {
        reg = <0>;
    };    
};

 

By this configuration it was possible to access and use the ports from u-boot.

In my current attempts I would like the three phys to be connected to a single gem, communicating with mdio.

I have edited my .dts file.

 

&gem1 {
   local-mac-address = [00 40 85 44 00 E0];
    status = "okay";
    phy-handle = <&phy1>;
    phy-mode = "sgmii";
    pinctrl-names = "default";
   mdio {
      #address-cells = <1>;
      #size-cells = <0>;
      phy1: phy@1 {
          compatible = "ti,dp83867";
          device_type = "ethernet-phy";
      max-speed = <100>;
          reg = <1>;
          gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
      };
      phy2: phy@2 {
          compatible = "ti,dp83867";
          device_type = "ethernet-phy";
          max-speed = <100>;
          reg = <2>;
          gpios = <&gpio 38 GPIO_ACTIVE_HIGH>;
      };
      phy3: phy@3 {
          compatible = "ti,dp83867";
          device_type = "ethernet-phy";
          max-speed = <100>;
          reg = <3>;
          gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
      };
   };
};

&gem2 {
   local-mac-address = [00 40 85 44 00 F0];
    status = "okay";
    phy-handle = <&phy2>;
    phy-mode = "sgmii";
    pinctrl-names = "default";
};   
   
&gem3 {
   local-mac-address = [00 40 85 44 00 01];
    status = "okay";
    phy-handle = <&phy3>;
    phy-mode = "sgmii";
    pinctrl-names = "default";
};   

 

When i list mdio in u-boot i get:

 

eth1:
1 - TI DP83867 <--> ethernet@ff0c0000
eth2:
2 - Generic PHY <--> ethernet@ff0d0000
eth3:
3 - Generic PHY <--> ethernet@ff0e0000

 

and only a single ethernet port seems to be working.

I found threads explaining how this issue is tackled in peta-linux but I can't manage to find anything about u-boot.

Is this a feasible configuration for xilinx u-boot? I would be thankful for any kind of advice.

 

 

 

Posts: 661
Registered: ‎07-31-2012

Re: Complications with multiple phys

Hi @oswre,

 

The PS EMAC driver is deprecated and therefore to make multiple PHY work via single MACB driver (which is latest ) need to used patch from 2017.1 -2017.3 as mentioned in https://www.xilinx.com/support/answers/69132.html .

 

Please follow the procedure mentioned in the answer record.

 

Regards

Praveen

Newbie
Posts: 2
Registered: ‎11-30-2017

Re: Complications with multiple phys

I haven't had time to check the patch, but it seems to be related to peta-linux. We ended up patching the u-boot gem driver.