To boot a Layerscape board with an empty DPL file:
Create an empty DPL file, content.dts. For example:
/dts-v1/;
/ {
dpl-version = <0x0000000a>;
containers {
dprc@1 {
compatible = "fsl,dprc";
parent = "none";
options = "DPRC_CFG_OPT_SPAWN_ALLOWED", "DPRC_CFG_OPT_ALLOC_ALLOWED", "DPRC_CFG_OPT_IRQ_CFG_ALLOWED";
objects {
obj_set@dpmcp {
type = "dpmcp";
ids = <0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd>;
};
};
};
};
objects {
dpmcp@1 {
compatible = "fsl,dpmcp";
};
dpmcp@2 {
compatible = "fsl,dpmcp";
};
dpmcp@3 {
compatible = "fsl,dpmcp";
};
dpmcp@4 {
compatible = "fsl,dpmcp";
};
dpmcp@5 {
compatible = "fsl,dpmcp";
};
dpmcp@6 {
compatible = "fsl,dpmcp";
};
dpmcp@7 {
compatible = "fsl,dpmcp";
};
dpmcp@8 {
compatible = "fsl,dpmcp";
};
dpmcp@9 {
compatible = "fsl,dpmcp";
};
dpmcp@10 {
compatible = "fsl,dpmcp";
};
dpmcp@11 {
compatible = "fsl,dpmcp";
};
dpmcp@12 {
compatible = "fsl,dpmcp";
};
dpmcp@13 {
compatible = "fsl,dpmcp";
};
dpmcp@14 {
compatible = "fsl,dpmcp";
};
dpmcp@15 {
compatible = "fsl,dpmcp";
};
dpmcp@16 {
compatible = "fsl,dpmcp";
};
dpmcp@17 {
compatible = "fsl,dpmcp";
};
dpmcp@18 {
compatible = "fsl,dpmcp";
};
dpmcp@19 {
compatible = "fsl,dpmcp";
};
};
};
Note: There is no network object capable of receiving Ethernet frames in the DPL file. You can create more dpmcps if the number of objects that will be created dynamically is high.
dtc -I dts -O dtb -o dpl.dtb content.dts
tftp 0x80000000 dpl.dtb; i2c mw 66 50 20;sf probe; sf erase 0x00D00000 +$filesize && sf write 0x80000000 0x00D00000 $filesize
restool dpmac create --mac-id=3
restool dprc assign dprc.1 --object=dpmac.3 --plugged=1
ls-addni dpmac.3
restool dprc generate-dpl dprc.1 > content_new.dts