I have a custom board with a 8Mplus Toradex SOM.
I was looking at the file:
arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts
To try and copy the relevant parts to enable the RPMSG drivers on the SOM
When I copy this section over to my custom device tree:
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
m4_reserved: m4@0x80000000 {
no-map;
reg = <0 0x80000000 0 0x1000000>;
};
vdev0vring0: vdev0vring0@55000000 {
compatible = "shared-dma-pool";
reg = <0 0x55000000 0 0x8000>;
no-map;
};
vdev0vring1: vdev0vring1@55008000 {
compatible = "shared-dma-pool";
reg = <0 0x55008000 0 0x8000>;
no-map;
};
vdevbuffer: vdevbuffer@55400000 {
compatible = "shared-dma-pool";
reg = <0 0x55400000 0 0x100000>;
no-map;
};
rsc-table {
reg = <0 0x550ff000 0 0x1000>;
no-map;
};
audio_reserved: audio@0x81000000 {
compatible = "shared-dma-pool";
no-map;
reg = <0 0x81000000 0 0x10000000>;
};
};
The board fails to boot and I see this message in the Uboot log:
## Flattened Device Tree blob at 43000000
Booting using the fdt blob at 0x43000000
ERROR: reserving fdt memory region failed (addr=550ff000 size=1000)
ERROR: Failed to allocate 0x38000 bytes below 0x100000000.
device tree - allocation error
FDT creation failed! hanging...### ERROR ### Please RESET the board ###
I know this is a Toradex module (and I'm posting this on their forum as well) but this looks like it is more a problem with the NXP device tree.
I'm curious why the nodes related to the RPMSG on the imx8mplus-evk-rpmsg.dts still have the names as "m4" instead of a m7, since the co-processor on a imx8mplus is a M7 not a M4.
Any help will greatly appreciated, thanks!
Hello,
I don't really know much about the toradex HW/SW so it is good that you're asking in their communities as well.
Regarding dts, yes you're right even if the co-processor is an M7 I think team have it named as M4 for simplicity since it is the first release for this processor, so this may be fixed in future releases.
Now regarding your error, I don't think that the dts is wrong since our SW is meant to work with our HW, so to say it is done to test functionalities in our EVK.
If it is going to be used for a custom/different design, it'll needs to be modified accordingly to fit your configuration.
Bet regards,
Aldo.