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?
I'd really appreciate some input from NXP on this. The documentation contains no examples of anything more than a single interface being configured.