AnsweredAssumed Answered

Static DPNI definition LS2085ARDB

Question asked by thomasculverhouse on Jun 10, 2016
Latest reply on Jun 15, 2016 by thomasculverhouse

I want to statically configure all four optical 10GE ports on the LS2085ARDB so they appear as network interfaces when I book linux.

 

The default dpl-eth.0x2A_0x41.dtb file creates only one (the first 10GE copper interface), as follows (I used dtc to compile the dtb file back to dts):

 

containers {

   dprc@1 {

                    etc...

 

                    objects {

                                        etc...

 

                                        obj@105 {

                                                  obj_name = "dpmac@5";

                                        }

 

                                        obj@200 {

                                                  obj_name = "dpni@0";

                                        };

 

                                        etc...

                                  };

                   };

};

 

objects {

                    dpni@0 {

                         compatible = "fsl,dpni"

                         type = "DPNI_TYPE_NIC";

                         etc...

                    };

 

                    etc...

 

                    dpmac@5 {

                         compatible = "fsl,dpmac";

                    };

 

                    etc...

};

 

connections {

          connection@5 {

               endpoint1 = "dpni@0";

               endpoint2 = "dpmac@5";

          };

};

 

With this definition, when Linux boots (I am using the pre-built images from "QorIQ Linux SDK v2.0 AARCH64 IMAGE.iso" uploaded to the board), I can do

 

ip addr add 192.168.1.13/24 dev ni0

ifconfig ni0 up

 

and the ni0 interface appears as expected if I do ifconfig.

 

What I want to do is enable the four 10GE optical interfaces statically. I believe I have to edit the dts file, which I tried to do as follows (attempting to enable only on 10GE optical interface; my changes in orange):

 

containers {

   dprc@1 {

                    etc...

 

                    objects {

                                        etc...

 

                                        obj@104 {

                                                  obj_name = "dpmac@4";

                                        }

 

                                        obj@105 {

                                                  obj_name = "dpmac@5";

                                        }

 

                                        obj@200 {

                                                  obj_name = "dpni@0";

                                        };

 

                                       obj@201 {

                                                  obj_name = "dpni@1";

                                        };

                                        etc...

                                  };

                   };

};

 

objects {

                    dpni@0 {

                         compatible = "fsl,dpni"

                         type = "DPNI_TYPE_NIC";

                         etc...

                    };

 

                   dpni@1 {

                         compatible = "fsl,dpni"

                         type = "DPNI_TYPE_NIC";

                         etc...

                    };

                    etc...

 

                    dpmac@4 {

                         compatible = "fsl,dpmac";

                    };

 

                    dpmac@5 {

                         compatible = "fsl,dpmac";

                    };

 

                    etc...

};

 

connections {

          connection@5 {

               endpoint1 = "dpni@0";

               endpoint2 = "dpmac@5";

          };

        

           connection@4 {

               endpoint1 = "dpni@1";

               endpoint2 = "dpmac@4";

          };

};

 

When I upload the dtb file onto the board, I only see interface ni1.

 

Can someone please explain how to do this properly?

Outcomes