Static DPNI definition LS2085ARDB

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Static DPNI definition LS2085ARDB

965 Views
thomasculverhou
Contributor III

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?

Labels (1)
0 Kudos
1 Reply

706 Views
thomasculverhou
Contributor III

I'd really appreciate some input from NXP on this. The documentation contains no examples of anything more than a single interface being configured.

0 Kudos