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?
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.