We are facing an issue with LPSPI drivers. The issue pop up when microcontroller is communicating to SBC via LPSPI in bootloader. We are using simple LPSPI drivers from S32DS Project. These drivers are working perfectly fine with S32K142, but its not working for S32K146.
It stuck at clearing TDF flag in LPSPI0_transmit_16bits(Normal_Mode) function.
Below is sequence of execution.
LPSPI0_transmit_16bits(ICR_Wakeup_Control);/*ICR Wake up control */
LPSPI0_16bits_read = LPSPI0_receive_16bits();
delay(1000);
LPSPI0_transmit_16bits(ISR_Clear_Int );/*ISR Clear Interrupts*/
LPSPI0_16bits_read = LPSPI0_receive_16bits();
delay(1000); // 1 ms delay
LPSPI0_transmit_16bits(Normal_Mode);/* Normal mode*/
LPSPI0_16bits_read = LPSPI0_receive_16bits();
delay(1000); // 1 ms delay
LPSPI0_transmit_16bits(WD_Refresh);/*Watchdog on - Timeout Mode - 1024 ms*/
LPSPI0_16bits_read = LPSPI0_receive_16bits();
The internal watchdog refresh at 20ms and external watchdog at 128ms.
It reset the microcontroller in 8ms after startup. After that it jumps to application successfully and then everything is working as expected. This is happening for all the cases Power ON Reset or sleep-wake up.
Can you please tell us what could be an issue?
Thanks You!
Sandip