Our imx8qm application requires that an M4 core uses the LSIO GPT_0 timer together with its CAPTURE input. I'm currently unable to assign this timer to an M4 partition. It's the only peripheral in this case as I've been able to get hold of almost any other resource either at boot-time or run-time.
After some investigation (rm_dump and others), I've discovered that the GPT_0 (but not its pads) is assigned to the ATF partition (ID 1) very early in the boot process. By very early, I mean earlier than I've been able to trace. I've found an inline comment basically saying that this GPT_0 is reserved "for use by Linux".
More investigation: the GPT_0 is declared in the Linux device tree, but I've been unable to identify which specific feature uses it. As far as I can tell, the timer is reserved but left alone.
So this raises a series of questions:
- what specific Linux feature uses GPT_0?
- when/where is GPT_0 assigned to partition 1 (ATF)?
- where is the best place to modify this behavior and be let GPT_0 be used by an M4?
There are other unused timers in our application, e.g. GPT_2 which could possibly be swapped with GPT_0 if a timer is really needed somewhere.
Thank you for shedding some light on this issue which is critical to our application.