I am using imx-p9.0.0_2.0.0-ga version of IMX8QM MEK board. I want to enable the FLEXCAN resource . But in this version of code it is saying CAN resource is not owned. I am trying to enable in u-boot changing status is "okay" but it is disabling the resource by reverting back the status. It is saying "Disabled CAN ,resource id not owned". I have tried to enable this in IMX8QXP MEK board also with imx-p9.0.0_2.0.0-ga latest version but in this also it is saying "resource not owned".
Kindly help me How to own Flexcan resource in this version imx-p9.0.0_2.0.0-ga as we need to use the latest version of code.
FYI In previous version imx-p9.0.0_1.0.0-ga this CAN resource is enabled by default.
I have tried to use mx8qm.scfw.tcm.bin binary file of imx-p9.0.0_1.0.0-ga version of code with my version of code imx-p9.0.0_2.0.0-ga by replacing my mx8qm.scfw.tcm.bin file. But it is not booting with my code. I have read somewhere to change this scfw.bin file flexcan would work . So i have tried with working version of imx-p9.0.0_1.0.0-ga binary file. I am getting stuck at u-boot time.
Can anyone suggest or tell how this issue is resolved?
Can anyone tell how the flexcan resource is owned?
Hi,
We found this one and changed the settings and it worked .
Thanks for your support .
how to build scfw_tcm.bin ? thanks!
It has given on nxp site you can google it. or follow this link:-
modified as flows:
rm_set_resource_movable(pt_boot, SC_R_CAN_0, SC_R_CAN_2, SC_FALSE);
rm_set_resource_movable(pt_boot, SC_P_FLEXCAN0_RX, SC_P_FLEXCAN2_TX, SC_TRUE);
build scfw_tcm.bin and flash to emmc, I find that ifconfig command has can0-can2 result. but can send fail!
Is there anything else that needs to be modified ? Thanks.
You need to delete the lines marking the resource AND pads as movable, OR change it to not mark it as movable, although that step is redundant since all pads/resources are marked as not movable at the top of the function:
/* Mark all resources as not movable */
BRD_ERR(rm_set_resource_movable(pt_boot, SC_R_ALL, SC_R_ALL,
SC_FALSE));
BRD_ERR(rm_set_pad_movable(pt_boot, SC_P_ALL, SC_P_ALL,
SC_FALSE));
I have updated the following document with an example doing this:
https://community.nxp.com/docs/DOC-341481
Hello Pooja,
I guess FlexCAN resource was moved in SCFW since imx-p9.0.0_1.0.0-ga (L4.14.78 kernel).
Could you please check if the FlexCAN node is enabled (status = "okay") in kernel?
If so, could you please try setting the CAN resource as non-movable in SCFW source code and building it again?
Change:
rm_set_resource_movable(pt_boot, SC_R_CAN_0, SC_R_CAN_2, SC_TRUE);
To:
rm_set_resource_movable(pt_boot, SC_R_CAN_0, SC_R_CAN_2, SC_FALSE);
This line sets the CAN resources as non-movable so this won't be assigned to M4 owner.
Let me know if this works.
@@Bio_TICFSL
Hi,
I think, for the working of CAN we need i2c@3b230000 also.
But it is disabled from the bootloader. Log as follows
Disable i2c@3b230000, resource id 308 not owned.
Could someone please help to get it enabled in the linux partition?
Hi,
I have tried to use mx8qm.scfw.tcm.bin binary file of imx-p9.0.0_1.0.0-ga version of code with my version of code imx-p9.0.0_2.0.0-ga by replacing my mx8qm.scfw.tcm.bin file. But it is not booting with my code.
Can anyone please help me how to resolve this issue? How i can use other scfw.bin file with my code?
Please reply as soon as poosilobe.