AnsweredAssumed Answered

How to configurate ethernet in Device Tree for own board with LS1021a?

Question asked by Jan Brand on Jan 27, 2016
Latest reply on Apr 21, 2016 by Victor Mazin

Hi there!

I have a problem with my new developed LS1021a Board. There are three ethernet PHYs connected to LS1021a. Two PHYs are connected via SGMII with the PHY-Adresses 1 and 2. The third PHY is connected via RMII and comes with address 3. The source from U-Boot, especially the ls1021a-twr was modified for this and the compiled U-Boot is running fine. I can ping a server from all ethernet ports. But! If i boot my linux kernel with Rootfilesystem and device tree, i can't connect with the interfaces anymore. The kernel-messages informs me, if i have a connection on a ethernet-port like: "libphy: mdio@2d24000:02 - Link is Up - 100/Full" So that is working, too.

The ls1021a.dtsi is from scratch and i didn't touch it. Actually i modify the ls1021a-twr.dts... Maybe i have a mistake in my code? :

 

aliases {

  enet2_rmii_phy = &rmii_phy3;

  enet0_sgmii_phy = &sgmii_phy1;

  enet1_sgmii_phy = &sgmii_phy2;

  };

 

&enet0 {

  tbi-handle = <&tbi1>;

  phy-handle = <&sgmii_phy1>;

  phy-connection-type = "sgmii";

  status = "okay";

};

 

 

&enet1 {

  tbi-handle = <&tbi1>;

  phy-handle = <&sgmii_phy2>;

  phy-connection-type = "sgmii";

  status = "okay";

};

 

 

&enet2 {

  phy-handle = <&rmii_phy3>;

  phy-connection-type = "rmii-id";

  status = "okay";

};

&mdio0 {

  sgmii_phy1: ethernet-phy@1 {

  reg = <0x0>;

  };

 

  rmii_phy3: ethernet-phy@3 {

  reg = <0x2>;

  };

  sgmii_phy2: ethernet-phy@2 {

  reg = <0x1>;

  };

  tbi1: tbi-phy@1f {

  reg = <0x1f>;

  device_type = "tbi-phy";

  };

};

 

 

Can you help me please? Thank you very much

Jan Brand

Outcomes