Hi NXP Experts,
I am working with a custom i.MX93 evb using SDK v25.06.00. I am running the lptmr_timer example on the Cortex-M33 core. (debugging and coding using j link)
The Issue: The M33 application functions perfectly when I stop at the U-Boot prompt. I can see the LPTMR interrupts firing as expected:
Low Power Timer Example
LPTMR interrupt No.1
LPTMR interrupt No.2
...
However, as soon as I boot the Linux Kernel (A55), the LPTMR interrupts stop firing on the M33 side. It appears the kernel is interfering with the timer’s resources or clock gate. (Kernel dts attached)
Environment:
Relevant Device Tree Observations: My current DTS does not explicitly enable &lptimer1 or &lptimer2, but it does include the standard imx93.dtsi. I suspect the Linux Clock Framework is gating the LPTMR clock because it sees no active consumer in the A55 domain.
Questions:
Is there a specific Resource Domain Controller (RDC) configuration required to "shield" the LPTMR from the A55?
How should I modify the Linux DTS to ensure the kernel doesn't gate the clocks used by the M33?
Is clk_ignore_unused the recommended approach, or is there a cleaner way to reserve this peripheral for the M33?
Thanks in advance!