Hi,
I'm currently using DPDK applications on a LX2160ARDB board.The LSDK version the board is 21.08 and the MC firmware version is 10.28.1.
To configure the ports to be used with DPDK, I have followed the guidelines provided in the LSDK user guide : https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev21.08.pdf
For the moment I am able to configure the ports dynamically by using the dynamic_dpl.sh script.
I would now like to be able to freeze this configuration by using a DPL file. For that I generate a custom DPL file by using the restool generate-dpl command (after configuring the ports dynamically). Up to this point everything works fine.
I then try to flash the generated DPL file to the board following the instructions provided on your website : https://community.nxp.com/t5/Layerscape-Knowledge-Base/LX2160ARDB-How-to-update-MC-firmware-DPC-and-...
However, after resetting the board it seems that the modifications are not taken into account (ls-listni doesn't show the DPNIs configured to be used with DPDK) and when I reboot the board again the boot stops and I have to flash another DPL file in order for the board to work.
Could you help me? Is there something I'm doing wrong ?
Steps to reproduce :
- Use dynamic_dpl.sh scripts to configure the ports : ./dynamic_dpl.sh dpmac.3 dpmac.4
- Use restool generate-dpl command to generate a DPL file : restool dprc generate-dpl dprc.1 > dpl-file.dts
- Copy the .dts file to a Linux Host machine and run dtc tool to generate .dtb file : dtc -I dts -O dtb dpl-file.dts -o dpl-file.dtb
- Reboot the board and access U-boot command prompt
- Flash the .dtb file using a tftp server
- Reset the board
Nicolas
Found the answer through parcing the dpaa2-eth driver from https://github.com/nxp-qoriq/linux with git tools:
/*
Date: Fri Oct 20 22:46:18 2023 +0300
dpaa2-mac: probe standalone DPMAC objects
In upstream, at the moment, we only support DPMAC objects which are
connected to DPNIs driver by the Linux kernel. To close the gap (aka
driver any other DPMAC object in TYPE_PHY) we build a standalone
driver around the dpaa2-mac.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
*/
I have the same issue, but my configuration is more complex with use of dpdmux instances.
Doing restool generate custom dpl.
Place it to mc_utils project.
Generate firmware*.img
And board stop boot when kernel initializes dpaa2 resources.
In generated dpl dpni for dpdk for example has next parameters
dpni@6 {
compatible = "fsl,dpni";
type = "DPNI_TYPE_NIC";
/* Unrecognized options found... */
options = "DPNI_OPT_HAS_KEY_MASKING";
num_queues = <16>;
num_tcs = <8>;
num_cgs = <24>;
mac_filter_entries = <16>;
vlan_filter_entries = <16>;
fs_entries = <1>;
qos_entries = <64>;
dist_key_size = <56>;
};
Comment inside looks like alarm...
Would you try LSDK21.08 4.1.13.6 Bringing up DPAA2 network interfaces
Hello,
First of all thank you for your answer.
As you said, I tried bringing up the network interfaces (with ls-addni), generating a DPL file with the config and then flashing it to the board. It actually worked.
The problem might come from the dynamic_dpl script.
Nicolas